【vb精品源码栏目提醒】:网学会员为广大网友收集整理了,[精品]防止内部IP地址泄漏的2种方法 - 毕业设计,希望对大家有所帮助!
防止内部IP地址泄漏的2种方法 http://www.sharecenter.net 2002年04月15日18:20 天极网 本文点击次数:1356 双击鼠标滚屏 当访问IIS网站上的静态HTML文件时比如index.htmIIS响应中会包含一个Content-Location文件头。
如果IIS配置不当Content-Location文件头中将包含服务器的IP地址内容这样就导致了隐藏在NAT防火墙或者代理服务器后面的内部网IP地址信息的泄漏给攻击者有漏可乘。
下面我就介绍2种解决办法实现将IP地址信息替换为域名信息的目的帮助系统管理员消除内部网的IP地址泄漏隐患。
什么是IIS对页面文件的响应信息 当我们使用浏览器访问IIS网站Web服务器上的页面内容时IIS将返回给用户一个完整的响应信息。
简单情况下我们可以认为这个响应信息包含2部分内容 1、系统信息 诸如访问状态、服务器信息、文件类型、正文长度等内容。
2、正文信息 通常情况下就是我们在浏览器中看到的页面内容也就是在浏览器中可以查看到的页面源代码内容。
当我们使用高级语言中的相关Internet控件访问一个页面内容时比如使用
VB的InternetControl控件来编写自己的浏览器或者下载程序最终就会得到包含上述2部分内容的完整响应信息。
首先我们来看看一个例子它显示了默认安装情况下IIS对HTML文件的响应信息 HTTP/1.1 200OK Server:Microsoft-IIS/5.0 Content-Location:http://192.168.1.1/index.htm Date:Wed 31Oct200104:19:40GMT Content-Type:text/html Accept-Ranges:bytes Last-Modified:Fri 12Oct200107:48:06GMT ETag:03f7e3af252c11:9a2 Content-Length:7141 上面响应信息的第3行内容包含了内部网的IP地址信息这是我们不希望的。
我们希望IIS响应如下的内容 HTTP/1.1 200OK Server:Microsoft-IIS/5.0 Content-Location:http://www.mywebsite.com/index.htm Date:Wed 31Oct200104:19:40GMT Content-Type:text/html Accept-Ranges:bytes Last-Modified:Fri 12Oct200107:48:06GMT ETag:03f7e3af252c11:9a2 Content-Length:7141 也就是说将第3行内容中的IP地址信息替换为域名信息。
下面来看看解决办法。
解决方法一执行脚本程序Adsutil.vbs 通过修改IIS数据库中的一个数值就可以达到将Content-Location文件头中的IP地址信息转换为域名信息的目的。
第一种方法是通过执行一个VBS脚本程序完成IIS数据库的相关修改工作这个脚本程序叫做Adsutil.vbs它随IIS安装后生成。
注意由于实际的应用环境不同微软公司没有担保这个软件的使用安全性。
所以我建议在执行这个脚本程序前做好服务器上的重要数据备份。
对于IIS4.0服务器执行步骤如下 1、点击“开始/运行”输入“cmd”点击“确定”进入命令行状态窗口。
2、切换到IIS4.0系统程序安装目录一般是c:winntsystem32inetsrvadminsamples 。
3、执行以下命令修改IIS数据库相关数值设置Content-Location文件头使用域名信息 adsutilsetw3svc/UseHostNameTrue 4、执行以下命令关闭Internet服务程序netstopiisadmin/y 5、执行以下命令重新启动相关Internet应用程序netstartw3svc 注意在执行完第4步后要观察一下都有哪些Internet应用程序被停止然后在第5步中依次重新启动它们。
对于IIS5.0服务器执行步骤如下 1、点击“开始/运行”输入“cmd”点击“确定”进入命令行状态窗口。
2、切换到IIS5.0系统程序安装目录一般是c:inetpubadminscripts 。
3、执行以下命令修改IIS数据库相关数值设置Content-Location文件头使用域名信息adsutilsetw3svc/UseHostNameTrue 4、执行以下命令关闭Internet服务程序netstopiisadmin/y 5、执行以下命令重新启动相关Internet应用程序netstartw3svc 同样请注意在执行完第4步后要观察一下都有哪些Internet应用程序被停止然后在第5步中依次重新启动它们。
解决方法二将.htm文件改名为.ASP文件并定制文件头信息 我要介绍的第二种方法采取了一种间接处理的方式 1、首先将.HTM文件改名为.ASP文件。
2、因为IIS对ASP文件的响应中并不包含Content-Location文件头内容所以接着要在IIS管理器中为之创建一个定制文件头以返回特殊的Content-Location文件头内容。
下面我们来看看具体的操作步骤 1、将静态页面文件比如 .htm.html改名为.asp文件。
注意经过这样的文件改名后当访问原来的.htm文件时将启动ASP引擎从性能上来看是稍稍有些降低的。
2、启动Internet服务管理器 3、双击“Internet信息服务”扩展下属内容 4、点击要处理服务器名字左边的号扩展下属内容 5、右键点击“默认Web站点”选择“属性” 6、点击“头”选项卡 7、在“自定义头”部分点击“添加” 8、在“自定义头名称”处输入“Content-Location”在“自定义头值”处输入你期望的域名信息比如“ttp://www.mywebsite.com” 9、依次点击“确定”完成全部修改工作。