在upload-lab的第单验第四关,挑战者需要绕过文件上传的关何限制,成功上传一个能在服务器上执行的巧用恶意文件。该关卡的破解目标是利用 .htaccess 文件进行绕过,这是黑名一个常见且强大的文件上传漏洞利用方法。

.htaccess 文件是 Apache HTTP 服务器上的一个配置文件,它允许管理员在目录级别进行配置。关何通过 .htaccess 文件,巧用用户可以实现URL重写、破解目录访问控制、黑名MIME 类型设置等功能。第单验在文件上传漏洞利用中,关何.htaccess 文件常用于修改服务器对文件的巧用处理方式,从而执行恶意代码。破解

本题没有过滤.htaccess文件,可以通过上传.htaccess文件来为一个webshell文件更改后缀,来帮助webshell进行绕过。
解题步骤(1) 准备 .htaccess 文件:
由于服务器可能限制了常用的脚本文件,我们可以通过上传一个 .htaccess 文件来改变服务器对文件的处理方式。创建一个名为 .htaccess 的文件,内容如下:
复制<FilesMatch "1.png"> setHandler application/x-httpd-php </FilesMatch>1.2.3.这段配置的作用是将 1.png 文件解析为 PHP 代码。云服务器
(2) 上传.htaccess文件 :
在Pass04关卡的上传页面,我们先上传 .htaccess 文件 。

成功上传了.htaccess文件
(3) 准备恶意文件并上传
我们需要准备一个恶意的 PHP 文件。创建一个名为 1.png 的文件,该文件名要与上一步的一一对应。内容如下:
复制<?php phpinfo() ?>1.把1.png文件上传到服务器中,如下图:

成功把webshell上传了
(4) 访问并执行恶意代码:
上传完成后,访问上传文件所在的 URL。如果一切顺利,你会看到页面如下图显示:

upload-lab 第四关展示了通过 .htaccess 文件绕过文件上传限制的攻击方法。这种攻击利用了服务器配置的灵活性,通过巧妙地修改文件解析方式,成功实现了恶意代码的执行。通过理解和实践这种攻击方式,安全研究人员和开发者可以更好地防御类似的文件上传漏洞,提升系统的安全性。
推荐阅读:
《Upload-Lab第一关:轻松绕过前端验证的技巧!免费源码下载》
《Upload-Lab第二关:如何巧妙绕过MIME类型过滤?》
《Upload-Lab第三关:如何巧妙应对黑名单文件后缀检测?》