0
点赞
收藏
分享

微信扫一扫

【后端检测-绕过】文件头检测绕过、二次渲染绕过


目录

​​一、文件头检测绕过​​

​​1.1、原理:​​

​​1.2、工具:​​

​​1.3、常见的文件头:​​

​​1.4、利用过程:​​

​​二、二次渲染:​​

​​2.1、原理:​​

​​2.2、工具:​​

​​2.3、利用过程:​​

​​GIF绕过:​​

​​PNG绕过:​​

​​利用过程:​​

​​JPG绕过​​

​​利用过程:​​

一、文件头检测绕过

1.1、原理:

当浏览器上传到服务器时,白名单对文件进行头检测,符合,则允许上传,反之不允许。

所有的文件都是以二进制的形式进行存储的,本质上没差别。但使用的方式不同,是因为我们理解他的方式不同。在每一个文件(包括图片,视频或其他的非ASCII文件)的开头(十六进制表示)都有一片区域来显示这个文件的实际用法,这就是文件头标志

Linux下可以用file命令直接查看文件的实际格式,也是利用文件头标志来进行文件类型判断的。

1.2、工具:

c32asm(反汇编软件)

这个软件在百度上比比皆是


1.3、常见的文件头:

(格式是16进制的格式)

JPEG (jpg)FF D8 FFPNG (png)89 50 4E 47GIF (gif)47 49 46 38XML (xml)3C 3F 78 6D 6CHTML (html)

68 74 6D 6C 3E

ZIP Archive (zip),50 4B 03 04RAR Archive (rar),52 61 72 21Adobe Acrobat (pdf),25 50 44 46 2D 31 2EMS Word/Excel (xls.or.doc)D0 CF 11 E0MS Access (mdb)53 74 61 6E 64 61 72 64 20 4A

1.4、利用过程:

第一步:先写一个php执行文件

【后端检测-绕过】文件头检测绕过、二次渲染绕过_数据块



第二步:使用 c32asm打开这个文件

【后端检测-绕过】文件头检测绕过、二次渲染绕过_数据块_02

【后端检测-绕过】文件头检测绕过、二次渲染绕过_php_05

二、二次渲染:

2.1、原理:

在我们上传文件后,网站会对图片进行二次处理(格式、尺寸要求等),服务器会把里面的内容进行替换更新。

处理完成后,根据原有的图片对比,找到没被修改的部分,然后利用这一部分,生成一个新的图片并放到网站对应的标签进行显示。

2.2、工具:

burpsuite

010 Editor16进制编辑器

(网上好评90%以上的差得多都没什么问题)

2.3、利用过程:

GIF绕过:

第一步:图片马的制作(b指代的是二进制)

方法一:直接用Notepad++等记事本类型软件打开,在图片后写入执行语句


方法二:使用命令将2文件内容合并(可以将zip等其他类型文件伪装成图片等,copy/b 1.gif/b+1.rar/b 2.gif)

将准备的1.gif  和2.php文件,最后再和成为3.gif

在目录下按住shift,再右键打开Open in Windows Terminal(或者从命令提示符进入到这个目录中)

copy 1.gif/b + 2.php/a 3.gif

【后端检测-绕过】文件头检测绕过、二次渲染绕过_web安全_06


(上图是用010 Editor16进制编辑器) 



第二步:将文件上传,然后,再对比原文件

【后端检测-绕过】文件头检测绕过、二次渲染绕过_php_07

(上传后) 


使用010 Editor16进制编辑器自带的比较文件

点击Tools----点击compare Files

【后端检测-绕过】文件头检测绕过、二次渲染绕过_数据块_08


 选着文件所在位置,再点击compare

【后端检测-绕过】文件头检测绕过、二次渲染绕过_php_09


然后选着这个match(匹配)的部分

即16进制蓝色段就是没被改变的

举报

相关推荐

0 条评论