MIME上传绕过实例实验笔记

文章讲述了MIME类型在服务端用于识别文件类型的作用,通过检查HTTP包的Content-Type来判断上传文件的合法性。文中通过一个实验展示了如何通过修改Content-Type字段绕过上传限制,上传了原本不允许的txt文件。最后提出了加固方案,包括过滤非法文件后缀、限制上传目录权限以及防范文件上传包含漏洞。
摘要由CSDN通过智能技术生成

了解服务端MIME类型检测

        MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。

        服务端MIME检测类型是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的,例如对图片的检查是看上传过程中http包的Content-Type是否为image/jpeg,如果是就可以成功上传。相关源代码:

 

红色区域中的if语句只对Content-Type和图片的大小做了判断。
        常见的MIME类型:
        1.text/plain(纯文本)
        2.text/html(HTML文档)
        3.text/javascript(js代码)
        4.application/xhtml+xml(XHTML文档)
        5.image/gif(GIF图像)
        6.image/jpeg(JPEG图像)
        7.image/png(PNG图像)
        8.video/mpeg(MPEG动画)
        9.application/octet-stream(二进制数据)
        10.application/pdf(PDF文档)

实验过程

        首先在桌面上新建一个1.txt,写入“hello_world”。因为目标主机只允许上传jpg文件,那么下载就要绕过这个限制,上传一个txt文件上去。

        打开http://10.1.1.59:81,输入用户名:admin 密码:password,点击Upload。

        设置好浏览器代理后,我们选择我们刚才创建的txt文件进行上传。此时burpsuite已经截获到了数据包,我们右击选择“send to reprater”。

        切换到Repeater中将Content-Type后的text/plain修改为image/jpeg。

        点击go,从右侧可以看到已经上传成功,在右下方输入1.txt进行搜索刚才上传的图片。

        关闭代理,打开搜索到的路径。

 加固方案

         如果防范文件上传漏洞的利用,需要对上传的代码中过滤非法的后缀名,只允许白名单中的文件格式进行上传,对上传目录进行脚本权限限制,还有一个就是文件上传包含漏洞,可以包含程序文件然后直接上传,如果还是被上传webshell木马脚本后门的话可以向网站漏洞修复公司SINE安全寻求技术支持。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜之王。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值