网站可能尝试验证文件上传的一种方法是检查此特定于输入的Content-Type标头是否与预期的 MIME 类型匹配。例如,如果服务器只需要图像文件,它可能只允许image/jpeg和之类的类型image/png。当此标头的值被服务器隐式信任时,可能会出现问题。如果不执行进一步的验证来检查文件的内容是否实际匹配假定的 MIME 类型,则可以使用 Burp Repeater 等工具轻松绕过这种防御。
第一步:登录进网站
第二步:上传指定文件
当网站只允许上传指定的文件格式时,我们上传其他格式文件就会被阻止。
第三步:上传一张图片文件,借助Burp进行抓包。
这里我们可以看到它上传文件的类型,本次网站只允许上传图片格式类型
第四步:我们继续回到刚才的“第二步”,但是这次使用Burp进行截断,并对进行一些修改,使之能够成功上传。
这里可以看到它允许上传的文件类型不是图片格式类型,我们将它修改和之前图片上传的文件类型一样
这里观察页面响应情况,发现成功上传exploit.php文件
第五步:接下来像之前实验一样,替换对应的文件名,就可以获得我们想要的结果了
提交密码,实验完成!