欢迎来到运维革新

运维革新

Upload-Lab第二关:如何巧妙绕过MIME类型过滤?

时间:2025-11-26 19:36:23 出处:数据库阅读(143)

上文《Upload-Lab第一关:轻松绕过前端验证的关何过滤技巧  !》

在upload-lab的巧妙第二关 ,我们需要应对MIME类型过滤。绕过MIME类型是类型互联网媒体类型 ,用于指示文件的关何过滤性质和格式 。在实际的巧妙文件上传场景中 ,服务器通常会检查上传文件的亿华云绕过MIME类型以确保安全 。然而,类型通过某些技巧,关何过滤我们可以绕过这种检查并上传恶意文件  。巧妙本篇文章将详细介绍如何通过绕过MIME类型过滤来攻克upload-lab的绕过第二关 。

第二关简介

在Pass02关卡中,类型服务器会检查上传文件的关何过滤MIME类型,只有当MIME类型为允许的巧妙类型(如图片类型)时,高防服务器文件才能成功上传。绕过如果上传的文件MIME类型不符合要求,则会被拒绝 。 源码如下图所示:

源码

绕过MIME类型过滤的方法使用Burp Suite拦截并修改请求 :这是最常用的方法 ,通过Burp Suite等抓包工具拦截上传请求 ,然后修改MIME类型。构造特殊的源码库文件:通过修改文件头信息 ,使文件看起来像是合法的类型 。实践步骤

(1) 准备工具

Burp Suite一个简单的Web Shell文件 ,例如 : 复制<?php echo shell_exec($_GET[pass]); ?>1.

(2) 启动BurpSuite并配置浏览器代理

启动Burp Suite并设置拦截模式,如下图所示:

启动BurpSuite并设置拦截模式

配置浏览器使用BurpSuite作为代理,如下图所示:

配置浏览器使用代理

上图中的HTTProy代理地址和端口要与BurpSuite的设置一致 ,云计算如下图所示 :

HTTProy代理地址

(3) 此时上传webshell ,点击上传 ,会自动调到BurpSuite页面,通过观察下图Content-Type的类型为application/x-php,因此  ,我们要对该类型进行修改成image/jpeg

Content-Type类型修改之前

Content-Type类型修改之后

修改后,先点击Action -> Send to Intruder ,接着,点击Forward,点击后,会输入如下结果 ,如下图所示:

成功返回请求头

最后 ,源码下载通过前端页面中的源码看到webshell已经成功上传到服务器上 ,如下图所示:

验证上传成功

通过访问类似于http://服务器地址/upload/shell.php?cmd=whoami的URL来验证WebShell是否工作 。如下图所示 :

总结

通过这种方法 ,我们成功绕过了MIME类型过滤 ,上传了恶意文件 。这展示了在文件上传功能中仅依赖MIME类型检查是不够的 ,模板下载还需要结合文件内容、扩展名等多重检查手段 ,才能有效防御此类攻击。

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: