微软在推出 asp 时提到的 asp 的一个好处是:active server pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。然而,由于 nt、iis 以及 asp 系统本身存在的一些漏洞,却可能使 asp 源码暴露无遗,下面介绍目前已经被公开的三种漏洞及解决方法。
【方法一】nt 系统自带的 asp 例程:showcode.asp、code.asp 或 codebrws.asp
这个例程可以用来显示服务器上任意文本文件,包括 asp。使用此法调用: http://www.server.com/msadc/samples/selector/showcode.asp?source=/msadc/samples/selector/showcode.asp
source 用于指定欲查看的文件。
解决方法:在服务器上删除这些例程,对于网络上的服务器来说,这些例程是没有任何用处的。另外也可以在“internet 服务管理器”中,把“默认web站点”下由 nt 自动建立的那些虚拟目录全部删除或改成难以被猜测到的名字。如:scripts 目录、iisadmin 目录、iissamples 目录、msadc 目录、iishelp 目录、webpub 目录、_vti_bin 目录、printers 目录等。
【方法二】在 .asp 文件名后加上特殊字符串
假设要查看 http://www.server.com/file.asp 的源文件,可以在 file.asp 后面加上一些特殊字符串,如果系统漏洞未被补上的话,就会显示出源代码(可以通过浏览器的“查看”“源文件”看到)。这些字符串有以下这些:
1. http://www.server.com/file.asp. (适用于 win 95下的 pws 3.0)
2. http://www.server.com/file.asp::$data
3. http://www.server.com/file.asp%81或%82
4. http://www.server.com/file.asp%e9或者%e8
5. http://www.server.com/file.asp&2e
6. http://www.server.com/file%2e%41sp
7. http://www.server.com/file%2e%asp
解决方法:给 nt 4.0 打 sp5 或 sp6。每当在服务器上安装软件后(如:ie5、office等软件)都必须重新再打一遍 sp5 或 sp6,否则漏洞可能再次出现。如果暂时找不到 sp5 或 sp6,可以在 iis 中把 asp 程序所在的目录的“读取”权限去掉,只给“脚本运行”的权限,这样也可以防止此漏洞,但是如果该目录下有 .htm 及图片等文件,这样做会导致该目录下的 .htm 及图片不能被读取。
【方法三】微软 index server 的 null.htw 漏洞
null.htw 文件并非真正的系统映射文件,所以只是一个储存在系统内存中的虚拟文件。哪怕你已经从你的系统中删除了所有的真实的 .htw 文件,但是由于对 null.htw 文件的请求默认是由 webhits.dll 来处理。
假设要查看 http://www.server.com/dir/file.asp 的源代码,可以用此法:
http://www.server.com/null.htw?ciwebhitsfile=/dir/file.asp%20&cirestriction=none&cihilitetype=full
如果此漏洞未被堵上的话,就能看到 file.asp 的源代码了。/dir/file.asp 为要查看源代码的文件,必须从“/”目录算起。
解决方法:
绝大多数的网站并不需要 webhits.dll ,因此,可以打开“internet 服务管理器” --> 选择“默认web站点”(或者是你自己建立的站点我名称) --> 用鼠标右击,在弹出菜单中选择“属性” --> 选择“主目录”选项卡 --> 点击“配置” --> 选择“应用程序映射” --> 找到“扩展名”为 .htw .ida .idq .htr 这些行,点击“删除”将其映射从服务器上移去。也可将扩展名改成其他的名字,以备日后需要时恢复。
如果 webhits 提供的功能是系统必须的,请下载相应的补丁程序。
for index server 2.0 ( nt 4.0 下的 iis 4.0 )
补丁:http://www.microsoft.com/downloads/release.asp?releaseid=17727
for windows 2000 indexing services ( iis 5.0 )
补丁:http://www.microsoft.com/downloads/release.asp?releaseid=17726