DAY12:文件上传2
Posted niangaosds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAY12:文件上传2相关的知识,希望对你有一定的参考价值。
一、文件头检测
1. 什么是文件头
![技术图片](https://image.cha138.com/20210706/a0a84279ca3d4f809c73829689883d92.jpg)
2. getimagesize()函数(了解)
![技术图片](https://image.cha138.com/20210706/12b07f82f9604eb996594cd742ae610d.jpg)
3. 绕过文件头校验
![技术图片](https://image.cha138.com/20210706/c18b5d78576f4a78ada94ad238694a5d.jpg)
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. 检测方法
![技术图片](https://image.cha138.com/20210706/fdcc9c12fb864444bc0920ba35051296.jpg)
2. 绕过黑名单
*****解析漏洞可以绕过黑名单和白名单
*****截断上传可以绕过黑名单和白名单
*****大小写可以绕过黑名单,不能绕过白名单(对于关键字如php替换为空的可以PHP中嵌入php)
*****黑名单扩展名的漏网之鱼可以绕过黑名单,不能绕过白名单
*****利用系统特性可以绕过黑名单,不能绕过白名单
![技术图片](https://image.cha138.com/20210706/8f943b537a5a4580bdb461a7d340b427.jpg)
(6)黑名单验证,但未过滤.htaccess,写入SetHandler application/x-httpd-php,先将.htaccess上传上去,再上传一个图片马,可以解析为php文件
*****linux对大小写敏感,上传的文件为1.pHp,就只能访问1.pHp,windows对大小写不敏感,就可以访问1.php
*****php3、php4、php5需要网站设置扩展(针对PHP的比较少了)
*****第五点利用windows系统特性,文件名后不管是加点还是加空格,确认之后自动去掉,在linux系统下无效
NTFS文件流:
![技术图片](https://image.cha138.com/20210706/da6f04587f7c44679c9b85f6b60f7b72.jpg)
3. 截断上传(比较少了)
![技术图片](https://image.cha138.com/20210706/11581a2e07a544b4bdebb8bddc53da6c.jpg)
4. 绕过白名单
①解析漏洞
②截断上传
③文件包含
三、解析漏洞
1. 查看服务器信息:看错误页面、抓取数据包在response处查看服务器类型,或者安装火狐插件查看
![技术图片](https://image.cha138.com/20210706/63f7a960b2154ed0967359804ae5a43a.jpg)
2. IIS6.0解析漏洞
![技术图片](https://image.cha138.com/20210706/7ca1fe9ab25942f08a073a32729b7ddb.jpg)
3. apache 1.x 2.x解析漏洞(一般在2.3.x以下)
![技术图片](https://image.cha138.com/20210706/0fa30b4b5022467981f3bf59b6b97b59.jpg)
4. nginx解析漏洞
![技术图片](https://image.cha138.com/20210706/9bb981071edb4cc9826072909311e89d.jpg)
在phpinfo信息页面可以查看cgi.fix_pathinfo是否开启
总结
以上是关于DAY12:文件上传2的主要内容,如果未能解决你的问题,请参考以下文章