CTF之Bugku 備份是個好習慣

原理:御劍掃描後臺網址,分析代碼,提交的url會過濾key字符,構造kkeyey=參數;使md5字符不同,值相同,MD5繞過


在這裏插入圖片描述
發現有個index.php.bak,打開是下載一個東西

<?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 = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);

echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){
    echo $flag."取得flag";
}
?>

分析代碼
strstr()將請求url中‘?’以後的字符賦值給str
substr()將下標爲1的重新賦值給str
str_replace()把str中的key用空代替
總的來說就是替換掉key
最後需要繞過md5,加密前的MD5不同,加密後相同

構造url
http://123.206.87.240:8002/web16/index.php?kkeyey1=QNKCDZO&kkeyey2=s878926199a
拿到flag

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章