upload-labs靶场通关详解:第二关

一、分析源代码

通过分析代码,可以看出这是后端验证。重点对$_FILES['upload_file']['type']这段代码进行解释。

$_FILES:是一个超全局数组,它的用途是处理文件上传操作。当用户通过 HTML 表单上传文件时,服务器端会接收这些文件信息,并且将其存储在 $_FILES 数组中。

'upload_file':此为表单中文件上传字段的名称。在 HTML 表单里,文件上传的输入框一般是使用 <input type="file" name="upload_file">这样的形式,其中name属性的值就是'upload_file'。

'type':这是 $_FILES 数组里的一个索引,代表上传文件的 MIME 类型。MIME 类型是一种用来标识文件格式的标准,像 image/jpeg 表示 JPEG 格式的图片,image/png 表示 PNG 格式的图片,application/pdf 表示 PDF 文件等。浏览器通过MIME类型来区分文件,决定什么类型用什么形式来显示。

到这里可以得出思路,尝试通过bp抓包,修改文件的MIME类型进行验证绕过。

二、bp抓包绕过步骤

打开bp工具,上传php文件,抓取数据包,content-type就是文件类型,将其修改为允许上传的类型,如image/jpeg等。

绕过验证,文件上传成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值