web容器上传文件利用方式总结

1.IIS 6.0

1)在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。

/1.asp/1.jpg

2)分号后面的不被解析 1.asp;.jpg
3)IIS6.0 默认的可执行文件除了asp还包含asa,cer,cdx

2.IIS写权限

用curl -i -X OPTIONS
www.example.com 测试是否支持PUT

3.php CGI解析漏洞(nginx/ii7.0/iis7.5等)
在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo,默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。
1.jpg/xxx.php可以执行

4.Nginx空字节代码执行(php)漏洞
Ngnix在遇到%00空字节时与后端FastCGI处理不一致
nginx 0.5.*
nginx 0.6.*
nginx 0.7 <= 0.7.65
nginx 0.8 <= 0.8.371
.jpg%00.php可执行

5.Apache(1.x/2.x)解析漏洞

1) Apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后面向前解析,直到碰到认识的扩展名为止,如果都不认识,则会暴露其源代码。
1.php.xxx可执行

2)上传.htaccess,使jpg可执行
<FilesMatch *.jpg>SetHandler application/x-httpd-php<FilesMatch>

 

6.Windows

在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点


可以通过1.php. , 1.php[空格]绕过黑名单
0
0