本文转自圈子社区 原文章地址点击
大佬勿喷~玩了一下upload-labs靶机,有很多方法在我个人日常用过,所以总结一下文件上传漏洞的姿势
1.前端校验,发送包里修改文件后缀
2.文件类型校验,修改为image/jpeg
3.黑名单上传绕过
(apache的httpd.conf中有如下配置代码AddType application/x-httpd-php .php .phtml .phps .php5 .pht .htaccess)
.php .phtml .phps .php5 .pht .htaccess
4.大小写绕过 shell.PhP
5.空格绕过 shell.php( 空格)
6.点绕过 shell.php.
7.::$DATA绕过 shell.php::$DATA
8.点空格点绕过 shell.php. .
9.双写绕过 shell.pphphp
10.%00截断
( 影响版本:5.4.x<= 5.4.39, 5.5.x<= 5.5.23, 5.6.x <= 5.6.7exp:move_uploaded_file($_FILES['name']['tmp_name'],"/file.phpx00.jpg");源码中move_uploaded_file中的save_path可控,因此00截断即可 )
11.解析漏洞
apache:test.php.php123
IIS:目录解析(6.0)
形式:www.xxx.com/xx.asp/xx.jpg 原理: 服务器默认会把.asp,.asp目录下的文件都解析成asp文件。
文件解析
形式:www.xxx.com/xx.asp;.jpg 原理:服务器默认不解析;号后面的内容,因此xx.asp;.jpg便被解析成asp文件了。 解析文件类型
IIS6.0 默认的可执行文件除了asp还包含这三种 :
/test.asa
/test.cer
/test.cdx