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

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

    栏目:win服务器问题汇总 时间:2018-09-08 10:42



    那么就说明这个目录的写权限是开着的,反之,如果返回的是一个 403 错误,那么写权限就是

    没有开起来,如果需要你认证,并且返回一个 401(权限禁止) 的响应的话,说明是开了写权限,但是匿名用户不允许。 如果一个目录同时开了”写”和“脚本和可执行程序”的话,那么web用户就可以上传一个程序并且执行它,恐怖哦%^#$!~


    纯脚本执行权限


    这样的目录就太多了。很多不需要给执行权限的目录也被管理员给了脚本执行权限,我记得在

    shotgun的一篇文章里面他说过:最小的权限+最少的服务= 最大的安全 ; 一点也没有错。给目录任何多余的权限都是没有必要的。判断一个目录是否可以执行纯脚本文件也很简单,发送一个如下一个请求:

    http://iis-server/dir/no-such-file.asp

    返回404文件不存在说明有执行权限,返回403则是没有开。


    win2003 IIS安全设置浏览目录权限


    判断一个目录是否允许浏览可能需要一点点小技巧,但是,在网站的默认首页(如:default.asp)不存在的话,那么就再简单不过了。 在浏览器里面输入:

    http://iis-server/dir/

    如果权限开着的,那么会返回200响应,并且列出当前目录里面的内容,反之,没有列出目录的话就是关了。 但是,如果默认页面default.asp存在呢?敲入上面的地址就直接打开这个页面了。别急,

    WebDAV 里面有一个请求方法叫:PROFIND。这个方法使得我们可以从服务器资源里面得到一些如文件名,创建时间,最后修改时间等等的信息。利用它我们也可以绕过 default.asp 来判断目录浏览权限的情况, telnet到IIS-server的web端口,发送如下请求:

    PROPFIND /dir/ HTTP/1.1

    Host: iis-server

    Content-Length: 0

    这时,服务器会送回一个207 Multi Status的响应,如果目录是允许浏览的,那么同时会列出目录里面的资源以及他们的属性。如果目录浏览不允许,返回的信息就会少的多。目录浏览一般来说只能算是一个低危险等级的漏洞,比如一个images目录,里面除了图片没有别的东西了,那对于服务器的安全就没有什么危害,但是,如果目录里面放了一个管理页面adminpage.asp或者一些数据库连接信息文件,可能会导致你的服务器拱手相让给入侵者。


    读权限


    判断这点很容易,发一个带 txt文件的请求就可以:

    http://iis-server/dir/no-such-file.txt

    如果返回一个 404 文件不存在的响应,就说明读权限是开着的,反正,返回403错误则说明都权限没有开。早几年接触安全的人一定知道 ::$DATA泄露ASP源代码的漏洞,其实如果一个目录里面权势asp脚本的话,那么读权限也可以不用开的,ASP只需要脚本执行权限就可以了。


    IIS 认证方法的判断


    这个漏洞是最近才公布出来的,IIS服务器支持匿名访问,基本认证和使用NTLM方式的windows集成认证,如果客户端发送一个包含认证信息的请求,IIS就会强行的尝试用这些认证信息取认证,并且放回不会的响应。这样我们就能够确定IIS的认证的配置。

    要确定IIS是否支持基本认证,可以telnet到服务器的80端口,发送如下请求:

    GET / HTTP/1.1

    Host: iis-server

    Authorization: Basic c3lzdGVtOm1hbmFnZXIA

    这是一个基本认证的请求,里面包含了一个base 64编码的用户ID和PASS,Basic后面那串字符经过base 64解码以后就是 system:manager 。如果服务器返回一个401信息,则说明基本认证选项是开着的。如果返回200信息,则有2种可能,基本认证选项没有开或者是服务器存在一个用户名是