针对CVE-2017-7269的教学性漏洞利用复现,即IIS 6.0 WebDAV中的缓冲区溢出漏洞,包含环境搭建指南、漏洞分析以及在Windows Server 2003 R2上的Metasploit利用尝试。
姓名:Killian Munt-Buron and Naji Ullah Abbasi
CVE-2017-7269 是 Microsoft Windows Server 2003 R2 中的一个缓冲区溢出漏洞。
该漏洞位于 WebDAV 的 ScStoragePathFromUrl 函数中。
该漏洞允许通过一个长头部执行任意代码。
头部以 if: <http:// 开头。
使用 ISO 文件(下载链接:https://archive.org/details/en_windows_server_2003_standard)
控制面板 => 添加或删除程序 => 添加/删除 Windows 组件
选择应用程序服务器,然后点击详细信息。
选择 Internet Information Services (IIS)
验证已选中公用文件和万维网服务。
要验证 IIS 是否已安装,请使用 Internet Explorer 打开此 URL:http://localhost/
如果您按照说明操作,您将看到此屏幕:

转到 Internet 信息服务管理器 => 单击设备名称 => 转到 Web 服务扩展 => 右键单击 WebDAV 并允许

我们有一台攻击机,运行 Ubuntu 虚拟机:

以及受害者,运行 Windows 虚拟机:

从攻击机,我们可以使用 Nmap 看到受害者:

我们尝试重现该漏洞,但遇到了一个问题。
在受害者机器上,我们创建了一个目录 /webdav。

并添加读取、写入和目录浏览权限:

使用 cadaver(一个 WebDAV 客户端),我们可以看到通信正常:


首先,我们使用一个脚本来查看服务器是否响应 PROFIND 请求:
import socket
host = "192.168.79.153"
port = 80
request = (
"PROPFIND /webdav/ HTTP/1.1\r\n"
"Host: {host}\r\n"
"Content-Length: 0\r\n"
"Content-Type: text/xml\r\n"
"Depth: 0\r\n"
"Translate: f\r\n"
"\r\n"
).format(host=host)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send(request.encode())
response = s.recv(4096)
s.close()
print(response.decode())
我们得到如下结果:
killian@vmlinux:~$ python3 mis3.py
HTTP/1.1 207 Multi-Status
Date: Sun, 18 Jan 2026 19:22:56 GMT
Server: Microsoft-IIS/6.0
Content-Type: text/xml
Transfer-Encoding: chunked
之后,我们使用 Metasploit 生成缓冲区溢出:

但我们遇到了 Internet Information Services (IIS) 的问题
我们在日志中看到:
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 207 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
2026-01-19 13:19:50 192.168.79.153 PROPFIND /webdav - 80 - 192.168.79.154 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+14.7;+rv:133.0)+Gecko/20100101+Firefox/133.0 500 0 0
我们遇到许多 HTTP 500 Internal Server Error 响应。这表明 IIS 在处理格式错误的 WebDAV 请求时遇到了内部异常,这对于该 CVE 来说是正常的。
我们试图理解问题,使用了其他 Python 脚本、Metasploit 的 payload,但总是同样的问题。
我们已验证 Windows 2003 服务器存在此漏洞:
wmic qfe list | find "KB4011783"
关于 Windows 防火墙,根据我们研究人员的说法,服务器并未配备它。
虽然未实现完整的远程代码执行,但实验结果表明,与 CVE-2017-7269 相关的易受攻击的 WebDAV 代码路径在目标系统上是可达的。
服务器持续处理格式错误的 PROPFIND 请求并返回内部服务器错误 (HTTP 500),表明存在与记录在案漏洞一致的内存处理问题。
无法实现可靠利用的原因很可能是环境因素,例如操作系统配置或未记录的安全缓解措施。
本项目严格在受控的实验室环境中进行,仅用于教育目的。