一.基本概念
介绍:文件内容检测就是检测上传的文件里的内容。
-
文件幻数检测
通常情况下,通过判断前10个字节,基本就能判断出一个文件的真实类型。
-
文件加载检测
一般是调用API或函数对文件进行加载测试。常见的是图像渲染测试,再严格点的甚至是进行二次渲染。
二.检测方式
1.文件幻数检测
基本介绍
文件格式幻数(外语:magic number),它可以用来标记文件或者协议的格式,很多文件都有幻数标志来表明该文件的格式。
-
JPG图片文件幻数
-
GIF图片文件幻数
-
PNG图片文件幻数
绕过技巧
靶场:http://127.0.0.1/upload-labs-master/Pass-15/index.php
-
绕过流程:
-
制作图片马
-
方法一:使用16进制编辑器打开一个图片,在图片后面插入WebShell
-
方法二:cmd下执行(必须在当前目录):copy a.jpg/b + post.php/a shell.jpg
-
-
使用文件包含漏洞利用图片马中的恶意代码
-
2.二次渲染
基本介绍
二次渲染就是根据用户上传的图片,新生成一个图片,将原始图片删除,将新图片添加到特殊的数据库中。比如一些网站根据用户上传的头像生成大中小不同尺寸的图像。
绕过技巧
靶场:http://127.0.0.1/upload-labs-master/Pass-17/index.php
-
绕过流程:
-
制作图片马
-
先上传一张正常的图片
-
将经过二次渲染的图片保存下来
-
拖入16进制编辑器,与原图片进行对比,在相同的地方(00的地方)插入webshell。
-
使用文件包含漏洞利用图片马中的恶意代码
-
-