700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 渗透测试-文件上传漏洞之MIME type验证原理和绕过

渗透测试-文件上传漏洞之MIME type验证原理和绕过

时间:2019-09-28 05:34:03

相关推荐

渗透测试-文件上传漏洞之MIME type验证原理和绕过

文件上传漏洞之MIME type验证原理和绕过

文章目录

文件上传漏洞之MIME type验证原理和绕过前言一、什么是MIME type二、MIME type验证原理和绕过1. MIME type验证原理2. burp抓包绕过拿shell总结

前言

一、什么是MIME type

首先,我们要了解浏览器是如何处理内容的。在浏览器中显示的内容有 HTML、有 XML、有 GIF、还有 Flash ……那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型。

媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如:

Content-Type: text/HTML

二、MIME type验证原理和绕过

1. MIME type验证原理

我们首先在pikachu上进行实验

上传php文件失败,那我们只能进行代码审计了,看看是否有漏洞可以利用的地方

我们进行审计时发现只能上传imag的图片,且通过这个函数进行检测上传

upload=uploadsick(′uploadfile′,upload=upload_sick('uploadfile',upload=uploads​ick(′uploadfile′,mime,$save_path);//调用函数

那我们去看看这个函数的内容,找到文件的目录,进行查看

D:\phpStudy\WWW\pikachu\inc\uploadfunction.php

通过查看发现是file()函数来验证MIME类型的。

函数原型是这样的

分析代码可知,存在漏洞的原理是这样的

我们可以通过burp抓包,去修改content-type内容,从而达到绕过上传php文件的目的。

2. burp抓包绕过拿shell

我们进行burp抓包

将content-type的内容修改为imag/png

进行重发

找到上传文件的目录

D:\phpStudy\WWW\pikachu\vul\unsafeupload\uploads\test.php

发现上传成功。

我们打开图片的链接看看打不打得开

http://192.168.222.4/pikachu/vul/unsafeupload/uploads/test.php

复制到网址打开试试

发现打得开,这时我们就将网址复制到蚁剑连接

连接成功,漏洞利用成功,实验结束。

这里我给大家总结一下MIME类型的文件名

总结

本次实验讲述了上传漏洞的MIME type验证原理和绕过方法,利用file()函数存在的漏洞,进行burp抓包利用,实现拿shell的过程。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。