
打开可以看到很明显的提示,传参就是ip=,尝试传入/?ip=127.0.0.1,有回显,说明这是命令执行注入了,先用ls看看有什么文件
得到了一个f语言的回显,很明显空格会被过滤,所以我们尝试去掉空格
成功,下一步就开始考虑如何看到flag.php里面的内容,首先的问题就是如何绕过空格过滤,这里整理一下常见的空格过滤方法
$IFS
${IFS}
$IFS$1 //1改成1改成1改成加其他数字都可以
<
<>
{cat,flag.php} //用逗号实现了空格功能
%20
%09
尝试最后使用$IFS和$IFS$1都可以成功绕过,以此来cat一下/?ip=127.0.0.1|cat$IFSflag.php
emm看起来不太友好,看来flag关键词也被过滤了,那就先试试看index.php,使用IFS没有回显,尝试使用IFS没有回显,尝试使用IFS没有回显,尝试使用IFS$1,成功得到回显
现在思路清晰了,接下来就是考虑如何显示flag.php的问题了,我们可以尝试使用反引号内联执行的做法,linux下反引号里面包含的就是需要执行的系统命令,而反引号里面的系统命令会先执行,成功执行后将结果传递给调用它的命令<br />`/?ip=127.0.0.1;cat$IFS`ls 
这时候查看源代码即可得到最终的flag
本文探讨了一种通过命令执行注入绕过空格过滤的技术,展示了如何利用$IFS和反引号技巧查看flag.php内容的过程,关键在于理解并利用Linux系统命令的执行特性。
482

被折叠的 条评论
为什么被折叠?



