Bugku web 備份是個好習慣

2021-10-07 09:07:13 字數 4450 閱讀 4427

點開後原始碼

<?php

/** * created by phpstorm.

* user: norse

* date: 2017/8/6

* time: 20:22

*/include_once

"flag.php"

;//包含檔案

ini_set

("display_errors",0

);//報錯不顯示

$str

=strstr

($_server

['request_uri'],

'?')

;//從問號開始返回給str

$str

=substr

($str,1

);//返回?後面的值

$str

=str_replace

('key',''

,$str);

//將key值換成空白

parse_str

($str);

//解析str

echo

md5(

$key1);

//將key1 md5加密輸出

echo

md5(

$key2);

//將key2 md5 加密輸出if(

md5(

$key1)==

md5(

$key2)&&

$key1

!==$key2

)?>

md5 collision之記錄一些md5值

「magic hash」的php漏洞可以使得攻擊者非法獲取使用者的賬號資訊。

漏洞原因:

php以一種特定的方式處理被雜湊的字串,攻擊者可以利用其從中嘗試並可能獲取密碼,繞過登入認證系統和其它執行在php雜湊比較之上的函式。

漏洞描述:

php在處理雜湊字串時,會利用」!=」或」==」來對雜湊值進行比較,它把每乙個以」0e」開頭的雜湊值都解釋為0,所以如果兩個不同的密碼經過雜湊以後,其雜湊值都是以」0e」開頭的,那麼php將會認為他們相同,都是0。

攻擊者可以利用這一漏洞,通過輸入乙個經過雜湊後以」0e」開頭的字串,即會被php解釋為0,如果資料庫中存在這種雜湊值以」0e」開頭的密碼的話,他就可以以這個使用者的身份登入進去,儘管並沒有真正的密碼。

php在處理雜湊字串時,會利用」!=」或」==」來對雜湊值進行比較,它把每乙個以」0e」開頭的雜湊值都解釋為0,所以如果兩個不同的密碼經過雜湊以後,其雜湊值都是以」0e」開頭的,那麼php將會認為他們相同,都是0。

記錄一些md5值:

純數字類:

s878926199a

0e545993274517709034328855841020

s155964671a

0e342768416822451524974117254469

s214587387a

0e848240448830537924465865611904

s214587387a

0e848240448830537924465865611904

s878926199a

0e545993274517709034328855841020

s1091221200a

0e940624217856561557816327384675

s1885207154a

0e509367213418206700842008763514

s1502113478a

0e861580163291561247404381396064

s1885207154a

0e509367213418206700842008763514

s1836677006a

0e481036490867661113260034900752

s155964671a

0e342768416822451524974117254469

s1184209335a

0e072485820392773389523109082030

s1665632922a

0e731198061491163073197128363787

s1502113478a

0e861580163291561247404381396064

s1836677006a

0e481036490867661113260034900752

s1091221200a

0e940624217856561557816327384675

s155964671a

0e342768416822451524974117254469

s1502113478a

0e861580163291561247404381396064

s155964671a

0e342768416822451524974117254469

s1665632922a

0e731198061491163073197128363787

s155964671a

0e342768416822451524974117254469

s1091221200a

0e940624217856561557816327384675

s1836677006a

0e481036490867661113260034900752

s1885207154a

0e509367213418206700842008763514

s532378020a

0e220463095855511507588041205815

s878926199a

0e545993274517709034328855841020

s1091221200a

0e940624217856561557816327384675

s214587387a

0e848240448830537924465865611904

s1502113478a

0e861580163291561247404381396064

s1091221200a

0e940624217856561557816327384675

s1665632922a

0e731198061491163073197128363787

s1885207154a

0e509367213418206700842008763514

s1836677006a

0e481036490867661113260034900752

s1665632922a

0e731198061491163073197128363787

s878926199a

0e545993274517709034328855841020

大寫字母類:

qlthndt

0e405967825401955372549139051580

qnkcdzo

0e830400451993494058024219903391

eeizdoi

0e782601363539291779881938479162

tufepmc

0e839407194569345277863905212547

utipezq

0e382098788231234954670291303879

uyxfloi

0e552539585246568817348686838809

ihkfrns

0e256160682445802696926137988570

pjnpdwy

0e291529052894702774557631701704

abjihvy

0e755264355178451322893275696586

dqwrasx

0e742373665639232907775599582643

dyaxwca

0e424759758842488633464374063001

geghbxl

0e248776895502908863709684713578

gghmvoe

0e362766013028313274586933780773

gzeclqz

0e537612333747236407713628225676

nwwkitq

0e763082070976038347657360817689

noopcjf

0e818888003657176127862245791911

mauxxqc

0e478478466848439040434801845361

mmhuwuv

0e701732711630150438129209816536

md5知識補充處

Bugku web 備份是個好習慣

開啟題目鏈結,沒有發現什麼線索,想到題目名稱 備份 考慮到一般備份的字尾為.bak,於是訪問 訪問後獲得網頁原始碼 created by phpstorm.user norse date 2017 8 6 time 20 22 include once flag.php ini set displa...

Bugku web 備份是個好習慣wireUp

備份是個好習慣 created by phpstorm.user norse date 2017 8 6 time 20 22 include once flag.php ini set display errors 0 str strstr server request uri str subst...

新bugku web16 備份是個好習慣

1.備份是關鍵字,我們可以用御劍掃掃 得到 開啟之後由於題設備份檔案,故加上.bak swp錯誤 之後得到乙個檔案,開啟之後發現 科學計數法是 e 要使兩個數的值相等,以0e開頭的md5值可以繞過限制。構造payload kkeyey1 qnkcdzo kkeyey2 240610708 法二 漏洞...