IIS中间件常见漏洞总结
1.IIS介绍
1.IIS是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。
2.IIS一般适用于windows系统,而不适用于其它系统。
2.IIS 6.X
存在以下漏洞:解析漏洞
1.解析漏洞:
a.该版本 默认会将 *.asp;.jpg 此种格式的文件名,当成Asp解析,原理是 服务器默认不解析; 号及其后面的内容,相当于截断。
b.该版本 默认会将 ***.asp/**目录下的所有文件当成Asp解析。
c.IIS6.x除了会将扩展名为.asp的文件解析为asp之外,还默认会将扩展为.asa,.cdx,.cer解析为asp。
d.修复建议:1.限制上传目录执行权限,不允许执行脚本 2.不允许新建目录。 3.上传的文件需经过重命名(时间戳+随机数+.jpg等)
3.IIS 7.X
存在以下漏洞:解析漏洞
1.解析漏洞:
a.该版本 在Fast-CGI运行模式下,在任意文件,例:a.jpg后面加上/.php,会将a.jpg 解析为php文件。
b.修复建议:配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序
4.PUT任意文件写入
IIS Server 在 Web 服务扩展中开启了 WebDAV之后,支持多种请求,配合写入权限,可造成任意文件写入。
修复建议:关闭WebDAV 和 写权限
5.IIS短文件猜解漏洞
1.Windows 以 8.3 格式生成与 MS-DOS (微软的一种操作系统)兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows的程序访问这些文件。
2.目前IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种。
IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功。
3.当访问构造的某个存在的短文件名,会返回404;当访问构造的某个不存在的短文件名,会返回400;
6.HTTP.SYS远程代码执行 (MS15-034)
1.影响范围:
Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2
2.适用于IIS7.5,编辑请求头,增加Range: bytes=0-18446744073709551615字段,若返回码状态为416 Requested Range Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞
7.RCE-CVE-2017-7269
1.Microsoft Windows Server 2003 R2中的Internet信息服务(IIS)6.0中的WebDAV服务中的ScStoragePathFromUrl函数中的缓冲区溢出允许远程攻击者通过以”If:<http://“开头的长标头执行任意代码PROPFIND请求。
2.影响范围:
在Windows 2003 R2(Microsoft® Windows® Server 2003, Enterprise Edition Service Pack 2)上使用IIS 6.0并开启WebDAV扩展。