[GXYCTF2019]StrongestMind
打开页面,提示我们计算1000次答案给flag
我们直接上脚本
1 |
|
得到flag.
打开页面,提示我们计算1000次答案给flag
我们直接上脚本
1 |
|
得到flag.
我们打开页面,发现好大一串代码,我们进行代码审计
1 | <?php |
我们可以发现代码最后要进行命令执行,但对我们的参数内容进行了过滤,所以为无字母数字rce,我们可以用取反、自增、异或来构造我们所需代码,但由于长度进行了限制,我们不能通过取反和自增来进行命令执行,我们只能用异或
我们进行代码审计
1 | <?php |
代码要求我们输入json格式的数据,然后进行过滤,将结果传入file_get_contents进行读取
我们来看is_vaild方法,它将一大堆伪协议进行了过滤
我们知道json_decode会将\uxxx
进行转义,这样就可以绕过is_valid检测