BUGKU 备份是一个好习惯
题目描述有备份,可以用dirsearch扫描后台或者直接猜备份是index.php.bak
得到备份php代码进行分析
$_SERVER[“REQUEST_URI”]函数
预定义服务器变量的一种,所有$_SERVER开头的都叫做预定义服务器变量 REQUEST_URI的作用是取得当前URI,也就是除域名外后面的完整的地址路径
例如。当前页面是https://editor.youkuaiyun.com/md?not_checkout=1&articleId=128101793
echo $_SERVER[“REQUEST_URI”];
结果就为:md?not_checkout=1&articleId=128101793
strstr函数
substr函数
str_replace函数
parse_str函数 讲字符传解析为变量
所有该题的步骤为
1.取域名后的字符串
2.删掉?
3.替换字符串中的key为空
4.将字符串中的内容变为变量
如URL/?akey=1
得到$a=1
该题后续需要$ key1和$key2进行md5判断,需要传入key字符,可以用多重构造,如:kkeyey、kekeyy、kkeyekeyy等,通过str_replace函数让key变成空就能得到key了。
后续的代码是md5绕过,因为是弱判断,所有可以用数组绕过或者0e绕过
如
构造/?kkeyey[]1=1%kkeyey2[]=2即可绕过检测获得flag