小心你的WEB應(yīng)用程序成為數(shù)據(jù)竊賊的幫兇(2) |
發(fā)布時(shí)間: 2012/6/11 19:27:24 |
攻擊者尋找突破口
首先,攻擊者可能查看應(yīng)用程序是否能夠正確地處理錯(cuò)誤條件。有許多方法可以檢查SQL錯(cuò)誤消息,每一個(gè)方法都依賴于數(shù)據(jù)庫(kù)自身。最常見(jiàn)的例子是“‘”( 撇號(hào))。攻擊者可能會(huì)嘗試插入“‘”而不是一個(gè)合法的用戶名: Wangzhan.com/userdetail.asp?username=‘ 如果出現(xiàn)錯(cuò)誤,攻擊者就可以了解一些信息。例如,下面的錯(cuò)誤就會(huì)使攻擊者知道這是一個(gè)MySQL數(shù)據(jù)庫(kù),而且表明數(shù)據(jù)庫(kù)將“‘”解釋為查詢的一部分,從而揭示出這可能是一個(gè)SQL注入點(diǎn),值得進(jìn)一步調(diào)查。 錯(cuò)誤:您的SQL語(yǔ)法有一個(gè)錯(cuò)誤,請(qǐng)檢查您的MySQL億恩科技服務(wù)器版本對(duì)應(yīng)的手冊(cè),查看正確的語(yǔ)法…在第4行 在此例中,我們使用了一個(gè)“‘”,但任何“保留”字符,即在測(cè)試數(shù)據(jù)庫(kù)錯(cuò)誤時(shí)可以使用的為特別目的而保留的一個(gè)字符。保留字符對(duì)每種數(shù)據(jù)庫(kù)類型來(lái)說(shuō)都是獨(dú)一無(wú)二的。 借助上面顯示的MySQL錯(cuò)誤消息,我們可以看出黑客是多么聰明,而且能夠發(fā)現(xiàn)應(yīng)用程序正在訪問(wèn)的數(shù)據(jù)庫(kù)表的其它細(xì)節(jié)。請(qǐng)看: Wangzhan.com/userdetail.asp?username=Zhangsan order by 1 如果我們沒(méi)有收到錯(cuò)誤,就可以知道用戶名要么是SQL WHERE語(yǔ)句中的最后一個(gè)變量(允許我們從一個(gè)數(shù)據(jù)庫(kù)表中重新獲取數(shù)據(jù),同時(shí)又排除其它的無(wú)關(guān)數(shù)據(jù)),或者是WHERE語(yǔ)句中的唯一變量。我們可以讓數(shù)字每次增加1,直至收到一個(gè)錯(cuò)誤。例如,可能在到達(dá)“Zhangsan order by 9”,就可以看到: 錯(cuò)誤:用戶警告:“order clause”查詢中有無(wú)法確認(rèn)的列:SELECT 現(xiàn)在可以確認(rèn),直至提交了“9”,我們才收到了錯(cuò)誤消息,所以可以斷定表中有8列。這個(gè)信息很有用,但我們只是想獲得盡量多的數(shù)據(jù)。假設(shè)沒(méi)有提供輸入驗(yàn)證,通過(guò)在用戶名的位置使用一個(gè)通配符,我們實(shí)際上可以返回所有用戶的細(xì)節(jié): Wangzhan.com/userdetail.asp?username=% 在該例中,我們將執(zhí)行下面的查詢,返回所有用戶的細(xì)節(jié): SELECT uname,fname,lname,phone,street,city,state,zip FROM users WHERE user = % 如果攻擊使用此伎倆,勢(shì)必會(huì)造成數(shù)據(jù)損害,使大量的有價(jià)值的客戶信息處于風(fēng)險(xiǎn)之中。其中可能包括應(yīng)當(dāng)被加密的用戶口令,當(dāng)然攻擊者可以在日后再進(jìn)行破解。遭到泄露的客戶信息還有可能包括電子郵件地址,攻擊者可以將其用于釣魚(yú)攻擊。 其實(shí),我們可以不用插入簡(jiǎn)單的通配符,而是終止查詢,并讓查詢做一些查詢之外的事情: Wangzhan.com/userdetail.asp?username=zhangsan;DROP users— 為便于比較,我們將SQL Server的數(shù)據(jù)庫(kù)語(yǔ)句列示如下: SELECT uname,fname,lname,phone,street,city,state,zip FROM users WHERE user = ‘zhangsan’;DROP users— 還要注意,此例允許你在同一行上提交多個(gè)查詢(在此例中,即SELECT和DROP查詢)。其方法就是用分號(hào)(;)分開(kāi)并用兩個(gè)破折號(hào)結(jié)束。因而,在完成最初的查詢后,攻擊者就可以發(fā)送并運(yùn)行自己選擇的一個(gè)完整查詢。
本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |