打开链接,发现页面只有一个提示
我们在浏览器地址栏输入IP地址进行测试,有结果回显
ttl值为56,判断为linux系统,利用ls命令来尝试读取文件
发现flag.php,flag应该就在这里面,我们打开这个文件试试,结果报错,space可以理解为空格的意思,应该是空格被代码检查后不被放行
从网上了解到有一些方法可以过滤掉空格,我这里试了几个,发现$IFS$1可以成功过滤掉
$IFS
${IFS}
$IFS$1 //$1改成$加其他数字貌似都行
<
<>
{cat,flag.php} //用逗号实现了空格功能
%20
%09
但是过滤成功后还是有报错提示,提示信息改变,跟flag有关,好像还会过滤flag这个关键词
不确定,来打开index.php文件试一下,发现可以正常打开,并在其中发现了逻辑代码来做验证
分析代码可知,会对flag词做判断,存在则不通过,想办法绕过
可以在地址栏定义一个变量,然后调用这个变量来拼接成flag,如下图,定义一个变量b,值为lag,然后在后面通过 $ 符号进行引用
(不知道为什么,我定义变量b的值为la的时候再去拼接就没用)
但是我们并没有看到页面中有关于flag.php的内容,右键审查元素发现在这里躲着呢,真坑啊