网站可能尝试验证文件上传的一种方法是检查此特定于输入的Content-Type标头是否与预期的 MIME 类型匹配。例如,如果服务器只需要图像文件,它可能只允许image/jpeg和之类的类型image/png。当此标头的值被服务器隐式信任时,可能会出现问题。如果不执行进一步的验证来检查文件的内容是否实际匹配假定的 MIME 类型,则可以使用 Burp Repeater 等工具轻松绕过这种防御。
第一步:登录进网站
第二步:上传指定文件
当网站只允许上传指定的文件格式时,我们上传其他格式文件就会被阻止。

第三步:上传一张图片文件,借助Burp进行抓包。

这里我们可以看到它上传文件的类型,本次网站只允许上传图片格式类型

第四步:我们继续回到刚才的“第二步”,但是这次使用Burp进行截断,并对进行一些修改,使之能够成功上传。

这里可以看到它允许上传的文件类型不是图片格式类型,我们将它修改和之前图片上传的文件类型一样

这里观察页面响应情况,发现成功上传exploit.php文件

第五步:接下来像之前实验一样,替换对应的文件名,就可以获得我们想要的结果了


提交密码,实验完成!
本文介绍了如何通过修改Content-Type标头绕过网站的文件上传限制。当服务器仅允许特定MIME类型的文件上传时,如image/jpeg和image/png,攻击者可以使用BurpRepeater等工具篡改标头,使得非图片文件也能以图片格式上传,从而可能导致安全风险。通过抓包、篡改标头并观察响应,成功上传了exploit.php文件,揭示了此类验证机制的潜在漏洞。
830

被折叠的 条评论
为什么被折叠?



