檢測在線數(shù)據(jù)庫SQL注入漏洞的利器:HP Scrawlr
原創(chuàng)【51CTO.com獨(dú)家翻譯】您需要是不是正要檢測在線數(shù)據(jù)庫的漏洞呢?正好,HP為我們提供了一個(gè)免費(fèi)工具來檢測網(wǎng)站是否存在SQL注入漏洞。HP Scrawlr能夠爬行您的站點(diǎn),以查找代碼中的安全漏洞。這款軟件是免費(fèi)的,并且很容易上手。
引言
SQL數(shù)據(jù)庫是目前世界上最快的一種數(shù)據(jù)庫,每秒鐘可以完成數(shù)百萬次的事務(wù)處理。使用PHP和ASP代碼處理SQL連接的時(shí)候,如果代碼寫的不好的話,就會(huì)為網(wǎng)站的安全留下隱患:黑客可以通過插入代碼來獲得您的服務(wù)器上數(shù)據(jù)庫的控制權(quán)。所以,一定要保護(hù)好您的SQL數(shù)據(jù)庫。測試軟件和網(wǎng)絡(luò)的安全性應(yīng)該成為安全審計(jì)的一部分。HP為我們提供了掃描網(wǎng)站的SQL漏洞的免費(fèi)軟件。Scrawlr只可用于合法地掃描您自己的站點(diǎn),而不得用于您的組織之外的站點(diǎn)。安全分析人員進(jìn)行滲透測試時(shí),應(yīng)當(dāng)將這款軟件也納入到他們的安全工具庫中。
HP Scrawlr
Hewlett Packard公司提供了一款免費(fèi)的工具,供人們用來爬行他們的站點(diǎn),并從中查找安全漏洞。Scrawlr是由HP的web安全研究團(tuán)隊(duì)開發(fā)的,可用于對(duì)單獨(dú)的網(wǎng)頁進(jìn)行SQL注入漏洞的檢測和利用。這個(gè)程序運(yùn)行速度非???;在運(yùn)行期間,它可以利用HP的智能引擎技術(shù)來創(chuàng)建和動(dòng)態(tài)執(zhí)行SQL注入。最后,它還能提高一份簡單的報(bào)告來供管理員分析有關(guān)結(jié)果。如果該程序成功的話,您就會(huì)看到數(shù)據(jù)庫和各種表。
Scrawlr
下面是Scrawlr的兩個(gè)截圖:
SQL注入
黑客可以使用簡單的SQL命令來進(jìn)行插入、刪除操作,甚至能控制整個(gè)數(shù)據(jù)庫。黑客可以先在web中查找數(shù)據(jù)庫,然后通過簡單的注入命令來返回機(jī)密數(shù)據(jù),并將其復(fù)制粘貼到自己的機(jī)器中。下面是一個(gè)簡單的SQL注入范例:
下面我們來繞過登錄表單。這里是來自實(shí)際應(yīng)用代碼片段:
SQLQuery = "SELECT Username FROM Users WHERE
Username = ‘" &
strUsername & "‘ AND Password = ‘" & strPassword & "‘"
strAuthCheck = GetQueryResult(SQLQuery)
If strAuthCheck = "" Then
boolAuthenticated = False
Else
boolAuthenticated = True
End If
這是一個(gè)典型的登錄處理,終端用戶來到站點(diǎn),然后提交他們的用戶名和口令。隨后,這個(gè)查詢從“Users”表中尋找是否有與提供的用戶名和口令匹配的記錄。對(duì)于糟糕的ASP代碼或者PHP代碼,黑客將能使用下列類型的代碼來發(fā)動(dòng)進(jìn)攻。
注入代碼:
用戶名:‘ OR ‘‘=‘
口令:‘ OR ‘‘=‘
這個(gè)會(huì)使SQLQuery變成下面的樣子:
SELECT Username FROM Users WHERE Username = ‘‘
OR ‘‘=‘‘ AND
Password = ‘‘ OR ‘‘=‘‘
這樣,黑客只是在應(yīng)該輸入有效用戶名的地方鍵入了一個(gè)字符串:‘ OR ‘‘=‘,就輕而易舉地繞過了登錄屏。
結(jié)束語
執(zhí)行SQL注入的方法數(shù)以千計(jì),這里介紹的并不是理想的“黑客”代碼。本文不是關(guān)于黑客技術(shù)的,而是關(guān)于如何保護(hù)您的網(wǎng)站的。 HP只是眾多能夠保護(hù)您的網(wǎng)站中的工具之一。對(duì)于保護(hù)您的信息資產(chǎn)來說,滲透測試是一種重要的手段。它不僅有助于測試代碼,而且還能幫您測試防火墻。不過Scrawlr軟件也有其不足之處,例如:
•最多只能爬行1500個(gè)URL地址
•在爬行期間無法進(jìn)行腳本解析
•在爬行期間無法解析Flash
•在爬行期間無法提交表單
•僅有簡單的代理支持
•沒有身份驗(yàn)證或者登錄功能
•不能檢測SQL盲注
任何軟件都不是十全十美的,但是它們對(duì)于安全漏洞和漏洞利用測試來說確實(shí)是非常有幫助的。如果站點(diǎn)僅通過了一種安全軟件的測試,就以為高枕無憂那就太盲目了。感謝HP有為我們帶來了一個(gè)軟件“幫手”!
【51CTO.com獨(dú)家翻譯,轉(zhuǎn)載請(qǐng)注明作者及出處】