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

提起微软公司IIS web服务器的安全问题,很多人立刻就会联想到那些为人们所称颂的致命漏洞: UNICODE , CGI 解析, .ida,idq, .Printer远程溢出等. 这些伟大的漏洞恐怕是我等scriptskidding的最爱了,利用他们可以很轻松的拿到较高的系统权限。但是这篇文章并非是讨论这些致命的漏洞的,只是比较详细的介绍了如何远程判断IIS 服务器的各种设置,如目录权限,认证方法等等,文中有些东西已经很老了,但是新的东西还是值得一看的。 希望本文能够起到一个抛砖引玉的作用。好了,废话少说,Go~!

win2003 IIS安全设置远程确定目录权限

让我们打开一个IIS服务器来看看。在IIS 服务管理器中,选择一个目录,看他的属性

在目录属性项有有这么一些选项(日志访问和索引此资源不计):

脚本资源访问: 对网站的脚本可以读取原文件。

读取       读取目录里面的静态资源。

写入       用户可以建立以及删除资源

目录浏览     用户可以浏览目录内容。

win2003 IIS安全设置应用程序设置的执行许可中有三个选项:

无         只能访问静态页面

纯脚本       只允许允许脚本 如ASP脚本

脚本和可执行程序  可以访问和执行各种文件类型

那么,如何确定服务器上面的这些开关设置呢? 别着急,一个一个来。

执行权限

如何确定某个目录是否开了执行权限呢?很简单,向服务器发送一个下面得请求:

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

/dir/为要判断得目录,no-such-file.dll是随便取得一个名字,服务器上面没有这个文件。

服务器对我们得请求会返回一个信息。如果返回的是一个500错误:

HTTP 500 - 内部服务器错误 (Internal Server error)

那么就说明这个目录的执行权限是开着的。 对于服务器,能不开执行权限的就不要开。特别是虚拟目录的执行权限,大家想一想UNICODE和二次解码漏洞的利用过程就明白了。

如果服务器返回的是一个 404 错误:

HTTP 404 - 未找到文件

那么就说明这个目录的执行权限没有开。

写权限

win2003 IIS安全设置测试一个目录对于web用户是否具有写权限,采用如下方法:

telnet 到服务器的web端口(80)并发送一个如下请求:

PUT /dir/my_file.txt HTTP/1.1

Host: iis-server

Content-Length: 10 <enter><enter>

这时服务器会返回一个100( 继续)的信息:

HTTP/1.1 100 Continue

Server: Microsoft-IIS/5.0

Date: Thu, 28 Feb 2002 15:56:00 GMT

接着,我们输入10个字母:

AAAAAAAAAA

送出这个请求后,看服务器的返回信息,如果是一个 201 Created响应:

HTTP/1.1 201 Created

Server: Microsoft-IIS/5.0

Date: Thu, 28 Feb 2002 15:56:08 GMT

Location: http://iis-server/dir/my_file.txt

Content-Length: 0

Allow: OPTIONS, TRACE, GET, HEAD, Delete, PUT, COPY, MOVE, PROPFIND,

PROPPATCH, SEARCH, LOCK, UNLOCK

那么就说明这个目录的写权限是开着的,反之,如果返回的是一个 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种可能,基本认证选项没有开或者是服务器存在一个用户名是

system的用户名,并且密码是manager (猜中的话,行大运啦)。

当前1/2页 12下一页阅读全文

(0)

相关推荐

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

    提起微软公司IIS web服务器的安全问题,很多人立刻就会联想到那些为人们所称颂的致命漏洞: UNICODE , CGI 解析, .ida,idq, .Printer远程溢出等. 这些伟大的漏洞恐怕是我等scriptskidding的最爱了,利用他们可以很轻松的拿到较高的系统权限.但是这篇文章并非是讨论这些致命的漏洞的,只是比较详细的介绍了如何远程判断IIS 服务器的各种设置,如目录权限,认证方法等等,文中有些东西已经很老了,但是新的东西还是值得一看的. 希望本文能够起到一个抛砖引玉的作用.好了

  • win2003 iis 404 设置方法与小技巧

    打开IIS管理器 =>点击要设置自定义404网站的属性=>点击"自定义错误"选项=>选中404页=>选中并打开编辑属性=>按浏览选择你要的404页=>按确定保存退出=>错误页面生效 正常这样是可以的,但有些2003系统的IIS设置就是不行,就可以用到下面的方法: 错误信息 设置成 URL 格式为 /404.htm 把 404.htm 放在网站跟目录下 或者 /文件夹/404.htm 把 404.htm 放在网站/文件夹/目录下

  • win2003 IIS虚拟主机网站防木马、权限设置、安全配置整理

    一.系统的安装 1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面. 2.IIS6.0的安装 以下为引用的内容: 开始菜单->控制面板->添加或删除程序->添加/删除Windows组件 应用程序 ---ASP.NET(可选) |--启用网络 COM 访问(必选) |--Internet 信息服务(IIS)---Internet 信息服务管理器(必选) |--公用文件(必选) |--万维网服务---Active Server pages(必

  • win2003服务器安全设置完全版(脚本之家补充)

    其实很多朋友经常搜索一些关于2003的资料都会来到我们但缺少一系列的文章列表,稍后我们会以专题的方式整理一下,下面就为大家分享一下win2003服务器的安全设置注意事项与步骤. 首先 服务器的安全一般分为: 系统安全设置.web安全(web服务器与程序).数据库安全(低权限运行) 一.服务器系统安全 第一步: 一.先关闭不需要的端口 我比较小心,先关了端口.只开了3389(远程端口) 21(FTP) 80(WEB) 1433(SQL server) 3306(MYSQL)有些人一直说什么默认的3

  • win2003 服务器安全设置图文教程

    Windows 2003 服务器安全设置 一.先关闭不需要的端口 我比较小心,先关了端口.只开了3389.21.80.1433,有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上,然后添加你需要的端口即可.PS一句:设置完端口需要重新启动! 当然大家也可以更改远程连接端口方法:

  • win2003 服务器 安全设置 技术实例(比较安全的方法)

    1.服务器安全设置之--硬盘权限篇 这里着重谈需要的权限,也就是最终文件夹或硬盘需要的权限,可以防御各种木马入侵,提权攻击,跨站攻击等.本实例经过多次试验,安全性能很好,服务器基本没有被木马威胁的担忧了. 硬盘或文件夹: C:\ D:\ E:\ F:\ 类推 主要权限部分: 其他权限部分: Administrators 完全控制 无如果安装了其他运行环境,比如PHP等,则根据PHP的环境功能要求来设置硬盘权限,一般是安装目录加上users读取运行权限就足够了,比如c:\php的话,就在根目录权限

  • win2003 iis6服务器设置排错集锦[比较全]

    问题1:未启用父路径 症状举例:Server.MapPath() 错误 'ASP 0175 : 80004005'不允许的 Path 字符 /0709/dqyllhsub/news/OpenDatabase.asp,行 4在 MapPath 的 Path 参数中不允许字符 '..'. 原因分析:许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的. 解决方法:在IIS中属性->主目录->配置->选项中.把&quo

  • 实现WIN2003 IIS最小权限分配的批处理

    WIN2003 IIS最小权限分配.bat 复制代码 代码如下: @echo off  echo "虚拟主机C盘权限设定"  echo "Author:an85.com" echo "删除C盘的everyone的权限"  cd/  cacls "%SystemDrive%" /r "everyone" /e  cacls "%SystemRoot%" /r "everyone&

  • win2003+IIS服务器下运行ASP+ACCESS非常慢的解决方法

    笔者今天重新装了服务器,装的是win2003+IIS,在上面运行的是ASP+ACCESS.装完之后,浏览HTML页面,非常快,令人很满意:)但是,运行ASP就狂慢,即使只运行<%=now()%>都非常慢.这到底是怎么回事呢? 笔者在网上狂搜一通,结果只到到一堆人提出同样的问题,但是就是没有一个有用的答案. 于是,笔者找了一个在机房工作的朋友问,结果,只用了1分钟就搞定了,真是狂喜啊.但是,好东西不能只自己享用,现在和大家分享一下. 解决办法如下: 打开IIS,应用程序池-> Defaul

  • IIS 8.5下设置自定义404错误页

    IIS版本:IIS 8.5问题描述 搭建一个测试网站,总共就2个页面(index.php和404.php),默认首页为:index.php 当访问index.php和404.php的时候,IIS服务器能正常响应,说明在IIS 8.5中配置PHP环境没有出现问题. 访问index.php 访问404.php 另外,我的错误页配置结果如下: 正常情况下,当访问某个不存在的页面时(比如:127.0.0.1/aaa.php),此时,iis服务器发现aaa.php这个文件并不存在,所以,应该会请求404.

随机推荐