尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

别再让服务器裸奔!手把手教你排查并修复IIS 6.x/7.x的5个高危漏洞(附修复脚本)

别再让服务器裸奔!手把手教你排查并修复IIS 6.x/7.x的5个高危漏洞(附修复脚本) IIS服务器安全加固实战5个高危漏洞排查与修复指南1. 漏洞背景与排查思路Windows服务器管理员和安全工程师在日常工作中经常会遇到IIS中间件的安全挑战。作为微软生态中广泛使用的Web服务器IIS 6.x和7.x版本中存在多个已知高危漏洞可能成为攻击者入侵的突破口。本文将聚焦五个最具破坏性的漏洞提供从检测到修复的完整解决方案。为什么这些漏洞如此危险因为它们往往不需要复杂攻击手段就能利用比如通过简单的文件上传绕过执行恶意代码利用解析特性获取服务器控制权远程读取系统内存导致数据泄露通过PUT方法写入恶意文件枚举短文件名获取敏感信息路径排查这些漏洞需要系统性的方法版本确认首先确定服务器运行的IIS具体版本功能检查确认是否启用了WebDAV等扩展功能权限审计检查各目录的读写执行权限设置日志分析查看异常请求模式和频率工具辅助使用专业扫描工具进行深度检测2. IIS 6.x/7.x解析漏洞深度解析2.1 IIS 6.x解析漏洞这个版本的解析机制存在三个关键问题分号截断漏洞攻击者可上传malicious.asp;.jpg文件服务器只识别.asp部分执行恶意代码示例攻击路径/uploads/malicious.asp;.jpg目录解析漏洞任何放置在/malicious.asp/目录下的文件无论扩展名为何都会被当作ASP脚本执行示例/malicious.asp/innocent.jpg非常规扩展名漏洞除.asp外以下扩展名也会被解析执行.asa.cdx.cer修复方案# 禁用非常规扩展名的脚本执行 Set-WebConfigurationProperty -Filter /system.webServer/handlers -Name accessPolicy -Value Read,Script # 限制上传目录权限 icacls C:\inetpub\wwwroot\uploads /deny IIS_IUSRS:(OI)(CI)(M,WDAC,WO,DE,DC,AD,RA)2.2 IIS 7.x解析漏洞与6.x版本不同7.x的漏洞表现为在文件路径后添加特定后缀可改变解析方式例如/real.jpg/malicious.php会被当作PHP执行需要FastCGI配置不当作为前置条件修复步骤修改php.ini配置cgi.fix_pathinfo0重启PHP-CGI服务验证修复curl -I http://yourserver.com/test.jpg/malicious.php应返回403而非200状态码3. HTTP.SYS远程代码执行漏洞(MS15-034)这个内核级漏洞影响范围极广可导致内存数据泄露系统崩溃(蓝屏)远程代码执行检测方法使用curl发送特殊构造的请求curl http://yourserver.com -H Host: yourserver.com -H Range: bytes0-18446744073709551615若返回416状态码则存在漏洞。修复方案立即安装微软官方补丁KB3042553 (Windows 7/2008 R2) KB3042553 (Windows 8/2012) KB3042553 (Windows 8.1/2012 R2)验证修复Get-HotFix -Id KB3042553应显示补丁已安装4. IIS PUT文件写入漏洞当服务器满足以下条件时存在风险启用了WebDAV扩展网站目录具有写入权限攻击示例使用Burp Suite拦截请求将GET改为OPTIONS方法确认WebDAV支持的方法发送PUT请求创建文件PUT /malicious.txt HTTP/1.1 Host: yourserver.com Content-Length: 28 This is malicious content...完整修复方案禁用WebDAVDisable-WindowsOptionalFeature -Online -FeatureName IIS-WebDAV移除写入权限Set-WebConfigurationProperty -Filter /system.webServer/security/requestFiltering -Name allowDoubleEscaping -Value False配置请求过滤规则security requestFiltering verbs allowUnlistedfalse add verbPUT allowedfalse/ /verbs /requestFiltering /security5. 短文件名枚举漏洞IIS自动生成的8.3格式短文件名可能泄露敏感信息完整文件名短文件名风险backup2023.zipBACKUP~1.ZIP暴露备份文件admin_login.aspADMIN_~1.ASP暴露管理后台检测方法for i in {A..Z}; do curl -s -o /dev/null -w %{http_code} http://yourserver.com/$i*~1.* done返回404表示存在400表示不存在。修复方案禁用8.3文件名生成fsutil behavior set disable8dot3 1重启服务器生效对现有短文件名处理Get-ChildItem -Recurse | Where-Object {$_.Name -match ~} | Rename-Item -NewName {$_.Name -replace ~.*$,}6. 自动化安全加固脚本以下PowerShell脚本可一键修复多个漏洞# IIS安全加固脚本 param( [string]$WebsiteName Default Web Site ) # 1. 解析漏洞修复 Set-WebConfigurationProperty -Filter /system.webServer/handlers -Name accessPolicy -Value Read,Script Set-WebConfigurationProperty -Filter /system.webServer/security/requestFiltering -Name allowDoubleEscaping -Value False # 2. 禁用WebDAV Disable-WindowsOptionalFeature -Online -FeatureName IIS-WebDAV -NoRestart # 3. 限制上传目录权限 $uploadPath C:\inetpub\wwwroot\uploads if (Test-Path $uploadPath) { icacls $uploadPath /deny IIS_IUSRS:(OI)(CI)(M,WDAC,WO,DE,DC,AD,RA) } # 4. 禁用8.3文件名 fsutil behavior set disable8dot3 1 # 5. 应用所有更改 iisreset /restart Write-Host 安全加固完成建议立即进行漏洞扫描验证。 -ForegroundColor Green使用说明保存为Secure-IIS.ps1以管理员身份运行.\Secure-IIS.ps1 -WebsiteName 您的网站名称根据实际环境调整$uploadPath变量7. 加固后的验证与监控完成修复后建议建立持续监控机制漏洞扫描验证使用Nessus或OpenVAS进行深度扫描重点关注HTTP.SYS和解析相关漏洞日志监控策略监控IIS日志中的异常请求模式重点关注以下特征包含;或~的URLPUT/OPTIONS方法请求异常的Range头性能基线对比指标加固前加固后允许偏差CPU使用率30%32%±5%内存占用1.2GB1.3GB±10%请求响应时间120ms130ms±15%自动化监控脚本示例# 监控异常请求 $logPath C:\inetpub\logs\LogFiles\W3SVC1 $keywords (;, ~1, PUT, OPTIONS, Range:) Get-ChildItem $logPath -Filter *.log | ForEach-Object { $content Get-Content $_.FullName $keywords | ForEach-Object { if ($content -match $_) { Send-MailMessage -From alertyourdomain.com -To adminyourdomain.com -Subject IIS异常请求警报 -Body 发现可疑请求: $_ } } }在实际运维中我们遇到过因忽略短文件名漏洞导致备份文件被下载的案例。攻击者通过枚举获取WEB_CON~1.ZIP后成功下载了完整的WEB_CONFIG_BACKUP.zip其中包含数据库连接字符串等敏感信息。这提醒我们看似低危的漏洞也可能成为入侵链的关键环节。
返回列表