上文《Upload-Lab第一关 :轻松绕过前端验证的关何过滤技巧!》 在upload-lab的巧妙第二关
,我们需要应对MIME类型过滤。绕过MIME类型是类型互联网媒体类型,用于指示文件的关何过滤性质和格式。在实际的巧妙文件上传场景中
,服务器通常会检查上传文件的源码下载绕过MIME类型以确保安全。然而 ,类型通过某些技巧,关何过滤我们可以绕过这种检查并上传恶意文件
。巧妙本篇文章将详细介绍如何通过绕过MIME类型过滤来攻克upload-lab的绕过第二关 。 在Pass02关卡中,类型服务器会检查上传文件的关何过滤MIME类型
,只有当MIME类型为允许的巧妙类型(如图片类型)时
,免费模板文件才能成功上传。绕过如果上传的文件MIME类型不符合要求
,则会被拒绝。 源码如下图所示: 源码 (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类型检查是不够的,源码库还需要结合文件内容、扩展名等多重检查手段 ,才能有效防御此类攻击
。








