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

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

CTF练习 924 0 2025-8-20 16:32:09

第四关 通过扩展黑名单绕过 Web shell 上传

这一关就是在上传功能点不允许上传php类型文件,那么就通过扩展文件后缀名绕过服务端的限制,从而实现上传恶意文件,获取敏感信息

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

2、某些文件扩展名被列入黑名单,但由于此黑名单配置中的根本缺陷,可以绕过此防御。

3、要解决该实验室,请上传一个基本的 PHP Web shell,然后使用它来窃取文件 /home/carlos/secret 的内容。

具体操作:

1、正常登录,然后上传头像图片

2、上传头像成功

然后返回我的账户进行查看

以上就是一个正常上传文件的流程

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

4、显示:上传错误,该响应指示不允许上传扩展名为 .php 的文件

不允许上传php文件怎么办呢?

5、先找到用于提交文件上传的 POST /my-account/avatar 请求包

然后找到与您的 PHP 文件相关的正文部分。进行以下更改:

1、将 filename 参数的值更改为 .htaccess
​
2、将 Content-Type 标头的值更改为 text/plain。
​
​
3、将文件的内容(您的 PHP 有效负载)替换为以下 Apache 指令:
​
AddType application/x-httpd-php .l33t
​
这个是一条 Apache 服务器的配置指令,用于告诉服务器如何处理特定扩展名的文件。

如图:改了后缀名,.htaccess文件上传成功

知道了改文件后缀名就可以成功上传文件,那么我这里把恶意文件改成:

将 filename 参数的值从 exploit.php 更改为 exploit.l33t

此时打开上传的文件查看,或者直接访问恶意文件路径,暴露出敏感信息

Or5MLoCop1nnKqcvIwl0PefBYsFngZVw

或者直接找到正常成功上传图片的GET /files/avatars/test.png 数据包

直接把图片文件名改成exploit.133t

返回200ok,暴露出用户秘钥

接着,提交用户秘钥,靶场过关


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