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并配置写入权限时,可能导致任意文件上传漏洞。
复现步骤
- 确认WebDAV和写权限已开启
- 使用Burp Suite抓包,将GET请求改为OPTIONS
- 利用工具测试文件上传
- 上传一句话木马并使用中国菜刀连接获取shell
修复方案
- 关闭WebDAV服务
- 移除写权限
3. 短文件名猜解漏洞
漏洞原理
IIS短文件名机制允许通过响应差异(404 vs 400)暴力猜解存在的短文件名。
复现方法
- 网站根目录创建长文件名(如aaaaaaaaaa.html)
- 使用工具进行短文件名猜解
修复方案
- 升级.NET Framework
- 修改注册表禁用短文件名功能:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 设置NtfsDisable8dot3NameCreation=1 - 使用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服务器的安全风险,防止各类已知漏洞被利用。