Web中间件漏洞总结之IIS漏洞
字数 1701 2025-08-26 22:12:01
IIS中间件漏洞全面分析与防御指南
一、PUT漏洞利用与防御
漏洞前提条件
- IIS 6.0版本
- 开启了WebDAV功能
- IIS来宾用户拥有写入权限
漏洞复现步骤
-
探测阶段:
- 使用IIS PUT SCANNER工具探测目标IIS是否具有写入权限
- 确认服务器原有内容结构
-
文件上传:
- 使用工具上传一句话Webshell(如test.txt)
- 通过MOVE或COPY命令将.txt文件改为.asp后缀
-
连接Webshell:
- 使用中国菜刀等工具连接上传的Webshell
-
提权操作:
- 上传cmd.exe和pr.exe提权工具
- 执行命令设置终端执行程序:
setp "路径cmd.exe" - 使用pr.exe进行提权操作:
pr.exe "net user hack1 123 /add" pr.exe "net localgroup administrators hack1 /add"
-
开启远程桌面:
- 上传并执行3389open.bat脚本开启3389端口
- 使用新建的管理员账户远程登录
防御措施
- 关闭WebDAV功能
- 严格限制IIS来宾用户的写入权限
二、远程代码执行漏洞(CVE-2017-7269)
漏洞前提条件
- IIS 6.0版本
- 开启了WebDAV功能
漏洞利用方法
-
获取EXP:
- 从GitHub下载CVE-2017-7269漏洞利用代码
- 放入Metasploit框架的相应目录:
/usr/share/metasploit-framework/modules/exploits/windows/iis/
-
区分绑定类型:
- 默认绑定:可直接利用
- 非默认绑定:需要手动输入物理路径长度和端口号
-
批量检测工具:
- 使用IIS6_WebDAV_Scanner检测物理路径长度
- 在MSF中设置正确的PhysicalPathLength参数
-
提权与远程桌面开启:
- 通过meterpreter上传pr.exe和3389open.bat
- 执行提权命令并开启3389端口
防御措施
- 及时关闭不必要的WebDAV功能
- 升级到更高版本的IIS
三、解析漏洞
IIS 6.0解析漏洞类型
-
目录解析:
- 在.asp目录下的任意文件都会以ASP格式解析执行
- 示例:
/test.asp/test.jpg会被当作ASP执行
-
分号截断:
- 文件名中使用分号截断
- 示例:
test.asp;.jpg会被当作ASP执行
IIS 7.0/7.5解析漏洞
- 在文件路径后添加
/xx.php会使文件以PHP格式执行 - 示例:
test.jpg/xx.php会被当作PHP执行
防御措施
- 限制上传目录的脚本执行权限
- 对新建目录和文件名进行严格过滤
- 禁止创建包含特殊字符(如'.')的文件名
- 使用ISAPI组件过滤特殊路径
四、短文件猜解漏洞
受影响版本
- IIS 1.0到IIS 8.5(使用.Net Framework 4以下版本)
短文件名特征
- 只显示前6个字符,后续用
~1代替 - 后缀名最多3位,超出的部分会被截断
- 所有字母转换为大写
- 以最后一个
.作为后缀分隔点 - 文件名后缀≥4或总长度≥9才会生成短文件名
漏洞检测方法
- 使用自动化工具:
IIS_shortname_Scanner - 原理:存在的短文件名返回404,不存在的返回400
防御措施
- 升级到.Net Framework 4.0或更高版本
- 修改注册表禁用短文件名功能:
- 路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem - 将
NtfsDisable8dot3NameCreation值设为1 - 重启系统生效
- 路径:
- 对现有文件进行迁移重建(剪切后粘贴)
五、综合防御建议
-
版本升级:
- 尽可能升级到最新版IIS
- 确保使用.Net Framework 4.0以上版本
-
功能限制:
- 关闭不必要的WebDAV功能
- 严格限制写入权限
-
配置加固:
- 修改注册表禁用短文件名
- 配置ISAPI过滤器
-
文件管理:
- 实施严格的文件上传策略
- 定期检查服务器文件完整性
-
监控审计:
- 部署日志监控系统
- 对可疑活动进行实时告警
通过全面了解这些IIS漏洞的原理、利用方法和防御措施,可以有效提升Web服务器的安全性,防止攻击者利用这些漏洞获取系统权限。