开启靶机 =》 访问靶机链接
得到如下页面
检查页面源代码
尝试在url后面拼接IP地址,发现有回显
接着在后面拼接其他命令
dir没有被执行,初步判断系统可能为Linux
用 ls 查看文件可执行,确定系统为Linux系统
同时,从返回结果看,我们要找的flag文件就在眼前
直接查看flag.php,但不允许。这里尝试对空格过滤绕过 (%20绕不过)
将%20再进行url编码一次也不能绕过空格过滤
于是查Linux绕过空格过滤的方法
${IFS} :在linux下,${IFS}是分隔符的意思,所以可以有${IFS}进行空格的替代。
$IFS$9 :$起截断作用,9为当前shell进程的第九个参数,始终为空字符串,所以同样能代替空字符串进行分割。
<
<>
{命令,命令}
用{,}但是同样没绕过……
符号都不得,那试试其他两种
${IFS} 也被禁了
$IFS$9可以绕过 ,但是又出现了新的问题,过滤了 flag
使用反引号``(优先级高的特性),查看 flag.php
可以看到并没有绕过对flag关键字的过滤;换成index,没有对index.php进行过滤但也没有出现内容
右键查看是不是php文件内容被注释了
运行ls命令看一下有没有被注释的内容
除了执行查询IP的结果,还有一些PHP代码
右键查看源代码看有无被注释内容
发现有flag的内容但不直接显示在页面上
提交flag