本文详细讲解IIS PUT漏洞的修复方法。针对IIS 6.0,通过移除站点主目录的“写入”权限解决;针对IIS 7及以上版本,需通过Web平台安装程序禁用WebDAV模块或使用appcmd命令关闭HTTP动词。同时提供IIS Manager图形界面操作及命令行修复步骤,确保服务器安全。
修复效果预览
修复完成后,攻击者将无法通过HTTP PUT方法上传恶意文件(如WebShell)到服务器。服务器日志中将不再出现成功的PUT请求,且尝试上传文件时会返回403 Forbidden或404 Not Found错误,从而保障网站文件的安全性。

修复前准备说明
- 系统权限:需要具有服务器管理员权限(Administrator)或IIS管理器访问权限。
- 备份建议:在修改IIS配置前,建议导出当前的IIS配置(使用
iisbackup或手动备份%windir%\system32\inetsrv\config\applicationHost.config),以便操作失误时恢复。 - 漏洞原理简述:IIS PUT漏洞主要源于IIS服务器默认允许HTTP PUT方法上传文件。如果站点目录同时开启了“写入”权限或安装了WebDAV发布模块,攻击者即可利用此漏洞上传恶意脚本文件,进而控制服务器。
操作正文
第1步:判断IIS版本并选择修复方案
不同版本的IIS处理文件上传权限的机制不同,请首先确认您的IIS版本:
- 打开“服务器管理器”或“IIS管理器”。
- 查看版本信息。IIS 6.0通常运行在Windows Server 2003及更早版本;IIS 7.0及以上运行在Windows Server 2008及更新版本。
方案A(IIS 6.0):通过站点属性限制写入权限。
方案B(IIS 7.0+):通过禁用WebDAV模块或限制HTTP动词来修复。
第2步:IIS 6.0修复方法(移除写入权限)
如果您使用的是IIS 6.0,请按照以下步骤操作:
- 打开“IIS管理器”(开始菜单 → 管理工具 → Internet信息服务(IIS)管理器)。
- 在左侧树形菜单中,展开“网站”,找到存在漏洞的目标站点。
- 右键点击该站点,选择“属性”。
- 在弹出的窗口中,切换到“主目录”选项卡。
- 在“本地路径”下方,找到“访问权限”区域。
- 关键操作:取消勾选“写入”复选框。如果不需要脚本执行,建议同时取消“脚本资源访问”。
- 点击“确定”保存设置。

完成判断:保存后,尝试使用PUT方法上传文件,服务器应返回403错误。
第3步:IIS 7.0及以上版本修复方法(禁用WebDAV)
IIS 7.0及更高版本默认可能安装WebDAV发布模块,这是PUT漏洞的主要来源。推荐通过图形界面或命令行禁用该模块。
方法一:通过IIS管理器禁用(推荐图形界面用户)
- 打开“IIS管理器”。
- 在左侧连接面板中,选中目标站点或服务器节点。
- 在中间的功能视图区域,找到并双击“WebDAV发布”(WebDAV Publishing)图标。
- 在右侧“操作”面板中,点击“停止”(Stop)。
- 如果不需要WebDAV功能,建议直接点击“删除”以移除该模块,防止再次被启用。

方法二:通过命令行禁用(推荐批量操作或服务器环境)
使用appcmd工具可以快速关闭所有站点的PUT/DELETE等危险HTTP动词,无需逐个配置。
- 以管理员身份打开“命令提示符”(CMD)或“PowerShell”。
- 输入以下命令并回车,以禁用所有站点的PUT和DELETE方法:
appcmd set config /section:system.webServer/security/methods -+[name='PUT',allowed='False'] appcmd set config /section:system.webServer/security/methods -+[name='DELETE',allowed='False']或者,直接卸载WebDAV模块(如果已安装):
appcmd uninstall module WebDAVModule完成判断:执行命令后,可通过appcmd list config查看配置是否已更新,或尝试PUT请求验证。
第4步:验证修复结果
修复完成后,建议进行以下测试以确认漏洞已修补:
- 使用浏览器插件(如HackBar)或命令行工具
curl发送PUT请求。 - 示例命令:
curl -X PUT https://your-domain.com/test.txt -d "test content" - 观察响应状态码:
- 若返回
403 Forbidden或404 Not Found,说明修复成功。 - 若返回
201 Created或200 OK,说明漏洞仍然存在,需重新检查配置。
问题与调整
- 问题:禁用WebDAV后,正常的文件上传功能失效。
原因:某些业务系统依赖WebDAV协议进行文件管理。
解决:如果业务必须使用WebDAV,请确保仅对特定目录启用,并严格限制IP白名单,同时确保该目录没有“写入”权限给匿名账户。或者改用ASP.NET/PHP等后端语言实现安全的文件上传接口。 - 问题:IIS 7+中找不到“WebDAV发布”图标。
原因:可能未安装WebDAV模块,或者该站点未继承服务器级别的WebDAV设置。
解决:检查服务器级别的“模块”列表中是否包含WebDAVModule。如果不存在,则PUT漏洞风险较低,但仍建议通过appcmd限制HTTP动词以增强安全。
总结
IIS PUT漏洞的修复核心在于“最小权限原则”。对于老旧的IIS 6.0,关键在于取消目录的“写入”权限;对于现代IIS 7+,核心在于禁用或卸载WebDAV模块,并通过appcmd限制HTTP动词。建议企业级服务器统一采用命令行批量修复,并定期使用安全扫描工具检测配置状态。
以上就是IIS PUT漏洞如何修复的详细内容,更多关于IIS安全配置的资料请关注本站其它相关文章!
