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 可以上传脚本文件