欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Bugku_备份是个好习惯

程序员文章站 2022-03-04 18:21:28
...

Bugku_备份是个好习惯
根据题目提示,就可以想到是备份文件泄露,通过后台扫描得到了一个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中从?到结束的内容
    Bugku_备份是个好习惯
  • 第二个$str:将截取到的内容再次进行截取,从1的位置开始,目的是要去掉“?”
  • 第三个$str:对第二步处理后的str再次进行处理,将str中的key替换为空
  • parse_str()
    Bugku_备份是个好习惯
    由于str_replace函数会对key进行过滤,所以我们可以进行双写绕过
    payload:http://target/web16/?kkeyey1[]=s878926199a&kekeyy2[]=s155964671a
    MD5绕过可以看这里:MD5绕过