4.15.1. IIS¶
4.15.1.1. IIS 6.0¶
- 后缀解析
/xx.asp;.jpg
服务器默认不解析
;
号及其后面的内容,相当于截断。
- 后缀解析
目录解析
/xx.asp/xx.jpg
(xx.asp目录下任意解析)默认解析
xx.asa
xx.cer
xx.cdx
PROPFIND 栈溢出漏洞
RCE CVE-2017-7269
4.15.1.2. IIS 7.0-7.5 / Nginx <= 0.8.37¶
在Fast-CGI开启状态下,在文件路径后加上 /xx.php
,即 xx.jpg/xx.php
会被解析为php文件。
4.15.1.3. PUT漏洞¶
开启WebDAV
拥有来宾用户,且来宾用户拥有上传权限
可任意文件上传
4.15.1.4. Windows特性¶
Windows不允许空格和点以及一些特殊字符作为结尾,创建这样的文件会自动重命名,所以可以使用 xx.php[空格]
, xx.php.
, xx.php/
, xx.php::$DATA
上传脚本文件。
4.15.1.5. 文件名猜解¶
在支持NTFS 8.3文件格式时,可利用短文件名猜解目录文件。其中短文件名特征如下:
文件名为原文件名前6位字符加上
~1
,其中数字部分是递增的,如果存在前缀相同的文件,则后面的数字进行递增。后缀名不超过3位,超过部分会被截断
所有小写字母均转换成大写的字母
文件名后缀长度大于等于4或者总长度大于等于9时才会生成短文件名,如果包含空格或者其他部分特殊字符,则无视长度条件
IIS 8.0之前的版本支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种,需要安装ASP.NET。而IIS 8.0之后的版本只能通过OPTIONS和TRACE方法猜测成功,但是没有ASP.NET的限制。
这种方法的局限性在于:
文件夹名前6位字符带点”.”,扫描程序会认为是文件而不是文件夹,最终出现误报
不支持中文文件名
这种方法可以通过命令 fsutil behavior set disable8dot3 1
关闭NTFS 8.3文件格式的支持来修复。