发帖
 找回密码
 立即注册
搜索
0 0

WEB bp官方靶场File upload vulnerabilities 文件上传漏洞3

CTF练习 863 0 2025-8-20 12:33:34

第三关 通过路径遍历上传 Web shell

这一关就是尝试不同目录遍历方式绕过文件上传的限制,上传恶意php文件,获取到用户敏感信息

提示:1、靶场包含易受攻击的图片上传功能

2、服务器配置为阻止执行用户提供的文件,但可以通过利用**次要漏洞绕过此限制**。

3、上传一个基本的 PHP Web shell 并使用它来窃取文件 /home/carlos/secret 的内容

具体操作:

1、正常登录用户,上传头像图片

2、显示:头像上传成功

然后返回到我的账户,就可以查看上传的图片

3、接下来尝试上传恶意php文件

创建一个名为 exploit.php 的文件,其中包含用于获取 Carlos 密钥内容的脚本:

<?php echo file_get_contents('/home/carlos/secret'); ?>

4、没有阻止我上传恶意文件,文件上传成功

5、但是访问恶意文件路径,返回的是php文件的文本内容

上面我上传恶意文件成功,但是打开访问没有获取到用户的秘钥,返回的是PHP 文件的内容作为纯文本返回

这怎么办呢?

6、那么换一种上传方法,先找到POST /my-account/avatar的提交文件的数据包,发往repeater

先尝试使用普通目录遍历的方式

改成username="../exploit.php"

显示返回200ok,上传成功,说明服务器正在从文件名中剥离目录序列

此时访问恶意文件路径是:未发现页面

那么在再尝试换一种方式,先编码再进行目录遍历上传恶意文件

通过对正斜杠 (/字符进行编码的 URL 对目录遍历序列进行混淆处理

filename="..%2fexploit.php"

上传成功 说明服务器正在对文件名进行解码

然后再去浏览器右键点击上传的文件,选择打开文件查看,或者直接复制路径,访问恶意文件

/files/exploit.php
​
获取的用户秘钥:
wHh3TTeAs0Yjy1tdrjPiObMxzurlcGhr

然后提交答案——用户的秘钥

如图:靶场过关

──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回