来源:www.cpcw.com
一 前言
microsoft active server pages(asp)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 web 服务器应用程序。使用 asp 可以组合 html 页 、脚本命令和 activex 组件以创建交互的 web 页和基于 web 的功能强大的应用程序。
现在很多网站特别是电子商务方面的网站,在前台上大都用asp来实现。以至于现在asp在网站应用上很普遍。
asp是开发网站应用的快速工具,但是有些网站管理员只看到asp的快速开发能力,却忽视了asp安全问题。asp从一开始就一直受到众多漏洞,后门的困扰,包括%81的噩梦,密码验证问题,iis漏洞等等都一直使asp网站开发人员心惊胆跳。
本文试图从开放了asp服务的操作系统漏洞和asp程序本身漏洞,阐述asp安全问题,并给出解决方法或者建议。
二 关键字
asp,网络安全,iis,ssl,加密。
三 asp工作机理
active server page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论asp的安全性问题之前,让我们来看看asp是怎么工作的。asp脚本是采用明文(plain text)方式来编写的。
asp脚本是一系列按特定语法(目前支持vbscript和jscript两种脚本语言)编写的,与标准html页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用web浏览器通过internet来访问基于asp脚本的应用时,web浏览器将向web服务器发出http请求。web服务器分析、判断出该请求是asp脚本的应用后,自动通过isapi接口调用asp脚本的解释运行引擎(asp.dll)。asp.dll将从文件系统或内部缓冲区获取指定的asp脚本文件,接着就进行语法分析并解释执行。最终的处理结果将形成html格式的内容,通过web服务器"原路"返回给web浏览器,由web浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的asp脚本调用。若干个有机的asp脚本调用就组成了一个完整的asp脚本应用。
让我们来看看运行asp所需的环境:
microsoft internet information server 3.0/4.0/5.0 on nt server
microsoft internet information server 3.0/4.0/5.0 on win2000
microsoft personal web server on windows 95/98
windows nt option pack所带的microsoft iis提供了强大的功能,但是iis在网络安全方面却是比较危险的。因为很少有人会用windows 95/98当服务器,因此本文我更多的从nt中的iis安全问题来探讨。
四 微软自称的asp的安全优点
虽然我们本文的重点是探讨asp漏洞和后门,但是有必要谈谈asp在网络安全方面的"优点",之所以加个"",是因为有时这些微软宣称的"优点"恰恰是其安全隐犯。
微软称asp在网络安全方面一大优点就是用户不能看到asp的源程序,从asp的原理上看,asp在服务端执行并解释成标准的html语句,再传送给客户端浏览器。"屏蔽"源程序能很好的维护asp开发人员的版权,试想你辛辛苦苦做了一个很优秀的程序,给人任意copy,你会怎么想?而且黑客还能分析你的asp程序,挑出漏洞。更重要的是有些asp开发者喜欢把密码,有特权的用户名和路径直接写在程序中,这样别人通过猜密码,猜路径,很容易找到攻击系统的"入口"。但是目前已经发现了很多能查看asp源程序的漏洞,后面我们还要讨论。
iis支持虚拟目录,通过在"服务器属性"对话框中的"目录"标签可以管理虚拟目录。建立虚拟目录对于管理web站点具有非常重要的意义。虚拟目录隐藏了有关站点目录结构的重要信息。因为在浏览器中,客户通过选择"查看源代码",很容易就能获取页面的文件路径信息,如果在web页中使用物理路径,将暴露有关站点目录的重要信息,这容易导致系统受到攻击。其次,只要两台机器具有相同的虚拟目录,你就可以在不对页面代码做任何改动的情况下,将web页面从一台机器上移到另一台机器。还有就是,当你将web页面放置于虚拟目录下后,你可以对目录设置不同的属性,如:read、excute、script。读访问表示将目录内容从iis传递到浏览器。而执行访问则可以使在该目录内执行可执行的文件。当你需要使用asp时,就必须将你存放.asp文件的目录设置为"excute(执行)"。建议大家在设置web站点时,将html文件同asp文件分开放置在不同的目录下,然后将html子目录设置为"读",将asp子目录设置为"执行",这不仅方便了对web的管理,而且最重要的提高了asp程序的安全性,防止了程序内容被客户所访问。
