Bugku

it2023-09-19  66

根据题目提示,就可以想到是备份文件泄露,通过后台扫描得到了一个index.php.bak的可下载文件,打开看到了index首页的源代码

<?php 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"; } ?> 第一个$str:截取url中从?到结束的内容 第二个$str:将截取到的内容再次进行截取,从1的位置开始,目的是要去掉“?”第三个$str:对第二步处理后的str再次进行处理,将str中的key替换为空parse_str() 由于str_replace函数会对key进行过滤,所以我们可以进行双写绕过 payload:http://target/web16/?kkeyey1[]=s878926199a&kekeyy2[]=s155964671a MD5绕过可以看这里:MD5绕过
最新回复(0)