文章收藏-FAQ 位置:电脑学习网

IIS 的各种身份验证详细测试(2)

3.1.6. 服务端验证通过,返回资源
服务端收到用户名和加密后的质询码后,根据用户名查找服务器上此用户的密码,按照客户端同样的方法加密质询码,然后跟收到客户端返回的质询码,如果一致,则说明用户名和密码都一致,验证通过,返回客户端IE请求资源。如果不对,再次返回无授权http回应。

HTTP/1.1 200 OK

Date: Sun, 11 Nov 2007 12:29:44 GMT

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET

X-AspNet-Version: 2.0.50727

Cache-Control: private

Content-Type: text/html; charset=utf-8

Content-Length: 522

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN“ “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>

<html xmlns=“http://www.w3.org/1999/xhtml“ >

<head><title>

.Untitled Page

</title></head>

<body>

<form name=“form1“ method=“post“ action=“default.aspx“ id=“form1“>
<div>

<input type=“hidden“ name=“__VIEWSTATE“ id=“__VIEWSTATE“ value=“/wEPDwUJNzgzNDMwNTMzZGTcefU2sz1MLsbXiZdUEXomIyZ20Q==“ />

</div><div>
This is a simple page!</div>

</form>
</body>

</html>

  3.2. 客户端用机器名访问服务器,登录用户名/口令跟服务器不匹配
这种情况,客户端用服务器名访问服务器,但是客户端登录系统的用户跟服务器上的用户名和密码不匹配,也就是要么服务器上没这个用户,要么就是服务器这个用户的密码跟客户端这个用户的密码不一样。

  3.2.1. 客户端IE申请页面
GET /wstest/default.aspx HTTP/1.1

Accept: */*

Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81

Connection: Keep-Alive

  3.2.2. 服务端返回无授权回应
  服务端不允许匿名访问,服务端返回需要集成验证的的http头。

HTTP/1.1 401 Unauthorized
Content-Length: 1327
Content-Type: text/html
Server: Microsoft-IIS/6.0

WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Wed, 14 Nov 2007 12:38:36 GMT

  3.2.3. 客户端选择NTLM验证,请求质询码
GET /wstest/default.aspx HTTP/1.1

Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81

Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFAs4OAAAADw==

  3.2.4. 服务器返回质询码
HTTP/1.1 401 Unauthorized

Content-Length: 1251

Content-Type: text/html

Server: Microsoft-IIS/6.0

WWW-Authenticate: Negotiate TlRMTVNTUAACAAAAEgASADgAAAAFgoqikemftrQx0qUAAAAAAAAAAFwAXABKAAAABQLODgAAAA9CAEkAWgBUAEEATABLAFIAMgACABIAQgBJAFoAVABBAEwASwBSADIAAQASAEIASQBaAFQAQQBMAEsAUgAyAAQAEgBiAGkAegB0AGEAbABrAFIAMgADABIAYgBpAHoAdABhAGwAawBSADIAAAAAAA==

X-Powered-By: ASP.NET

Date: Wed, 14 Nov 2007 12:38:36 GMT

  3.2.5. 客户端发送用登陆本机的账户加密后的质询码
  客户端IE首先用本机登录用户的密码派生的key加密质询码,然后连同用户名一起发送到服务端验证。

GET /wstest/default.aspx HTTP/1.1

Accept: */*

Accept-Language: zh-cn

UA-CPU: x86

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81

Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAIoAAAAYABgAogAAABQAFABIAAAAGgAaAFwAAAAUABQAdgAAAAAAAAC6AAAABYKIogUCzg4AAAAPVwBJAE4AMgAwADAAMwAtAFAAQwBBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFcASQBOADIAMAAwADMALQBQAEMAwo4jxECJeUwAAAAAAAAAAAAAAAAAAAAA2/kscwhI0mmAC6W4OmsZjbrRyrS2NGUX

  3.2.6. 服务端返回无授权回应
  客户端本机登录的用户名和密码跟服务器端没有匹配的,所以验证在服务端没有通过,服务端返回无授权的回应。

HTTP/1.1 401 Unauthorized

Content-Length: 1251

Content-Type: text/html

Server: Microsoft-IIS/6.0

WWW-Authenticate: Negotiate

WWW-Authenticate: NTLM

X-Powered-By: ASP.NET

Date: Wed, 14 Nov 2007 12:38:36 GMT

3.2.7. 客户端及选选择NTLM验证,要求输入用户名和口令,再次请求质询码
GET /wstest/default.aspx HTTP/1.1

Accept: */*

Accept-Language: zh-cn

UA-CPU: x86

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81

Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFAs4OAAAADw==

  3.2.8. 服务端返回质询码
HTTP/1.1 401 Unauthorized

Content-Length: 1251

Content-Type: text/html

Server: Microsoft-IIS/6.0

WWW-Authenticate: Negotiate TlRMTVNTUAACAAAAEgASADgAAAAFgoqi3GHiM9qD6TUAAAAAAAAAAFwAXABKAAAABQLODgAAAA9CAEkAWgBUAEEATABLAFIAMgACABIAQgBJAFoAVABBAEwASwBSADIAAQASAEIASQBaAFQAQQBMAEsAUgAyAAQAEgBiAGkAegB0AGEAbABrAFIAMgADABIAYgBpAHoAdABhAGwAawBSADIAAAAAAA==

X-Powered-By: ASP.NET

Date: Wed, 14 Nov 2007 12:38:45 GMT

  3.2.9. 客户端发送使用前面输入账户的密码加密后的质询码
GET /wstest/default.aspx HTTP/1.1

Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81

Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAIgAAAAYABgAoAAAABIAEgBIAAAAGgAaAFoAAAAUABQAdAAAAAAAAAC4AAAABYKIogUCzg4AAAAPQgBJAFoAVABBAEwASwBSADIAYQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBXAEkATgAyADAAMAAzAC0AUABDAKeYMtcyzwKJAAAAAAAAAAAAAAAAAAAAAExqwTipbr+IzohNdmnopPU1B9pp7QBplA==

  3.2.10. 服务端验证通过,返回资源
HTTP/1.1 200 OK

Date: Wed, 14 Nov 2007 12:38:45 GMT

Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 522

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN“ “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>

<html xmlns=“http://www.w3.org/1999/xhtml“ >

<head><title>

.Untitled Page

</title></head>

<body>

<form name=“form1“ method=“post“ action=“default.aspx“ id=“form1“>

<div>

<input type=“hidden“ name=“__VIEWSTATE“ id=“__VIEWSTATE“ value=“/wEPDwUJNzgzNDMwNTMzZGTcefU2sz1MLsbXiZdUEXomIyZ20Q==“ />

</div>

<div>

This is a simple page!</div>

</form>

</body>

</html>

  3.3. 客户端用机器名访问服务器,登录用户名/口令跟服务器匹配
  这种情况,客户端用服务器名访问服务器,而且客户端登录系统的用户正好在服务器上有个同名同密码的用户。

  3.3.1. 客户端IE申请页面
GET /wstest/default.aspx HTTP/1.1

Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81
Connection: Keep-Alive

  3.3.2. 服务端返回无授权回应
同样,服务端不允许匿名访问,服务端返回需要集成验证的的http头。

HTTP/1.1 401 Unauthorized
Content-Length: 1327
Content-Type: text/html
Server: Microsoft-IIS/6.0
WWW-Authenticate: Negotiate

WWW-Authenticate: NTLM
X-Powered-By: ASP.NET

Date: Wed, 14 Nov 2007 12:35:41 GMT

  3.3.3. 客户端选择NTLM验证,请求质询码
GET /wstest/default.aspx HTTP/1.1

Accept: */*

Accept-Language: zh-cn
UA-CPU: x86

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81

Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFAs4OAAAADw==

  3.3.4. 服务器返回质询码
HTTP/1.1 401 Unauthorized

Content-Length: 1251
Content-Type: text/html
Server: Microsoft-IIS/6.0

WWW-Authenticate: Negotiate TlRMTVNTUAACAAAAEgASADgAAAAFgoqiSWLtzjLMElAAAAAAAAAAAFwAXABKAAAABQLODgAAAA9CAEkAWgBUAEEATABLAFIAMgACABIAQgBJAFoAVABBAEwASwBSADIAAQASAEIASQBaAFQAQQBMAEsAUgAyAAQAEgBiAGkAegB0AGEAbABrAFIAMgADABIAYgBpAHoAdABhAGwAawBSADIAAAAAAA==

X-Powered-By: ASP.NET

Date: Wed, 14 Nov 2007 12:35:41 GMT
  3.3.5. 客户端发送用登陆本机的账户加密后的质询码
GET /wstest/default.aspx HTTP/1.1

Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; MAXTHON 2.0)

Host: biztalkr2:81
Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAIoAAAAYABgAogAAABQAFABIAAAAGgAaAFwAAAAUABQAdgAAAAAAAAC6AAAABYKIogUCzg4AAAAPVwBJAE4AMgAwADAAMwAtAFAAQwBBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFcASQBOADIAMAAwADMALQBQAEMAg7v6JYS/3bAAAAAAAAAAAAAAAAAAAAAArE2xu3xDN3w0LmV1yUkDkrqVWhb2wg27

  3.3.6. 服务端验证通过,返回资源
  用户端登录的用户名和密码正好能匹配到服务端的一个用户和密码,验证通过。

HTTP/1.1 200 OK

Date: Wed, 14 Nov 2007 12:35:41 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private

Content-Type: text/html; charset=utf-8

Content-Length: 522

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN“ “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>

<html xmlns=“http://www.w3.org/1999/xhtml“ >

<head><title>

.Untitled Page

</title></head>

<body>

<form name=“form1“ method=“post“ action=“default.aspx“ id=“form1“>

<div>

<input type=“hidden“ name=“__VIEWSTATE“ id=“__VIEWSTATE“ value=“/wEPDwUJNzgzNDMwNTMzZGTcefU2sz1MLsbXiZdUEXomIyZ20Q==“ />

</div>

<div>

This is a simple page!</div>

</form>

</body>

</html>

  4、 客户端和服务器都在同一域中
服务器和客户端机器在同一个局域网中,并同在一个域中。客户端IE请求服务端IIS的一个页面iisstart.htm。

IIS服务端设置:
 不启用匿名访问
 只启用集成windows身份验证

这样的环境下又范围以下几种情况:

4.1. 客户端用机ip访问服务器
4.1.1. 客户端IE申请页面
GET /iisstart.htm HTTP/1.1

Accept: */*

Accept-Language: zh-cn

UA-CPU: x86

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; MAXTHON 2.0)

Host: 192.168.100.5:81

Connection: Keep-Alive

  4.1.2. 服务端返回无授权回应
IIS的设置不允许匿名访问,只能windows验证,所以发送401无授权回应,同时发回Negotiate和NTLM两个身份验证头让客户端选择。

HTTP/1.1 401 Unauthorized

Content-Length: 1327

Content-Type: text/html

Server: Microsoft-IIS/6.0

WWW-Authenticate: Negotiate

WWW-Authenticate: NTLM

X-Powered-By: ASP.NET

Date: Wed, 14 Nov 2007 07:23:43 GMT

  4.1.3.客户端选择NTLM验证,要求输入用户名密码,请求质询码
  由于使用的是ip地址访问服务器,URL中包含有”.”字符,IE认为访问的不是企业内部服务器,所以不直接提供用户凭据给服务端,要求用户输入帐户

GET /iisstart.htm HTTP/1.1

Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; MAXTHON 2.0)

Host: 192.168.100.5:81
Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFAs4OAAAAD4==

  4.1.4.服务器返回质询码
HTTP/1.1 401 Unauthorized
Content-Length: 1251
Content-Type: text/html
Server: Microsoft-IIS/6.0
WWW-Authenticate: Negotiate TlRMTVNTUAACAAAACgAKADgAAAAFgomiF0CRjzLrr+cAAAAAAAAAAHwAfABCAAAABQLODgAAAA9TAFoAQgBUAEkAAgAKAFMAWgBCAFQASQABAAgATABPAEcAUwAEABgAcwB6AGIAdABpAC4AZwBvAHYALgBjAG4AAwAiAGwAbwBnAHMALgBzAHoAYgB0AGkALgBnAG8AdgAuAGMAbgAFABgAcwB6AGIAdABpAC4AZwBvAHYALgBjAG4AAAAAAA==

X-Powered-By: ASP.NET
Date: Wed, 14 Nov 2007 07:24:15 GMT

  4.1.5. 客户端发送使用前面输入账户的密码加密后的质询码
GET /iisstart.htm HTTP/1.1

Accept: */*

Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; MAXTHON 2.0)

Host: 192.168.100.5:81
Connection: Keep-Alive

Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAHYAAAAYABgAjgAAABoAGgBIAAAACgAKAGIAAAAKAAoAbAAAAAAAAACmAAAABYKIogUCzg4AAAAPMQA5ADIALgAxADYAOAAuADEAMAAwAC4ANQBqAGkAbgBqAHoASgBJAE4ASgBaALVaV8Ku0ERuAAAAAAAAAAAAAAAAAAAAAFowQcbaUXykWTrI7WJKQUA2taaV7wo5T2==

  4.1.6.服务端验证通过,返回资源
HTTP/1.1 200 OK
Content-Length: 1135
Content-Type: text/html
Last-Modified: Mon, 12 Nov 2007 09:33:27 GMT
Accept-Ranges: bytes
ETag: “d4469314f25c81:e35“

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET
Date: Wed, 14 Nov 2007 07:24:15 GMT
<html>
<head>

<meta HTTP-EQUIV=“Content-Type“ Content=“text/html; charset=gb2312“>
</head>
<body bgcolor=white>

This is a simple page!

</body>

</html>

     [文章来源:“十万个为什么”电脑学习网]
     [网络地址:http://why100000.com]
     [版权声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系本站,我们会尽快予以更正。]
 

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822