文件上传upload-labs第三关

第三关采用了黑名单的验证方式,黑名单过滤也是一种不安全的方式,黑名单中定义了一系列的不安全的扩展名,服务器在接收到文件后,与黑名单做对比,从而决定是否要过滤上传的文件。
禁止上传的类型
不过phtml,php3,php4,php5,pht没有禁止,在apache配置文件中当php解析,
尝试通过后缀名绕过
我刚开始练习的时候用各种后缀只是能上传却连不上中国蚁剑,问过大佬之后才知道phpstudy这个配置文件把以上后缀都给注释了,我们可以这样来修改
在这里插入图片描述
在这里插入图片描述
打开这个文件,Ctrl+f查找 .phtml
在这里插入图片描述
在这里可以把php3等想要的文件后缀加上,再把注释符#去掉,就可以快乐地去连接蚁剑了
在这里插入图片描述

### upload-labs 第三关解决方案 在处理 `upload-labs` 的第三关时,主要挑战在于服务器端对上传文件的内容类型进行了验证。为了绕过这种验证并成功上传 PHP 文件,可以采取以下方法: #### 方法一:修改 Content-Type 头部 通过更改 HTTP 请求中的 `Content-Type` 头部来欺骗服务器认为上传的是允许类型的文件。具体操作如下: - 使用工具如 Burp Suite 或者浏览器开发者工具拦截表单提交请求; - 将 `Content-Type` 修改为合法的 MIME 类型之一(例如 image/jpeg),即使实际上传的是 `.php` 文件。 这种方法利用了某些 Web 应用程序仅依赖于客户端提供的元数据来进行安全决策这一弱点[^3]。 #### 方法二:构建特殊文件名与扩展名组合 另一种策略是构造特定格式的文件名称,在满足条件的情况下使服务端误判文件性质从而允许其保存到目标目录下执行。这通常涉及到探索应用程序如何解析路径以及识别不同种类文档的方式。 对于此关卡而言,尝试不同的文件命名模式直到找到能够被接受的形式可能是有效的途径之一。值得注意的是,成功的几率取决于具体的实现细节和服务配置环境等因素影响下的行为差异。 ```bash curl -X POST http://127.0.0.1/upload-labs-master/Pass-03/index.php \ -F "file=@test.php;filename=test.jpg" \ -H "Content-Type: multipart/form-data" ``` 上述命令展示了如何使用 curl 工具发送带有自定义文件名和内容类型的 POST 请求给指定 URL 地址。请注意调整参数以适应实际情况的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值