ITPub博客

首页 > IT基础架构 > 网络安全 > Office2K对IIS的意外影响(下) (转)

Office2K对IIS的意外影响(下) (转)

原创 网络安全 作者:worldblog 时间:2007-12-12 10:00:44 0 删除 编辑
Office2K对IIS的意外影响(下) (转)[@more@]

Office2K对IIS的意外影响(下)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Article last modified on 2002-9-10

The information in this article applies to:

ü  Microsoft iis 5.0

ü  Microsoft FrontPage

ü  Microsoft Outlook web Access

ü  Microsoft Exchange 2000

【具体流程】:

下面我们结合网络监视器捕获的包,来讲解一下具体流程。

蓝色的字体代表捕获的包体,这里只是部分包内容。

红色的字体代表需要重视的包内容。

绿色的字体代表我的注释。

从第594个包到第625个包的解释(弹出对话框情况下的):

OPTIONS /XY/XYZUV/XYZUVW.dll/迁移方案.doc?ClassName=XY_ZUVWABCDEF.GHIJKM&sessio=nmA3F0F1-B122-4814-AD29-0B4B6F686B40&Validate=YES&URL=http://xyzuvwabcde/exchange/zhengyun/%E6%94%B6%E4%BB%B6%E7%AE%B1/%E8%BF%81%E7%A7%BB%E6%96%B9%E6%A1%88.doc-2.EML HTTP/1.1

User-Agent: Microsoft Data Access Inte.NET Publishing Provider Cache Manager

Host: xyserver

Content-Length: 0

Connection: Keep-Alive

第一步,客户端的Explorer发送给服务器一个OPTIONS /HTTP/1.1的请求,请注意它的User-Agent已经改变了。

….. HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Tue, 10 Sep 2002 04:46:35 GMT

Set-Cookie: sessionid=b198d31e-08d1-409e-8b1c-6b484f024bbb,0x804; path=/exchange/zhengyun

Content-Type: text/html

Content-Length: 796

ETag: "b9cdb478f9b2a343a2f0b41c6df4e7b300000033dec1"

Accept-Ranges: bytes

MS-WebStorage: 6.0.4712

Cache-Control: no-cache

这是第二步:

…..POST /_vti_bin/shtml.dll/_vti_rpc HTTP/1.1

Date: Tue, 10 Sep 2002 04:46:35 GMT

MIME-Version: 1.0

User-Agent: MsfrontPage/4.0

Host: xyserver

Accept: auth/sicily

Content-Length: 127

Content-Type: application/x-www-form-urlencoded

X-Vermeer-Content-Type: application/x-www-form-urlencoded

Connection: Keep-Alive

Cache-Control: no-cache

上面的请求的含义:客户端好像认定了authoring binaries的位置,直接发送一个POST /_vti_bin/shtml.dll/_vti_rpc HTTP/1.1到服务器。Shtml.dllbrowse binary权限everyonePOST的数据是下面的这个method=url+to+web+url%3a….

method=url+to+web+url%3a4%2e0%000%2e4715&url=%2fum%2fisapi%2fComBox%2edll%2f%e8%bf%81%e7%a7%bb%e6%96%11%e1%a1%88%2edoc&flags=0  HTTP/1.1 100 Continue

….

然后,服务器返回这么一个HTML

<B>vermeer RPC packet</B>

method=url to web url:4.0.2.4715

webUrl=/

fileUrl=um/isapi/ComBox.dll/ooooooÓoo案.doc

现在,客户端的Explorer知道了服务器的version,于是开始它的工作:

Explorer将发送一个POST请求给/_vti_bin/_vti_aut/author.dllPOST的数据是method=open+service%3a4%2e0%2e2%2e4715&service%5fname=%2f,这个数据好像是固定不变的。

…POST /_vti_bin/_vti_aut/author.dll HTTP/1.1

Date: Tue, 10 Sep 2002 04:46:35 GMT

MIME-Version: 1.0

User-Agent: MSFrontPage/4.0

Host: xyserver

Accept: auth/sicily

Content-Length: 58

Content-Type: application/x-www-form-urlencoded

X-Vermeer-Content-Type: application/x-www-form-urlencoded

Connection: Keep-Alive

Cache-Control: no-cache

method=open+service%3a4%2e0%2e2%2e4715&service%5fname=%2f….. HTTP/1.1 100 Continue

Server: Microsoft-IIS/5.0

Date: Tue, 10 Sep 2002 04:46:34 GMT

这样,我们就进入了验证段。如果author.dllACL列表允许这个请求,服务器将会返回一大段配置,这基本上是/_vti_pvt/services.cnf文件的内容:

<!--Copyright (c) 2000-2001 Microsoft Corporation.  All rights reserved.-->

<!--CURRENT FILE== "NON-IE5" "NON-win32" frameset -->

  Microsoft Outlook Web Access

 

 

 

 

 

 

 

  </P> <P>&nbsp; &nbsp; <BODY></P> <P>&nbsp; &nbsp; <P><B>This page uses frames, but your browser doesn't support them.</B></P></P> <P>&nbsp; </BODY></P> <P>&nbsp;

   

上面这段不太有趣,关键看下面的:

…..HTTP/1.1 401 Access denied

Server: Microsoft-IIS/5.0

Date: Tue, 10 Sep 2002 04:46:34 GMT

WWW-Authenticate: Negotiate

WWW-Authenticate: NTLM

Content-Length: 0

有趣吧,服务器端准备NTLM的三次握手了,上面的是第一次401打回:

POST /_vti_bin/_vti_aut/author.dll HTTP/1.1

Date: Tue, 10 Sep 2002 04:46:35 GMT

MIME-Version: 1.0

User-Agent: MSFrontPage/4.0

Host: xyserver

Accept: auth/sicily

Content-Length: 58

Content-Type: application/x-www-form-urlencoded

X-Vermeer-Content-Type: application/x-www-form-urlencoded

Connection: Keep-Alive

Cache-Control: no-cache

Authorization: Negotiate YIIFggYGKwYBBQUCoIIFd……………..<很多,都是哈希后的密码>

然后,客户端把自己的密码Hash结果发给服务器。

HTTP/1.1 401 Access denied

Server: Microsoft-IIS/5.0

Date: Tue, 10 Sep 2002 04:46:34 GMT

WWW-Authenticate: Negotiate

WWW-Authenticate: NTLM

Content-Length: 0

服务器第二次401打回;

客户端再送一次:

….GET /xx/xxxxx/xxxxxx.dll/%E8%BF%81%E7%A7%BB%E6%96%B9%E6%A1%88.doc?ClassName=xx_xxxxxxxxxx.xxxxxx&ssssss=6DA3F0F1-B122-4814-AD29-0B4B6F686B40&Validate=YES&URL=http://XYZUSERVER/exchange/zhengyun/%E6%94%B6%E4%BB%B6%E7%AE%B1/%E8%BF%81%E7%A7%BB%E6%96%B9%E6%A1%88.doc-2.EML/迁移方案.doc HTTP/1.1

Accept: */*

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSie 6.0; windows NT 5.0; T312461)

Host: xyserver

Connection: Keep-Alive

这次终于过了:

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Tue, 10 Sep 2002 04:46:44 GMT

Content-Type: application/msword

Content-Length: 485376

MS-WebStorage: 6.0.4712

Expires: Mon, 09 Sep 2002 04:46:44 GMT

最后,都是这样的数据包:

ASPectratio="t" v:ext="edit">

 

 

 

 

 

它们都叫做:“HTTP: Continuation of missing frame”。

Okay,以上介绍的是弹出对话框的网络数据包。

我们还需要看看可以正常打开Word附件的情况:

最简单的恢复正常的做法就是,确保邮件主题是45个字节以上。

这时的数据包中没有任何异常的请求。

最开始,还是客户端发起GET请求:

XCP 002.002  GET /xx/xxxxx/xxxxxx.dll/%E5%91%98%E5%B7%A5%E7%8E%8B%E6%98%95.doc?ClassName=xx_xxxxxxxxxx.xxxxxx&UserID=0DB515A4-9FA8-41E9-9DE9-B449BFC95603&Validate=YES&URL=http://XYZUSERVER/exchange/zhengyun/%E6%94%B6%E4%BB%B6%E7%AE%B1/qE6qB5q8BqE8qAFq95qE6q80qAAqE5qBCq82q82q33qE3.EML/迁移方案.doc HTTP/1.1

Accept: */*

Referer: http://xyserver/xx/xxxxx/Folder/xxxxxxxx/default.asp?xxxstring=%12%12%21%21%3a%2f%2f%45%4d%41%49%4c%53%45%52%56%45%52%2f%33%33%33%68%61%6e%33%33%2f%7a%68%65%6e%67%79%75%6e%2f%25%45%36%25%39%34%25%42%36%25%33%33%33%42%42%25%42%36%25%45%37%25%41%45%25%42%31%2f%71%45%36%71%42%35%71%38%42%71%45%38%71%41%46%71%39%35%71%45%36%71%38%30%71%41%41%71%45%35%71%42%43%71%38%32%71%38%32%71%33%33%71%45%33%2e%45%4d%4c&UserID=0DB515A4-9FA8-41E9-9DE9-B449BFC95603&sssss=收件箱

Accept-Language: zh-cn

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; windows NT 5.0; T312461)

Host: xyserver

Connection: Keep-Alive

Cookie: ASPSESSIONIDQGGGGYDG=KCDDMOJCKEBJCFGMNOOCCANH

然后,服务器干净利索地返回所有附件内容:

….HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Tue, 10 Sep 2002 10:35:32 GMT

Content-Type: application/msword

Content-Length: 468992

MS-WebStorage: 6.0.4712

Expires: Mon, 09 Sep 2002 10:35:32 GMT

后面跟的全是附件数据,此处略。

为什么会有这种区别呢?!

继续研究。

区别似乎在于请求的URL的长度:

可以通过的最少字节数的URL为:

http://xyserver/xx/xxxxx/xxxxxx.dll/迁移方案.doc?ClassName=xx_xxxxxxxxxx.xxxxxx&ssssss=CE0DB799-9590-4D41-97B2-41146F1F4B0F&Validate=YES&URL=http://XYZUSERVER/exchange/zhengyun/%E6%94%B6%E4%BB%B6%E7%AE%B1/%E8%BF%81%E7%A7%BB%E6%96%B9%33%33%32123123123.EML/迁移方案.doc

总长度为260个字节。

而下面这个URL就通不过,因为URL长度为259个字节:

http://xyserver/xx/xxxxx/xxxxxx.dll/迁移方案.doc?ClassName=ss_ssssssssss.ssssss&ssssss=ss0DB799-9590-4D41-97B2-41146F1F4B0F&Validate=YES&URL=http://XYZUSERVER/exchange/zhengyun/%E6%94%B6%E4%BB%B6%E7%AE%B1/%E8%BF%81%E7%A7%BB%E6%96%B9%E6%A1%8812312312.EML/迁移方案.doc

可能少于260个字节的访问远端Web site文件的请求,就被转移到FrontPage的author.dll进行验证。

待考。

Writen by Mailto:zhengyun@tomosoft.com">zhengyun@tomosoft.com

本文档所包含的信息代表了在发布之日,ZhengYun 对所讨论问题的当前看法,Zhengyun 不保证所给信息在发布之日以后的准确性。

本文档仅供参考。对本文档中的信息,Zhengyun 不做任何明示或默示的保证。

参考文献:

http://www.xato.net/Reference/webfolders.txt

R  新闻群组:microsoft.public.inetserver.iis的邮件(寄件者:Jerry Bryant [MS] 主旨:Re: URLScan IIS Security Tool!!  日期:2001-09-13 16:17:42 PST)

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-991633/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2410110