CVE-2017-7269:WebDAV漏洞的十年安全启示与技术演进
当华南理工大学的研究团队在2016年首次发现IIS 6.0的WebDAV组件存在异常时,可能并未预料到这个编号为CVE-2017-7269的漏洞会成为影响深远的经典案例。这个潜伏在Windows Server 2003 R2系统中的缓冲区溢出漏洞,因其特殊的触发条件和稳定的利用效果,至今仍在安全领域引发讨论。本文将深入剖析该漏洞的技术本质,还原其历史影响,并探讨其对现代安全体系建设的启示。
1. 漏洞技术机理深度解析
1.1 WebDAV协议与IIS 6.0的交互缺陷
WebDAV(Web Distributed Authoring and Versioning)作为HTTP协议的扩展,原本是为了实现远程文件管理功能。在IIS 6.0的实现中,处理PROPFIND请求的ScStoragePathFromUrl函数存在关键设计缺陷:
int ScStoragePathFromUrl(LPCWSTR pwszUrl, LPWSTR pwszPath, LPDWORD pcchPath) {
WCHAR wszCanonUrl[MAX_PATH];
DWORD cchCanonUrl = sizeof(wszCanonUrl)/sizeof(WCHAR);
// 未对输入URL长度进行校验
CanonicalizeUrl(pwszUrl, wszCanonUrl, &cchCanonUrl);
// 直接进行内存拷贝操作
memcpy(pwszPath, wszCanonUrl, cchCanonUrl * sizeof(WCHAR));
*pcchPath = cchCanonUrl;
return 0;
}
这种典型的缓冲区溢出漏洞源于两个关键失误:
- 缺少对输入URL长度的有效性验证
- 使用固定大小的栈缓冲区(MAX_PATH=260字符)处理可变


624

被折叠的 条评论
为什么被折叠?



