[iis相关资料]IIS目录权限设置说明(2)

作者在 2007-09-18 19:29:00 发布以下内容

纯脚本执行权限

这样的目录就太多了。很多不需要给执行权限的目录也被管理员给了脚本执行权限我.最小的权限+最少的服务= 最大的安全 ; 一点也没有错。给目录任何多余的权限都是没有必要的。判断一个目录是否可以执行纯脚本文件也很简单,发送一个如下一个请求:
  http://iis-server/dir/no-such-file.asp 返回404文件不存在说明有执行权限,返回403则是没有开。

浏览目录权限

  判断一个目录是否允许浏览可能需要一点点小技巧,但是,在网站的默认首页(如: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只需要脚本执行权限就可以了。

默认应用程序映射判断
判断默认映射是否存在比较简单,这里只简单的给出了在映射存在的情况下对于相应请求的响应:
扩展名:  .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错误信息。

默认分类 | 阅读 2938 次
文章评论,共0条
游客请输入验证码
浏览585122次