基本信息
文件名称:Web安全与防护 实训指南 5.2.3MIME验证与绕过.pdf
文件大小:257.1 KB
总页数:3 页
更新时间:2025-03-07
总字数:约2.11千字
文档摘要

MIME验证与绕过

【实训目的】

1.熟悉MIME验证的方法;

2.掌握绕过MIME验证的方法。

【实训原理】

HTTP协议规定了上传资源的时候在HTTPHeader中加上一项文件的MIME

TYPE,来识别文件类型,这个动作是由浏览器完成的,服务端可以检查此类型。

不过这也不能保证上传文件的安全,因为HTTPHeader可以被中间人修改。

通过使用BurpSuite之类工具就可以篡改HTTPHeader中的Content-Type值,

使之成为后端程序允许的类型。

【实训步骤】

步骤1、登录DVWA系统

在DVWASecurity当中选择medium选项,并提交。然后选择upload菜单。

步骤2、查看服务器端源代码。

点击右下角的ViewSource按钮,可以看到服务器端源代码,如下所示:

?php

if(isset($_POST[Upload])){

$target_path=DVWA_WEB_PAGE_TO_ROOT.hackable/uploads/;

$target_path=$target_path.basename($_FILES[uploaded][name]);

$uploaded_name=$_FILES[uploaded][name];

$uploaded_type=$_FILES[uploaded][type];//获取MIME值

$uploaded_size=$_FILES[uploaded][size];

if(($uploaded_typeimage/jpeg)($uploaded_size100000)){

if(!move_uploaded_file($_FILES[uploaded][tmp_name],target_path))

{

echopre;echoYourimagewasnotuploaded.;echo/pre;

}else{

echopre;echo$target_path.succesfullyuploaded!;echo/pre;

}

}else{

echopreYourimagewasnotuploaded./pre;

}

}

?

通过源代码分析,应用程序采用的是MIME验证,仅接收jpeg格式的文件,

且文件小于100000字节。

步骤3、通过修改Content-Type值绕过MIME验证

(1)启动BurpSuite,启动代理功能,并在浏览器设置代理。具体步骤详见

“实训使用BurpSuite工具抓取HTTP数据包并解析”。

(2)访问DVWA系统,其请求将传递到BurpSuite代理,因此需要再

BurpSuite中多次点击Forward按钮,才会出现文件上传界面。在文件上传的界

面中,选择一个非jpeg文件,为jpeg,然后上传。试验中选择文件为test.php,

点击提交按钮,在BurpSuite会收到请求包,如下图所示:

图5-11BurpSuite截获的信息报文

在BurpSuite录中将Conent-Type值修改为image/jpeg,然后点击forward就

可绕过MIME验证。

【实训总结】

由于攻击者可以修改HTTPHeader中的Conten