明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

分享5個(gè)著名的SQL注入漏洞掃描工具

[摘要]大量的現(xiàn)代企業(yè)采用Web應(yīng)用程序與其客戶無(wú)縫地連接到一起,但由于不正確的編碼,造成了許多安全問(wèn)題。Web應(yīng)用程序中的漏洞可使黑客獲取對(duì)敏感信息(如個(gè)人數(shù)據(jù)、登錄信息等)的直接訪問(wèn)。Web應(yīng)用程序準(zhǔn)許訪問(wèn)者提交數(shù)據(jù),并可通過(guò)互聯(lián)網(wǎng)從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。而數(shù)據(jù)庫(kù)是多數(shù)Web應(yīng)用程序的心臟。數(shù)據(jù)庫(kù)維持著W...
大量的現(xiàn)代企業(yè)采用Web應(yīng)用程序與其客戶無(wú)縫地連接到一起,但由于不正確的編碼,造成了許多安全問(wèn)題。Web應(yīng)用程序中的漏洞可使黑客獲取對(duì)敏感信息(如個(gè)人數(shù)據(jù)、登錄信息等)的直接訪問(wèn)。

Web應(yīng)用程序準(zhǔn)許訪問(wèn)者提交數(shù)據(jù),并可通過(guò)互聯(lián)網(wǎng)從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。而數(shù)據(jù)庫(kù)是多數(shù)Web應(yīng)用程序的心臟。數(shù)據(jù)庫(kù)維持著Web應(yīng)用程序?qū)⑻囟▋?nèi)容交給訪問(wèn)者的數(shù)據(jù),Web應(yīng)用程序在將信息交給客戶、供應(yīng)商時(shí),也從數(shù)據(jù)庫(kù)取得數(shù)據(jù)。

SQL注入攻擊是最為常見的Web應(yīng)用程序攻擊技術(shù),它會(huì)試圖繞過(guò)SQL命令。在用戶輸入沒有“凈化”時(shí),如果執(zhí)行這種輸入便會(huì)表現(xiàn)出一種SQL注入漏洞。

檢查SQL注入漏洞主要涉及到兩方面,一是審計(jì)用戶的Web應(yīng)用程序,二是通過(guò)使用自動(dòng)化的SQL注入掃描器執(zhí)行審記的最佳方法。在此,筆者羅列了一些對(duì)Web應(yīng)用程序開發(fā)人員和專業(yè)的安全審計(jì)人員有價(jià)值的SQL注入掃描程序。

一、SQLIer

SQLIer可以找到網(wǎng)站上一個(gè)有SQL注入漏洞的URL,并根據(jù)有關(guān)信息來(lái)生成利用SQL注入漏洞,但它不要求用戶的交互。通過(guò)這種方法,它可以生成一個(gè)UNION SELECT查詢,進(jìn)而可以強(qiáng)力攻擊數(shù)據(jù)庫(kù)口令。這個(gè)程序在利用漏洞時(shí)并不使用引號(hào),這意味著它可適應(yīng)多種網(wǎng)站。
SQLIer通過(guò)“true/false”SQL注入漏洞強(qiáng)力口令。借助于“true/false” SQL注入漏洞強(qiáng)力口令,用戶是無(wú)法從數(shù)據(jù)庫(kù)查詢數(shù)據(jù)的,只能查詢一個(gè)可返回“true”、“false”值的語(yǔ)句。

據(jù)統(tǒng)計(jì),一個(gè)八個(gè)字符的口令(包括十進(jìn)制ASCII代碼的任何字符)僅需要大約1分鐘即可破解。
其使用語(yǔ)法如下,sqlier [選項(xiàng)] [URL]

其選項(xiàng)如下:

-c :[主機(jī)] 清除主機(jī)的漏洞利用信息
-s :[秒]在網(wǎng)頁(yè)請(qǐng)求之間等待的秒數(shù)
-u:[用戶名]從數(shù)據(jù)庫(kù)中強(qiáng)力攻擊的用戶名,用逗號(hào)隔開。
-w:[選項(xiàng)]將[選項(xiàng)]交由wget
此外,此程序還支持猜測(cè)字段名,有如下幾種選擇:
--table-names [表格名稱]:可進(jìn)行猜測(cè)的表格名稱,用逗號(hào)隔開。
--user-fields[用戶字段]:可進(jìn)行猜測(cè)的用戶名字段名稱,用逗號(hào)隔開。
--pass-fields [口令字段]:可進(jìn)行猜測(cè)的口令字段名稱,用逗號(hào)隔開。

下面說(shuō)一下其基本用法:

例如,假設(shè)在下面的URL中有一個(gè)SQL注入漏洞:

example.com/sqlihole.php?id=1


我們運(yùn)行下面這個(gè)命令:

sqlier -s 10 example.com/sqlihole.php?id=1

從數(shù)據(jù)庫(kù)中得到足夠的信息,以利用其口令,其中的數(shù)字“10”表示要在每次查詢之間等待10秒鐘。

如果表格、用戶名字段、口令字段名猜測(cè)得正確,那么漏洞利用程序會(huì)把用戶名交付查詢,準(zhǔn)備從數(shù)據(jù)庫(kù)中強(qiáng)力攻擊口令。

sqlier -s 10 example.com -u BCable,administrator,root,user4

然而,如果內(nèi)建的字段/表格名稱沒有猜中正確的字段名,用戶就可以執(zhí)行:

sqlier -s 10 example.com --table-names [table_names] --user-fields [user_fields] --pass-fields [pass_fields]

除非知道了正確的表格名、用戶名字段、口令字段名,SQLIer就無(wú)法從數(shù)據(jù)庫(kù)中強(qiáng)力攻擊口令。

二、SQLMap:

這是一個(gè)自動(dòng)的“盲目”SQL注入工具,它用python開發(fā),它能執(zhí)行一個(gè)動(dòng)態(tài)的數(shù)據(jù)庫(kù)管理系統(tǒng)指紋識(shí)別,可以完整地窮舉遠(yuǎn)程數(shù)據(jù)庫(kù)。其目標(biāo)是實(shí)施一個(gè)完整的功能性數(shù)據(jù)庫(kù)管理系統(tǒng)工具,它能夠利用Web應(yīng)用程序程序設(shè)置的全部缺陷,這些安全缺陷可以導(dǎo)致SQL注入漏洞。

在SQLMap檢測(cè)到目標(biāo)系統(tǒng)上的一個(gè)或多個(gè)SQL注入漏洞之后,用戶就可以從多種選項(xiàng)中選擇,進(jìn)而執(zhí)行全面的后端數(shù)據(jù)庫(kù)管理系統(tǒng)指紋識(shí)別,檢索數(shù)據(jù)庫(kù)管理系統(tǒng)會(huì)話用戶和數(shù)據(jù)庫(kù),窮舉用戶、口令哈希、數(shù)據(jù)庫(kù),運(yùn)行其自身的SQL SELECT語(yǔ)句,讀取文件系統(tǒng)上的特定文件等。

此軟件完全支持MySQL、 Oracle、PostgreSQL、Microsoft SQL Server等后端數(shù)據(jù)庫(kù)管理系統(tǒng)。此外,它還識(shí)別微軟的Access數(shù)據(jù)庫(kù),以及DB2、Informix、 Sybase 、 Interbase等。

其使用方法如下:

sqlmap.py [選項(xiàng)] {-u <URL>   -g <google dork>   -c <配置文件>}
其中,-u URL指明目標(biāo)URL
-g google dork 將google dork結(jié)果處理為目標(biāo)url

三、SQLID:

此工具是一個(gè)SQL注入漏洞挖掘器,是一個(gè)命令行實(shí)用程序,它能夠查找SQL注入漏洞和網(wǎng)站中的常見錯(cuò)誤。它可以執(zhí)行以下幾種操作:查找網(wǎng)頁(yè)中的SQL注入漏洞,測(cè)試提交的表單,查找SQL注入漏洞的可能性。它還支持HTTP、HTTPS、基本身份驗(yàn)證等。

其用法如下:

Sqid.rb [選項(xiàng)]

其選項(xiàng)有以下幾種:

-m,--mode MODE,它指明以某種模式進(jìn)行操作,其中MODE有以下幾種情況:g,google:以google搜索模式操作;u,url檢查這個(gè)url;p,page,它主要檢查單一的網(wǎng)頁(yè);c,crawl,檢查站點(diǎn)。

其中,google搜索模式選項(xiàng)有以下幾種情況,-q,--quary 查詢,QUERY執(zhí)行g(shù)oogle搜索;-s,--start START,對(duì)所需要的首個(gè)結(jié)果的零索引;-r,--results RESULTS,在此指明所需要的結(jié)果數(shù)量,默認(rèn)值為20。

四、SQL Power Injector

SQL Power Injector可幫助滲透測(cè)試人員找到并利用網(wǎng)頁(yè)上的漏洞。目前,它支持SQL Server、Oracle、MYSQL、Sybase/Adaptive Sever和DB2等數(shù)據(jù)庫(kù),但在使用inline注入時(shí),還可借助現(xiàn)有的數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)使用此軟件。

其自動(dòng)化的工作模式以兩種方式進(jìn)行,一是比較期望的結(jié)果,二是根據(jù)時(shí)間延遲。

其工作狀態(tài)如圖:

20080911015658995.jpg

五、SQLNinja:

Sqlninja可以利用以SQL Server為后端數(shù)據(jù)支持的應(yīng)用程序的漏洞,其主要目標(biāo)是提供對(duì)有漏洞的數(shù)據(jù)庫(kù)服務(wù)器的遠(yuǎn)程訪問(wèn)。Sqlninja的行為受到配置文件的控制,它告訴了Sqlninja攻擊的目標(biāo)和方式,還有一些命令行選項(xiàng)。比如,有如下一些命令選項(xiàng):

-m<攻擊模式>,其攻擊模式有測(cè)試(test)、指紋識(shí)別(fingerprint)、強(qiáng)力攻擊(bruteforce)等;

其它的命令選項(xiàng),-v : 指明進(jìn)行詳細(xì)輸出;-f<配置文件>:指明一個(gè)使用的配置文件。-w<單詞列表>指明以強(qiáng)力攻擊模式使用的單詞列表。

如圖是運(yùn)行過(guò)程界面:

20080911015658170.jpg

【相關(guān)推薦】

1. 特別推薦“php程序員工具箱”V0.1版本下載

2. 如何防止sql注入?介紹5種防止sql注入的方法

3. 分享一個(gè)SQL注入的實(shí)例過(guò)程

4. 分享一篇使用SQL注入漏洞拖庫(kù)的實(shí)例講解

以上就是分享五個(gè)著名的SQL注入漏洞掃描工具的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。