成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

注入漏洞的利用和防范

2010-08-28 10:49:35來源:西部e網(wǎng)作者:

    參加IT認(rèn)證考試前,筆者習(xí)慣到網(wǎng)上去搜搜。亂逛之余,不小心就來到了PROMETRIC的中文站。筆者發(fā)現(xiàn)整個站點(diǎn)都是ASP程序,況且剛才還有個考場的登錄界面,要是能發(fā)現(xiàn)什么漏洞就好了。

  探測漏洞

  隨手找了個頁面(http://www.target.com.cn/openpage.asp?page_id=0),在參數(shù)0后面加上個單引號。返回的頁面顯示:500服務(wù)器內(nèi)部錯誤。在IE的“Internet選項(xiàng)→高級”中有一個“顯示友好HTTP錯誤信息”的選項(xiàng),取消前面的鉤。現(xiàn)在,我們可以看到詳細(xì)的錯誤信息:

  Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e14'

  [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ''./audit.asp,行18

  原來PROMETRIC用的是MSSQL,看來存在嚴(yán)重的注入漏洞(由于涉嫌攻擊步驟,此處不詳細(xì)敘述)。

  漏洞原理

  SQL注入的漏洞通常是由于程序員對它不了解,設(shè)計程序時某個參數(shù)過濾不嚴(yán)格所致。就拿剛才測試用的鏈接中的page_id這個參數(shù)來講,肯定就沒有進(jìn)行過濾檢查,源程序中的查詢語句如下所示:

  Select * From Table Where page_id='0'

  當(dāng)我們提交http://www.target.com.cn/openpage.asp?page_id=0 and 1=1時,查詢語句就變成了:

  Select * From Table Where page_id='0' and 1=1

  當(dāng)我們提交其他的查詢語句時,程序也會進(jìn)行執(zhí)行判斷,如:

  http://www.target.com.cn/openpage.asp?page_id=0 and user>0

  查詢語句變成了:

  Select * From Table Where page_id='0' and user>0

  user是MSSQL的一個內(nèi)置函數(shù),指的是當(dāng)前連接數(shù)據(jù)庫的用戶名,是一個nvarchar值。當(dāng)它與整型量0進(jìn)行大小比較時,MSSQL會試圖將user的值轉(zhuǎn)換成int類型,于是MSSQL就會報錯:

  [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'web' to a column of data type int.

  錯誤信息的后面顯示的是庫名、表名、數(shù)據(jù)等。如果對方屏蔽了錯誤信息呢?這時,我們就要利用Unicode、Substr等函數(shù)通過條件判斷來進(jìn)行猜測了。

  如何利用

  大家可以利用小竹開發(fā)的NBSI2 MSSQL(以下簡稱“NBSI2”)工具。不過大家要注意,工具永遠(yuǎn)只是工具,只能用來提高效率和準(zhǔn)確性,自己一定得了解原理。通過NBSI2,我們順利地導(dǎo)出了PROMETRIC中文站數(shù)據(jù)庫中的表名和數(shù)據(jù),這里面包括各個考場的登錄用戶和密碼。通過跨庫查詢,筆者還發(fā)現(xiàn)BALANCE表中的BALANCE字段存放了考場預(yù)付款的余額信息,只要進(jìn)行跨庫更新,這個金額完全可以改變。

  這時候,筆者突發(fā)奇想,既然可以得到考場程序,我們是不是可以私設(shè)一個考場……心動不如行動,馬上開始安裝考試系統(tǒng)。安裝過程非常復(fù)雜,需要config.dts文件(網(wǎng)站上沒有)。

  正當(dāng)筆者不知怎么辦的時候,突然發(fā)現(xiàn)了企業(yè)郵箱服務(wù),PROMETRIC為每一個考場都開設(shè)了新浪企業(yè)郵箱。

  這些考場會不會為了方便沒有改默認(rèn)密碼呢?果然很多考場沒有更改默認(rèn)密碼,筆者很輕松地就進(jìn)入了這些郵箱。經(jīng)過一番搜索,終于在一個考場的郵箱中找到了PROMETRIC發(fā)過來的config.dts文件……

  到這里,本次安全測試算是告一段落了。試想一下,如果私自安裝了考場程序,我們是不是可以隨意修改考生信息?如果更改預(yù)付金,是不是還可以免費(fèi)報名考試?而且利用考場ID和密碼,我們在網(wǎng)站上可以更改任何一個考場的注冊信息,然后通過社會工程手段,克隆出一個虛假的考場是完全有可能的。

  后記

  記得曾經(jīng)看過一篇有關(guān)Oracle注入漏洞的文章。雖然兩者在技術(shù)實(shí)現(xiàn)手段、危害上都不一樣,但它們有一個共同點(diǎn)——從一個小小的地方撕開缺口,從而造成極大的危害。在筆者所探測的網(wǎng)站中,有些網(wǎng)站只注意過濾地址欄中提交的非法字符,卻忽視了搜索功能中提交的字符,這樣網(wǎng)站依然會存在注入漏洞。網(wǎng)絡(luò)安全是一項(xiàng)非常重要的、整體性很強(qiáng)的工作,每一個地方都需注意,否則造成的損失難以估計.

關(guān)鍵詞:漏洞

贊助商鏈接:

主站蜘蛛池模板: 分宜县| 封丘县| 荣成市| 堆龙德庆县| 天等县| 徐水县| 招远市| 宁化县| 七台河市| 镇康县| 星子县| 呈贡县| 佛学| 天全县| 温州市| 津市市| 浦东新区| 肥西县| 石嘴山市| 叙永县| 乌恰县| 于都县| 商城县| 平泉县| 博兴县| 横峰县| 宣城市| 盈江县| 台北县| 高州市| 三河市| 九江县| 青冈县| 中西区| 本溪市| 文山县| 汉阴县| 曲阳县| 陆河县| 赫章县| 文水县|