要确定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错误信息。
2
如对本文有疑问,
点击进行留言回复!!
网友评论