远程分析win2003 IIS安全设置

提起微软公司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

这时服务器会返回一个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

文章来源:http://www.iis7.com/c/90/

原文地址:https://www.cnblogs.com/ngnntds03/p/10647231.html

时间: 2024-09-29 18:48:44

远程分析win2003 IIS安全设置的相关文章

IIS网站设置SSL加密机制

很多朋友都喜欢使用Windows自带的组件IIS来架设自己的Web服务器,然而IIS在默认情况下使用的是HTTP协议,这种协议是以明文形式来传输数据的,这样黑客很容易窃取你或朋友在信息传输过程中的一些重要信息,为了避免信息遭受他人的非法窃取,因此非常有必要给你的IIS网站设置SSL加密机制. SSL加密原理 SSL(Security Socket Layer)的中文意思是"安全套接层协议",它是由Netscape公司推出的一种安全通信,SSL可以让客户机和服务器之间建立一条加密的安全通

IIS 安全设置

这近网站中毒,以下把IIS安全设置记录一下,以便查阅. 1.对于不需要执行的目录,将处理程序映射中的编辑功能权限中的脚本去掉,这样即使上传了木马文件在此目录,也是无法执行的. 删除IIS默认的匿名用户. 先见一个用户,用户名已IIS开头,以后看到这个用户名就知道是IIS用户,这个用户隶属于IIS_USES组 网站目录除系统管理员用户外,其他用户全部删除,添加上面增加的用户.并设置所有用户都无写入权限. 删除IIS默认的匿名用户

中文乱码的分析 和 从Eclipse设置启动JVM时的字符集(转)

最近时常碰到中文乱码的问题,eclipse的编码环境设置的都是UTF-8,外部也是以UTF-8的编码进行传参的,但是遇到中文的时候还是因为乱码而产生一系列的错误.在网上查了许多资料,发现这是跟JVM的编码有关系的,JVM默认引用电脑操作系统的编码格式进行编码(大部分中文win xp系统的编码格式是GBK),所以JVM把java编译成class文件的时候会以GBK的方式进行编译.于是乎你会发现,有的机器运行工程会始终有乱码,有的机器则不会 获取JVM编码: import java.nio.char

Win2003 IIS 安装方法 图文教程

最近水一水 质量不高 见谅 一般大家先安装好win2003系统,图文教程 Win2003 服务器系统安装图文教程要通过控制面板来安装.具体做法为: 1. 进入“控制面板”. 2. 双击“添加或删除程序”. 3. 单击“添加/删除 Windows 组件”. 4. 在“组件”列表框中,双击“应用程序服务器”. 5. 双击“Internet 信息服务(IIS)”. 6. 从中选择“万维网服务”及“文件传输协议(FTP)服务”. 7. 双击“万维网服务”,从中选择“Active Server Pages

Asp.Net Core 如何在 IIS 中设置环境变量

当运行一个 Asp.Net Core 应用的时候, WebHostBuilder 根据环境变量来判断当前运行的是哪个环境,可能是 Development,Staging或者Production.你也可以设置成随便的一个字符串. 这个链接将会告诉你 如何在各种平台各种环境中设置环境变量.但如果你使用 IIS来代理 Asp.Net Core.你需要在 web.config 中设置环境变量 <configuration> <system.webServer> <handlers&g

u-boot分析(四)---设置异常向量表|设置SVC模式

u-boot分析(四) 通过前三篇的分析,我们对u-boot已经有了整体的认识和掌握,但是我们仍然对于其部分硬件是如何初始化的不太清楚,所以接下来几篇博文我将会对我们在http://www.cnblogs.com/wrjvszq/archive/2015/01/10/4215627.html一文中总结出的u-boot的工作流程中的重要环节,结合文档加以分析. 今天我们会用到的文档: 1.        ARM Architecture Reference Manual:http://downlo

IIS使用十大原则,(IIS过期时间,IIS缓存设置) 【转载】

1. 自定义错误页虽然自定义错误页很简单,但只有少数管理员有效地利用了它.管理员可以在MMC中将HTTP错误信息映像到服务器上的绝对URL或是某个文件,更为详细的信息可以在这里找到.如果你嫌这太麻烦,想要更简单的方法,或者你希望开发者自己定义错误页,同时又不想让他们具有使用MMC的权限,你可以使用类似 Customer Error 这样的工具. 2. MetaBase研究如果你认为Apache功能强大是因为它有一个配置文件,那么你应该看一看IIS的MetaBase有多棒.使用MetaBase,管

远程登录软件使用及设置

xshell: 1.在被远程的linux上安装openssh-server sudo apt-get install openssh-server 2.在远程的windows上打开xshell,安装的步骤就是下一步,没有任何难度 3.xshell->文件->新建一个连接 4. 修改连接属性 5.属性修改后->确定->选中刚刚修改的连接->连接 6.输入登录用户名->勾选记住用户名->确定 7.输入登录密码->确定 8. 成功登录,可以使用 如果不能显示中文:

win2003服务器安全设置教程

服务器安全设置 1.系统盘和站点放置盘必须设置为NTFS格式,方便设置权限. 2.系统盘和站点放置盘除administrators 和system的用户权限全部去除. 3.启用windows自带防火墙,只保留有用的端口,比如远程和Web.Ftp(3389.80.21)等等,有邮件服务器的还要打开25和130端口. 4.安装好SQL后进入目录搜索 xplog70 然后将找到的三个文件改名或者删除. 5.更改sa密码为你都不知道的超长密码,在任何情况下都不要用sa这个帐户. 6.改名系统默认帐户名并