Web中间件漏洞之IIS篇
字数 1290 2025-08-10 23:41:50

IIS中间件漏洞分析与防护指南

1. IIS简介

Internet Information Services (IIS)是微软提供的基于Windows的互联网基本服务,包含:

  • Web服务器
  • FTP服务器
  • NNTP服务器
  • SMTP服务器

安全风险:IIS长期存在安全脆弱性问题,特别是远程执行漏洞威胁严重。HTTP.sys协议堆栈未正确分析特殊设计的HTTP请求时,可能导致:

  • 系统帐户上下文执行任意代码
  • 服务器蓝屏
  • 内存数据泄露

2. PUT漏洞

漏洞原理

IIS 6.0在开启WebDAV并配置写入权限时,可能导致任意文件上传漏洞。

复现步骤

  1. 确认WebDAV和写权限已开启
  2. 使用Burp Suite抓包,将GET请求改为OPTIONS
  3. 利用工具测试文件上传
  4. 上传一句话木马并使用中国菜刀连接获取shell

修复方案

  • 关闭WebDAV服务
  • 移除写权限

3. 短文件名猜解漏洞

漏洞原理

IIS短文件名机制允许通过响应差异(404 vs 400)暴力猜解存在的短文件名。

复现方法

  1. 网站根目录创建长文件名(如aaaaaaaaaa.html)
  2. 使用工具进行短文件名猜解

修复方案

  1. 升级.NET Framework
  2. 修改注册表禁用短文件名功能:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    设置NtfsDisable8dot3NameCreation=1
    
  3. 使用CMD关闭NTFS 8.3文件格式支持
  4. 移动web文件夹内容后重新创建

局限性

  • 仅能确定前6个字符
  • 文件名太短或包含特殊字符难以猜解
  • 文件名前6位带空格时匹配不准确

4. 远程代码执行漏洞(CVE-2017-7269)

漏洞原理

IIS 6.0处理PROPFIND指令时,对URL长度缺乏有效控制,导致栈溢出。

复现步骤

  1. 在Windows Server 2003 R2 32位安装IIS 6.0
  2. 执行EXP触发漏洞
  3. 成功后可弹出计算器或执行任意代码

修复方案

  • 关闭WebDAV服务
  • 部署相关防护设备

5. 解析漏洞

IIS 6.0解析漏洞

两种利用方式:

  1. 目录解析:/test.asp/test.jpg - test.asp目录下的任何文件都被当作ASP执行
  2. 文件解析:test.asp;.jpg - 含";"的文件被当作ASP执行

IIS 7.5解析漏洞

test.jpg/.php会被PHP处理:

  1. PHP默认开启cgi.fix_pathinfo
  2. 对路径进行"修理":test.jpg/.phptest.jpg
  3. 若test.jpg存在,则作为PHP执行

修复方案

  1. 过滤新建目录文件名,禁止包含"."
  2. 禁用网站后台新建目录功能
  3. 限制上传文件的脚本执行权限
  4. 通过ISAPI组件过滤特殊格式(如.asp/xm.jpg)

综合防护建议

  1. 及时更新:保持IIS和Windows系统最新补丁
  2. 最小权限原则:仅开启必要服务(WebDAV等)
  3. 输入验证:严格过滤用户输入,特别是文件操作相关请求
  4. 日志监控:启用并定期检查IIS日志
  5. 安全配置
    • 禁用不必要的HTTP方法(OPTIONS, PUT等)
    • 配置适当的MIME类型
    • 限制脚本执行目录

通过以上措施可有效降低IIS服务器的安全风险,防止各类已知漏洞被利用。

IIS中间件漏洞分析与防护指南 1. IIS简介 Internet Information Services (IIS)是微软提供的基于Windows的互联网基本服务,包含: Web服务器 FTP服务器 NNTP服务器 SMTP服务器 安全风险 :IIS长期存在安全脆弱性问题,特别是远程执行漏洞威胁严重。HTTP.sys协议堆栈未正确分析特殊设计的HTTP请求时,可能导致: 系统帐户上下文执行任意代码 服务器蓝屏 内存数据泄露 2. PUT漏洞 漏洞原理 IIS 6.0在开启WebDAV并配置写入权限时,可能导致任意文件上传漏洞。 复现步骤 确认WebDAV和写权限已开启 使用Burp Suite抓包,将GET请求改为OPTIONS 利用工具测试文件上传 上传一句话木马并使用中国菜刀连接获取shell 修复方案 关闭WebDAV服务 移除写权限 3. 短文件名猜解漏洞 漏洞原理 IIS短文件名机制允许通过响应差异(404 vs 400)暴力猜解存在的短文件名。 复现方法 网站根目录创建长文件名(如aaaaaaaaaa.html) 使用工具进行短文件名猜解 修复方案 升级.NET Framework 修改注册表禁用短文件名功能: 使用CMD关闭NTFS 8.3文件格式支持 移动web文件夹内容后重新创建 局限性 仅能确定前6个字符 文件名太短或包含特殊字符难以猜解 文件名前6位带空格时匹配不准确 4. 远程代码执行漏洞(CVE-2017-7269) 漏洞原理 IIS 6.0处理PROPFIND指令时,对URL长度缺乏有效控制,导致栈溢出。 复现步骤 在Windows Server 2003 R2 32位安装IIS 6.0 执行EXP触发漏洞 成功后可弹出计算器或执行任意代码 修复方案 关闭WebDAV服务 部署相关防护设备 5. 解析漏洞 IIS 6.0解析漏洞 两种利用方式: 目录解析: /test.asp/test.jpg - test.asp目录下的任何文件都被当作ASP执行 文件解析: test.asp;.jpg - 含";"的文件被当作ASP执行 IIS 7.5解析漏洞 test.jpg/.php 会被PHP处理: PHP默认开启cgi.fix_ pathinfo 对路径进行"修理": test.jpg/.php → test.jpg 若test.jpg存在,则作为PHP执行 修复方案 过滤新建目录文件名,禁止包含"." 禁用网站后台新建目录功能 限制上传文件的脚本执行权限 通过ISAPI组件过滤特殊格式(如.asp/xm.jpg) 综合防护建议 及时更新 :保持IIS和Windows系统最新补丁 最小权限原则 :仅开启必要服务(WebDAV等) 输入验证 :严格过滤用户输入,特别是文件操作相关请求 日志监控 :启用并定期检查IIS日志 安全配置 : 禁用不必要的HTTP方法(OPTIONS, PUT等) 配置适当的MIME类型 限制脚本执行目录 通过以上措施可有效降低IIS服务器的安全风险,防止各类已知漏洞被利用。