upload-labs 05(后缀大小写绕过)

本文介绍了一种利用文件后缀名大小写敏感性的技巧,成功绕过了Web应用中对特定webshell文件后缀的限制。通过修改上传文件的后缀大小写,实现了文件的上传与运行,揭示了安全防护机制中的潜在漏洞。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目
在这里插入图片描述
首先分析源码
在这里插入图片描述
该代码基本对所有webshell文件后缀名进行了限制,
但是并没有对上传的文件后缀名进行统一大小写,
于是,我们修改下文件后缀大小写即可
在这里插入图片描述
上传成功,检测是否运行
在这里插入图片描述

文件绕过成功!

### Upload-Labs 第18关分析 Upload-Labs是一个用于学习文件上传漏洞的安全测试平台。对于第18关,主要考察的是如何绕过基于白名单的文件扩展名过滤机制来实现任意文件上传。 在这一关中,服务器端实现了较为严格的文件类型验证逻辑,只允许特定类型的图片文件(如.jpg, .png等)上传[^1]。然而,攻击者仍然可能通过一些技巧绕过这种限制: - 利用MIME Type欺骗:即使服务端检查了文件头信息,某些情况下仍可通过修改HTTP请求中的Content-Type字段来进行绕过尝试。 - 文件路径截断:如果目标程序存在字符串处理不当的情况,则可利用超长路径或其他特殊字符造成缓冲区溢出等问题从而达到目的。 - 后缀大小写敏感性差异:部分操作系统对文件后缀区分大小写的特性也可能成为突破口之一。 为了成功完成此挑战,建议采用如下Python脚本模拟POST请求并不断重试直至捕捉到短暂存在的shell文件: ```python import requests url = "http://127.0.0.1/upload-labs/Pass-18/" files = { 'file': ('test.php', open('payload.php', 'rb'), 'image/jpeg') } while True: try: response = requests.post(url=url, files=files) print(response.text) if "<title>UPLOAD</title>" not in response.text: break except Exception as e: continue ``` 上述代码片段展示了如何构造一个持续发送带有恶意负载的图像文件给指定URL的过程。需要注意的是实际操作时应调整`url`变量指向正确的地址,并准备好名为`payload.php`的有效载荷文件[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Luckysec

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值