ASP 漏洞大全
Microsoft Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建 和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页 、脚本命 令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。 现在很多网站特别是电子商务方面的网站,在前台上大都用 ASP 来实现。以至于 现在 ASP 在网站应用上很普遍。 ASP 是开发网站应用的快速工具,但是有些网站管理员只看到 ASP 的快速开发能 力, 却忽视了 ASP 安全问题。 ASP 从一开始就一直受到众多漏洞, 后门的困扰, 包括%81 的噩梦,密码验证问题,IIS 漏洞等等都一直使 ASP 网站开发人员心惊胆跳。 本文试图从开放了 ASP 服务的操作系统漏洞和 ASP 程序本身漏洞, 阐述 ASP 安全 问题,并给出解决方法或者建议。 ASP 工作机理 Active Server Page 技术为应用开发商提供了基于脚本的直观、 快速、 高效的应用开 发手段, 极大地提高了开发的效果。 在讨论 ASP 的安全性问题之前, 让我们来看看 ASP 是怎么
工作的。ASP 脚本是采用明文(plain text)方式来编写的。 ASP 脚本是一系列按特定语法 (目前支持 vbscript 和 jscript 两种脚本语言) 编写的, 与标准 HTML 页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户 用 WEB 浏览器通过 INTER
NET 来访问基于 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 页面从一台机器上移到另一台机器。 将 还有就是, 当你将