thinkphp 检测上传的图片中是否含有木马脚本

thinkphp 检测上传的图片中是否含有木马脚本
1.检测原理

要想检测图片中是否含有木马脚本,首先从制作原理来分析这种木马程序。这种木马程序是十六进制编码写的,图片的十六进制代码中主要包含<% ( ) %>、<? ( )? > 、<script | /script>, 所以我们可以通过检测十六进制代码来检测木马脚本。

2.解决方案

2.1编写Upload类

要想上传图片文件,我们要自己先定义一个上传文件的方法,然后方法中调用thinkphp中框架写好的Upload类,但是tp框架中的upload类没有检测木马图片的功能,所以我们可以自己写一个含有检测功能的upload类。

这个类配合自己定义的上传图片的方法  可以检测上传图片是否存在木马脚本

3.制作木马图片

3.1制作过程

1.随便找一张图片,名字改成1.jpg。

2.将<%eval request(“keio”)%> 存为1.php。

3.copy 1.jpg /b + 1.php /a  2.jpg 存为1.bat文件。

(具体操作方法:打开-运行-cmd,进入下面这个界面,然后cd 进入放置文件的路径,然后输入命令copy 1.jpg/b+1.php 2.jpg 然后回车就系统就会自动把这两个文件组合起来,形成一个含有木马脚本的图片。)

3.2查看图片

你可以用text文档打开2.jpg,就发现我们的一句话木马就写入到了图片中。

解释:

复制当前目录下的 1.jpg 图片和当前目录下的 1.php 文件并以ASCII代码的方式合并为2.jpg 图片     运行 1.bat 就会出现一个图片 2.jpg     而这个2.jpg就是已经做好的木马了

4.上传检测

我们将制作的木马图片上传,检测我们的十六进制检测木马脚本的方法是不是好使。

实践是检验真理的唯一途径,大家要手动做一张图片木马进行验证,本人亲测可以检测到。

感谢大佬:https://www.cnblogs.com/jingmin/p/6308870.html

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注