1. 程式人生 > >Bugku:備份是個好習慣

Bugku:備份是個好習慣

這題對於我這小白來說,有點難想,這裡做一下記錄:

根據題目提示:備份是個好習慣,備份檔案的副檔名為.bak,嘗試輸入http://123.206.87.240:8002/web16/index.php.bak,成功得到檔案index.php.bak,內容如下:

$str = strstr($_SERVER['REQUEST_URI'], '?'):$str=當前url第一次出現?之後的內容。

$str = substr($str,1):去掉'?'

$str = str_replace('key','',$str):將str變數中出現的key替換成‘’(空字串)

由parse_str($str)結合下面md5($key1)、md5($key2)得出,$str為get請求的引數內容,$str中替換掉‘key’之後分別為key1、key2,由此可以構造一下替換前的鍵名分別為:kkeyey1、kkeyey2(這樣替換掉key之後就是key1、key2)

測試一下:

驗證成功,要得到flag,則md5($key1)==md5($key2),但$key1!==$key2,在PHP中,md5()是不能處理陣列的,md5(陣列)會返回null,所以傳送陣列kkeyey1[]={123}、kkeyey2[]={456},即可構造出md5(陣列)=md5(陣列)=null。