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

備份是個好習慣

b16 clas pla != over 相等 span font lan

備份是個好習慣

http://123.206.87.240:8002/web16/

技術分享圖片

通過提示 關鍵詞 ’備份‘ 可以聯想到 → 備份文件

備份文件一般都是.bak結尾的

用工具掃一下

這裏推薦大佬的工具 yihangwang/SourceLeakHacker

https://git.coding.net/yihangwang/SourceLeakHacker.git

技術分享圖片

可以看到index.php.bak

訪問一下試試

技術分享圖片

有一個bak備份文件 ,不多解釋了,下載後打開

 1 <?php
2 /** 3 * Created by PhpStorm. 4 * User: Norse 5 * Date: 2017/8/6 6 * Time: 20:22 7 */ 8 9 include_once "flag.php"; 10 ini_set("display_errors", 0); 11 $str = strstr($_SERVER[‘REQUEST_URI‘], ‘?‘); 12 $str = substr($str,1); 13 $str = str_replace(‘key‘,‘‘,$str); 14 parse_str($str); 15
echo md5($key1); 16 17 echo md5($key2); 18 if(md5($key1) == md5($key2) && $key1 !== $key2){ 19 echo $flag."取得flag"; 20 } 21 ?>

技術分享圖片

11行strstr獲得URI從‘?‘往後(包括‘?‘)的字符串

12行去掉‘?‘

13行把字符串中的‘key‘替換為空可以使用類似這樣的語句:kkeyey 處理

14行parse_str把字符串解析到變量中

end 最後需要得到key1,key2不相等而二者md5相等,可以利用php弱類型比較繞過

https://stackoverflow.com/questions/22140204/why-md5240610708-is-equal-to-md5qnkcdzo

構造payload:?kkeyey1=QNKCDZO&kkeyey2=240610708

wp :

https://blog.csdn.net/xuchen16/article/details/82756559

https://blog.csdn.net/eustiasora/article/details/79149411

備份是個好習慣