当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    远程分析win2003 IIS安全设置第2/2页

    栏目:win服务器问题汇总 时间:2018-10-12 10:20


    要确定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