双剑破天门:攻防世界Web题解之独孤九剑心法(三)
免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任
**本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注**
目录
一:攻防世界web-Fileinclude
二:攻防世界web-Easyupload
三:总结
一:攻防世界web-Fileinclude
打开为如下图所示
Flag在flag.php
我们查看源码发现如下
代码审计如下
所以根据代码审计结果我们得知只有cookie中有相应的语言设置才能得到flag
但是检查发现没有cookie所以我们需要自行利用bp传cookie
构建payload=cookie:language=flag发现页面无输出,所以还是有问题
结合题目fileinclude我们可以试一试php伪协议
Payload:cookie:language=php://filter/read=convert.base64-encode/resource=flag
这里路径为flag而不是flag.php因为根据源代码知$lan=flag 在拼接后面.php才对
成功得到flag
二:攻防世界web-Easyupload
打开为文件上传
我们随便上传一个木马文件发现被干掉所以这里应该是过滤了php
所以我们利用fastcg中.user.ini特性进行任意命令执行
参考文章:.user.ini文件构成的PHP后门 - phith0n
添加如下内容
GIF89a
auto_prepend_file=a.jpg
然后利用bp抓包将这个文件上传记住要将Content-Type: application/octet-stream修改为
Content-Type: image/jpg
上传成功
然后将我们准备好的图片马修改为a.jpg我们试一试图片马看看能不能上传,我们现将php改掉
如果你没有图片马可以自行创建一个内容如下
GIF89a
修改后如下
上传成功,我们利用蚁剑连接
连接成功
成功拿到flag
所以,我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell。
三:总结
PHP 伪协议是一组用于访问不同类型资源、执行代码等操作的特殊协议,可在文件包含等场景被利用;而 FastCGI 中的.user.ini 特性允许用户在特定目录下配置 PHP 运行时设置,若配置不当可能引发安全风险,被攻击者利用来执行恶意代码。
(需要源代码及各类资料联系博主免费领取!!还希望多多关注点赞支持,你的支持就是我的最大动力!!!)