4.14. 中间件¶
4.14.1. IIS¶
4.14.1.1. IIS 6.0¶
- 后缀解析
/xx.asp;.jpg
- 目录解析
/xx.asp/xx.jpg
(xx.asp目录下任意解析) - 默认解析
xx.asa
xx.cer
xx.cdx
- PROPFIND 栈溢出漏洞
- PUT漏洞 WebDAV任意文件上传
4.14.1.2. IIS 7.0-7.5 / Nginx <= 0.8.37¶
在Fast-CGI开启状态下,在文件路径后加上 /xx.php
,则 xx.jpg/xx.php
会被解析为php文件
4.14.1.3. 其他¶
在支持NTFS 8.3文件格式时,可利用短文件名猜解目录文件
4.14.2. Nginx¶
4.14.2.1. Fast-CGI关闭¶
在Fast-CGI关闭的情况下, Nginx 仍然存在解析漏洞:
在文件路径(xx.jpg)后面加上 %00.php
, 即 xx.jpg%00.php
会被当做 php 文件来解析
4.14.2.2. Fast-CGI开启¶
在Fast-CGI开启状态下,在文件路径后加上 /xx.php
,则 xx.jpg/xx.php
会被解析为php文件
4.14.2.3. CVE-2013-4547¶
"a.jpg\x20\x00.php"
4.14.3. Apache¶
4.14.3.1. 后缀解析¶
test.php.x1.x2.x3
( x1,x2,x3 为没有在 mime.types 文件中定义的文件类型)。Apache 将从右往左开始判断后缀, 若x3为非可识别后缀,则判断x2,直到找到可识别后缀为止,然后对可识别后缀进行解析
4.14.3.2. .htaccess¶
当AllowOverride被启用时,上传启用解析规则的.htaccess
4.14.3.3. CVE-2017-15715¶
%0A绕过上传黑名单
4.14.4. lighttpd¶
xx.jpg/xx.php
4.14.5. Windows¶
Windows不允许空格和点以及一些特殊字符作为结尾,创建这样的文件会自动取出,所以可以使用 xx.php[空格]
, xx.php.
, xx.php/
, xx.php::$DATA
可以上传脚本文件