当前位置:首页 >人工智能 >Upload-Lab第三关:如何巧妙应对黑名单文件后缀检测? 正文

Upload-Lab第三关:如何巧妙应对黑名单文件后缀检测?

来源:开发者社区   作者:网络安全   时间:2025-11-26 19:09:47
关卡介绍

在Pass03中,第单文我们面临的关何挑战是绕过文件上传功能的黑名单检测机制。黑名单检测是巧妙一种常见的安全措施 ,它通过检查上传文件的应对后缀来阻止特定类型的文件(如 .php, .exe)被上传。在这一关 ,黑名我们需要找到一种方法 ,缀检上传一个可以执行的第单文恶意文件,同时绕过黑名单检测 。关何

Pass03的建站模板巧妙源码

解题思路

为了绕过黑名单检测,可以尝试以下几种方法 :

双重后缀名 :利用系统只检测第一个后缀名 ,应对而实际执行第二个后缀名  。黑名大小写混淆:某些系统对后缀名的缀检检测是大小写敏感的。文件名后缀添加特殊字符 :在后缀名后添加一些特殊字符  ,第单文可能会绕过检测。关何使用其他可执行后缀:如果服务器支持多种脚本语言,巧妙可以尝试其他语言的可执行文件后缀。

题目中提示不允许上传.asp,.aspx,.php,.jsp后缀文件!就用下面的替代被禁止的那些。高防服务器

ASP: asa/cer/cdxASPX: ashx/asmx/ascxPHP: php4/php5/phtmlJSP: jspx/jspf实践步骤

(1) 使用其他可执行后缀

创建一个包含简单PHP代码的文件,内容如下所示 ,将该文件命名为 shell.php4

复制<?php phpinfo() ?>1.

文件上传成功  ,如下图  ,可以查看返回的上传路径。

文件上传成功

通过访问文件上传的路径 ,看到一句话木马原样输出了 ,说明 .php4 后缀名的文件它不解析。

这里再回想一下 ,代码能否解析取决于配置文件里如何设置,所以,只能通过经验去判断。云计算通过查看配置文件发现,智能解析php php3 phtml这三种的后缀 。如下图 :

接着 ,我们尝试利用下面的一句话webshell,并把后缀修改成.phtml ,重新上传 。

复制<?phpecho shell_exec($_GET[pass]); ?>1.

成功上传后 ,通过访问该webshell的路径  。如下图:

网上也有一些解法说可以通过.htaccess文件上传 。关于.htaccess文件利用第四关有详细的讲解  。

复制SetHandlerapplication/x-httpd-php1.

这个文件里面的含义就是将所有文件解析为php 。服务器租用例如上传个jpg格式的一句话也可以绕过了 ,再用蚁剑进行连接就可以了 。

但是  ,由于该关卡中 ,把上传的文件重新命名了 。关键代码如下  :

上传的文件都被重新命名了 ,所以 ,上传.htacces这个文件不起作用了 。如下图所示  :

防御措施

为了防止类似的攻击 ,开发人员应采用白名单检测机制 ,仅允许特定类型的源码下载文件上传 。此外 ,还应对上传的文件进行严格的内容检查,确保其安全性  。

总结

在第三关中 ,通过尝试多种方法,我们成功绕过了文件上传的黑名单检测机制。这一过程不仅加深了我们对文件上传漏洞的理解 ,也提高了我们识别和防御此类漏洞的能力。

推荐阅读:

《Upload-Lab第一关:轻松绕过前端验证的技巧!免费模板

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

标签:

责任编辑:电脑教程