远程分析win2003 IIS安全设置

 更新时间:2007年12月08日 23:19:09   作者:  

要确定NTLM选项是否开启则可以向IIS发送如下请求

GET / HTTP/1.1

Host: iis-server

Authorization: NegotiateTlRMTVNTUAABAAAAB4IAoAAAAAAAAAAAAAAAAAAAAAA=

同样,如果返回401消息,则说明支持NTLM,返回200说明不NTLM认证选项没有开启。

对于大多数网站来说,这两种认证方式都是不需要开起来的,他们有可能泄露一些服务器的重要信息。


泄露内部IP地址信息


如果IIS服务器在一个使用NAT的防火墙里面的话,通常都有个内部地址如10.x.x.x。

如果IIS开启了基本认证选项,那么发送如下一个简单的请求就可以得到服务器的内部IP:

GET / HTTP/1.1

Host:

Authorization: Basic c3lzdGVtOm1hbmFnZXIA

服务器将返回一个如下响应:

HTTP/1.1 401 Access Denied

Server: Microsoft-IIS/5.0

Date: Fri, 01 Mar 2002 15:45:32 GMT

WWW-Authenticate: Basic realm="10.1.1.2"

Connection: close

Content-Length: 3245

Content-Type: text/html

那个10.1.1.2就是机器的内部ip地址,本来realm的值是客户端提供给的一个主机头,但这里它是空的,所以IIS就选择了本机的IP地址来代替。同样的,利用PROPFIND,WRITE,MKCOL等请求的返回信息,也能泄露主机的一些信息,如我们向服务器提请下面这样一个请求:

PROPFIND / HTTP/1.1

Host:

Content-Length: 0

在IIS配置成使用主机名(见后)的情况下,则不会暴露主机的IP地址,但是会暴露NetBIOS名。事实上我们可以利用IIS的认证获得更多的信息,如所在域的名字,方法是向服务器发送如下带NTLM认证的请求:

GET / HTTP/1.1

Host: iis-server

Authorization: NegotiateTlRMTVNTUAABAAAAB4IAoAAAAAAAAAAAAAAAAAAAAAA

服务器会返回一个信息:

HTTP/1.1 401 Access Denied

Server: Microsoft-IIS/5.0

Date: Fri, 01 Mar 2002 16:24:58 GMT

WWW-Authenticate: Negotiate TlRMTVNTUAACAAAADAAMADAAAAAFgoKgeGvyVuvy67U
AAAAAAAAAAEQARAA8AAAAUwBDAFkATABMAEEAAgAMAFMAQwBZAEwATABBAAEA
DABTAEMAWQBMAEwAQQAEAAwAUwBDAFkATABMAEEAAwAMAFMAQwBZAEwATABB
AAAAAAA=

Content-Length: 3245

Content-Type: text/html

那一长串字符就包含了主机名和NT所在域的名字的base 64 编码。

临时解决方法:在cmd下进入c:\inetpub\adminscripts或者是adminiscript所在目录执行一下命令

adsutil set w3svc/UseHostName True

net stop iisadmin /y

net start w3svc


默认应用程序映射判断


判断默认映射是否存在比较简单,这里只简单的给出了在映射存在的情况下对于相应请求的响应:

扩展名:  .printer

请求:   http://iis-server/foo.printer

响应:  HTTP 500 - 内部服务器错误


扩展名:.idc

请求: http://iis-server/foo.idc

响应: code 500 Internal Server Error


扩展名:.idq

请求: http://iis-server/foo.idq

响应码:200 OK

响应: 找不到 IDQ 文件 D:\dir\\foo.idq 



扩展名:.ida

请求:  http://iis-server/foo.ida

响应码:200 OK

响应: 找不到  IDQ 文件 D:\dir\foo.ida


扩展名:.htr

请求: http://iis-server/foo.htr

响应: HTTP 404 - 未找到文件


扩展名:.htw

请求: http://iis-server/foo.htw

响应码: 200 OK

响应: QUERY_STRING 的格式无效


扩展名:.stm

请求: http://iis-server/foo.stm

响应: HTTP 404 - 未找到文件


扩展名:.shtm

请求:  http://iis-server/foo.shtm

响应:  HTTP 404 - 未找到文件


扩展名:.shtml

请求: http://iis-server/foo.ida

响应: HTTP 404 - 未找到文件


判断操作系统是否为个人版本(Professional/Workstation)


IIS安装在windows2000专业版和NT workstation上面时候,同时进行的连接数最大为10个,利用这一点我们可以简单判断操作系统版本:创建10个 HTTP 1.1的持续连接,第11个连接请求将放回403错误信息。

相关文章

最新评论