前言
本题知识点:命令执行漏洞
WP
打开题目页面,提示很明显,那就先随便 ping 个 IP 地址看看效果
可以看到系统命令被正常执行了,有正确回显
接下来尝试一下是否存在命令执行漏洞,首先用 ls 试一试,看看有没有提示 flag 所在的位置
发现确实存在着命令执行,并且得到了新的线索
先试着直接用 cat 命令读取 flag.php 文件的内容
题目报了个错,(初看没太明白这些提示,后来结合其他的报错,意识到许多字符被过滤了,Like 空格)
既然题目过滤了空格,那就用绕过(使用 $IFS$9
代替空格符)试试呗
PS:命令执行漏洞,绕过过滤姿势 传送门
。。。既然不让直接读 flag,那就试试访问另外一个提示文件 ‘index.php’,看看有没有什么另外的线索
题目过滤的字段一目了然,可以看到,无法直接访问 flag.php 文件的原因在于 flag 字段也被过滤了,那就接着绕过呗,绕过姿势仍可参考前文所附 连接
然后就到了这题最坑的地方,他把 flag 放在了网页源码里面。。。页面又没啥明显的提示,这回显一度使我怀疑是不是哪出错了,不会没 cat 上吧。。。
PS:
看完 WP,学到了另外一种解法,即使用 内联执行
来绕过
构造 Payload 如下:
...?ip=127.0.0.1;cat$IFS$9`ls`
使用内联执行会将 `` 内的输出作为前面命令的输入,当我们输入上述 payload 时,效果等同于 cat flag.php;cat index.php