DAY12:文件上传2

一、文件头检测
1. 什么是文件头

 

 

2. getimagesize()函数(了解)

 

 

 

3. 绕过文件头校验

 

 

4. 常用的三个图片格式文件头(可以直接用burpsuit修改文件头)
①png
89 50 4E 47 0D 0A 1A 0A
②gif
47 49 46 38 39 61
③jpg
FF D8 FF E0 00 10 4A 46 49 46
 
 
二、文件后缀检测
1. 检测方法

 

 

2. 绕过黑名单
*****解析漏洞可以绕过黑名单和白名单
*****截断上传可以绕过黑名单和白名单
*****大小写可以绕过黑名单,不能绕过白名单(对于关键字如php替换为空的可以PHP中嵌入php)
*****黑名单扩展名的漏网之鱼可以绕过黑名单,不能绕过白名单
*****利用系统特性可以绕过黑名单,不能绕过白名单
(6)黑名单验证,但未过滤.htaccess,写入SetHandler application/x-httpd-php,先将.htaccess上传上去,再上传一个图片马,可以解析为php文件
*****linux对大小写敏感,上传的文件为1.pHp,就只能访问1.pHp,windows对大小写不敏感,就可以访问1.php
*****php3、php4、php5需要网站设置扩展(针对PHP的比较少了)
*****第五点利用windows系统特性,文件名后不管是加点还是加空格,确认之后自动去掉,在linux系统下无效
 
NTFS文件流:

 

 

3. 截断上传(比较少了)

 

 

4. 绕过白名单
①解析漏洞
②截断上传
③文件包含
 
 
三、解析漏洞
1. 查看服务器信息:看错误页面、抓取数据包在response处查看服务器类型,或者安装火狐插件查看

 

 

2. IIS6.0解析漏洞

 

 

3. apache 1.x 2.x解析漏洞(一般在2.3.x以下)

 

 

4. nginx解析漏洞
在phpinfo信息页面可以查看cgi.fix_pathinfo是否开启
 
 
总结

 

 

 
posted @ 2019-10-07 22:29  年糕SDS  阅读(151)  评论(0)    收藏  举报