以下是根据发布的材料的用途来配置 Web 权限的各种方法:
• 启用写入;并禁用读取和目录浏览: 如果只想让客户端在目录中发布私人信息,而不希望别人查看所发布的内容,可以设置写入权限,但不设置读取和目录浏览权限。该配置在客户端端提交选票或性能检查时非常有用。
• 启用读取和写入;并禁用目录浏览:如果希望通过隐藏文件名来提高安全性,可设置该配置。然而,请注意,通过隐藏文件名来设置安全性是一种低级的安全防范措施,因为一个故意破坏者可通过试探和错误信息来猜测出文件名。
• 启用索引资源:如果打算让客户端搜索目录资源,请确保启用了索引服务。
如果在发布目录中有一些不想让客户端看到的脚本文件,您可以通过不授予“脚本资源访问”权限来拒绝访问。可执行文件将作为静态 HTML 文件处理,除非为该目录启用了“脚本和可执行文件”。
• 执行权限设置为“纯脚本”。
• 执行权限设置为“脚本和可执行文件”。
[url]http://iis-server/dir/no-such-file.dll[/url] /dir/为要判断得目录,no-such-file.dll是随便取得一个名字,服务器上面没有这个文件。
服务器对我们得请求会返回一个信息。如果返回的是一个500错误:
HTTP 500 - 内部服务器错误 (Internal Server error)
那么就说明这个目录的执行权限是开着的。 对于服务器,能不开执行权限的就不要开。特别是虚拟目录的执行权限,大家想一想UNICODE和二次解码漏洞的利用过程就明白了。
如果服务器返回的是一个 404 错误:HTTP 404 - 未找到文件,那么就说明这个目录的执行权限没有开。
测试一个目录对于web用户是否具有写权限,采用如下方法:
telnet 到服务器的web端口(80)并发送一个如下请求:
没有开起来,如果需要你认证,并且返回一个 401(权限禁止) 的响应的话,说明是开了写权限,但是匿名用户不允许。 如果一个目录同时开了”写”和“脚本和可执行程序”的话,那么web用户就可以上传一个程序并且执行它,恐怖哦%^#$!~
shotgun的一篇文章里面他说过:最小的权限+最少的服务= 最大的安全 ; 一点也没有错。给目录任何多余的权限都是没有必要的。判断一个目录是否可以执行纯脚本文件也很简单,发送一个如下一个请求:
[url]http://iis-server/dir/no-such-file.asp[/url] 返回404文件不存在说明有执行权限,返回403则是没有开。
判断默认映射是否存在比较简单,这里只简单的给出了在映射存在的情况下对于相应请求的响应:
扩展名: .printer
请求: [url]http://iis-server/foo.printer[/url]
响应: HTTP 500 - 内部服务器错误
扩展名:.idc
请求: [url]http://iis-server/foo.idc[/url]
响应: code 500 Internal Server Error
扩展名:.idq
请求: [url]http://iis-server/foo.idq[/url]
响应码:200 OK
响应: 找不到 IDQ 文件 D:\dir\\foo.idq
请求: [url]http://iis-server/foo.htr[/url]
响应: HTTP 404 - 未找到文件
扩展名:.htw
请求: [url]http://iis-server/foo.htw[/url]
响应: QUERY_STRING 的格式无效
扩展名:.stm
请求: [url]http://iis-server/foo.stm[/url]
响应: HTTP 404 - 未找到文件
扩展名:.shtm
请求: [url]http://iis-server/foo.shtm[/url]
响应: HTTP 404 - 未找到文件
扩展名:.shtml
响应: HTTP 404 - 未找到文件
判断操作系统是否为个人版本(Professional/Workstation )
//该文章来源于:<a href='http://www.violetblog.cn'>VioletBlog</a>