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

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

CTF练习 1052 0 2025-8-21 22:57:36

第七关 通过竞争条件上传 Web shell

这一关采用通过发送标签组实现条件竞争上传恶意php文件,获取用户秘钥

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

2、尽管它对上传的任何文件执行可靠的验证,但可以通过利用处理文件的方式中的竞争条件来完全绕过此验证。

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

4、给了引入此竞争条件的易受攻击的源代码

具体操作:

1、先正常登录账户,上传正确的头像图片,点击上传,跳转到上传成功页面,然后返回我的账户,这就是一个上传图片的流程(操作见第四关)

2、创建恶意php文件上传

php代码如下,意思是打开获取的用户秘钥:

<?php system('cat /home/carlos/secret');?>

响应返回只允许上传jpg/png图片,上传失败

然后返回我的账户

3、接下来,尝试使用新方法条件竞争

先找到以两个请求发往repeater

第一个请求POST /my-account/avatar数据包,这个是上传php文件到头像失败的请求

正常响应返回403

第二个请求GET /files/avatars/tian.png,这个请求是点击返回我的账户,获取查看上传的图像

正常响应返回304

改成恶意文件名exploit.php

这两个请求的顺序是先上传头像,再是获取查看上传的头像

4、然后去repeater查看

先选择一个选项卡鼠标右键选择“添加到分组“

Add tab to group——Create tab group

跳出弹框:先随便起个组名,请求顺序1,2,点击创建

四个选择详解如图:

这里选择第四个并发,一起发请求,实现条件竞争

然后看到第二个请求这里的文件路径名这里改成和第一个请求的filename=exploit.php一样的恶意文件名

我这里并发请求条件竞争发了5次请求才成功

爆出秘钥:EkgZceRVryeT8bhepwyTOizx4uwFa003

提交秘钥,靶场过关

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