--- notion-id: bc0d9c0c-bba7-4bb1-9b2e-c069b34d8ccc --- 一,图片马制作 copy 2.jpg/b + as.php/a 3.jpg 二、图片马运行函数 ```php ``` **1、前端JS检测绕过** `绕过方式:` **2、MIME类型检测绕过** `绕过方法:使用burpsuit抓取content-type类型进行绕过` **3、文件后缀检测-黑名单绕过** `绕过方法:上传特色可解析后缀绕过:php2、php3、php4、php5、phtml` **4、文件后缀检测-黑名单绕过【.htaccess】** ```shell SetHandler application/x-httpd-php ``` **5、文件后缀检测-后缀点名 空格绕过【. .】** `绕过方法:通过过滤方式漏洞进行绕过` **6、文件后缀检测-后缀名大小写绕过 ** `绕过方法通过修改后缀名大小写进行绕过 黑名单缺陷` **7、文件后缀检测-后缀点名 空格绕过【.php .】** `未过减文件后缀名的空格,通过filename=as,php . 黑名单缺陷` **8、文件后缀检测-后缀点名绕过【.php.】** `未过减文件后缀名,通过filename=as,php. 黑名单缺陷` **9、文件后缀检测-特殊字符串::$DATA** `未过滤待殊字符串::$DATA,通过file name=as.php::$DATA绕过 原理:php在window的时候n果文件名+::$DATA会把::$DATA之后的数据当成文件流处理不会检测后缀名,且保持"::$DATA"之前的文件名,他的目的就是不检查后缀名` **10、文件后缀检测-后缀名多重点空格绕过(.php. .)** `通过多重后缀名点空格绕过filename=as.php. .` **11、文件后缀检测-**`**GET**`**方式00截断绕过(save_path=/upload/as.php%00)** `通过burpsuit抓取 使用%00截断` ![[Notion/👽渗透笔记👽/上传漏洞/attachments/Untitled.png]] **12、文件后缀检测-**`**POST**`**方式00截断绕过(save_path=/upload/as.php%00)** ![[Notion/👽渗透笔记👽/上传漏洞/attachments/Untitled 1.png]] `通过burpsuit抓取 使用%00截断 需要使用hex 先输入空格找到20编码 然后在前面修改成00` **13、文件内容检测-文件头检测绕过【GIF84a】** ```shell 一句话木马开头添动加图片文件幻数,如: GIF89a 或者生成图片马: copy 1.jpg/b 1.php/a 2.jpg ``` **14:文件内容检测getimagesize()函数绕过** `绕过方式:通过图片马或图片标识字段+一句话木马绕过` [https://blog.csdn.net/qq_34206560/article/details/81044253](https://blog.csdn.net/qq_34206560/article/details/81044253) **15、文件内容检测-exif_imagetype函数绕过** `图片木马绕过` **16、文件内容检测-图片二次渲染绕过(代码注入绕过)** ```shell 限制 1.只允许jpeg、png、gif类型文件上传 2.png图片文件二次渲染:imagecreatefrompng函数 3.jpeg图片文件二次宣染:imagecreatefromjpeg☒数 4.gif图片文件二宣染:imagecreatefromgif函数 理解上方函数的意义 绕过 可以用图像处理软件对张图片进行代码注入,这类攻击的原理是:在不破坏文件本身的渲染 情况下找一个空白区进行填充代码,一股是图片的注释区,这样能保证本身文结构是完整 的,对于宣染测试基本上都能绕过 ```