首頁 >資料庫 >mysql教程 >分享五個著名的SQL注入漏洞掃描工具

分享五個著名的SQL注入漏洞掃描工具

零下一度
零下一度原創
2017-05-17 15:59:4428134瀏覽

大量的現代企業採用網路應用程式與其客戶無縫地連接到一起,但由於不正確的編碼,造成了許多安全問題。 Web應用程式中的漏洞可使駭客取得對敏感資訊(如個人資料、登入資訊等)的直接存取。

Web應用程式準許訪客提交數據,並可透過網際網路從資料庫中檢索資料。而資料庫是多數Web應用程式的心臟。資料庫維持Web應用程式將特定內容交給訪客的數據,Web應用程式在將資訊交給客戶、供應商時,也從資料庫取得資料。

SQL注入攻擊是最常見的網路應用程式攻擊技術,它會試圖繞過SQL指令。當使用者輸入沒有「淨化」時,如果執行這種輸入就會表現出一種SQL注入漏洞。

檢查SQL注入漏洞主要涉及到兩方面,一是審計用戶的Web應用程序,二是透過使用自動化的SQL注入掃描器執行審記的最佳方法。在此,筆者羅列了一些對Web應用程式開發人員和專業的安全審計人員有價值的SQL注入掃描程式。

一、SQLIer

SQLIer可以找到網站上有SQL注入漏洞的URL,並根據資訊產生利用SQL注入漏洞,但它不要求使用者的互動。透過這個方法,它可以產生一個UNION SELECT查詢,進而可以強力攻擊資料庫口令。這個程式在利用漏洞時並不使用引號,這意味著它可適應多種網站。
SQLIer透過「true/false」SQL注入漏洞強力口令。借助於「true/false」 SQL注入漏洞強力口令,使用者是無法從資料庫查詢資料的,只能查詢一個可傳回「true」、「false」值的語句。

根據統計,一個八個字元的口令(包括十進位ASCII代碼的任何字元)只需大約1分鐘即可破解。
其使用語法如下,sqlier [選項] [URL]

其選項如下:

-c :[主机] 清除主机的漏洞利用信息
-s :[秒]在网页请求之间等待的秒数
-u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。
-w:[选项]将[选项]交由wget
此外,此程序还支持猜测字段名,有如下几种选择:
--table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。
--user-fields[用户字段]:可进行猜测的用户名字段名称,用逗号隔开。
--pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。

下面說一下其基本用法:

#例如,假設在下面的URL中有一個SQL注入漏洞:

example.com/sqlihole.php?id=1


我們運行下面這個命令:

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

從資料庫中得到足夠的信息,以利用其口令,其中的數字「10」表示要在每次查詢之間等待10秒鐘。

如果表格、使用者名字段、口令欄位名稱猜測得正確,那麼漏洞利用程式會把使用者名稱交付查詢,準備從資料庫中強力攻擊口令。

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

然而,如果內建的欄位/表格名稱沒有猜中正確的欄位名,使用者就可以執行:

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

除非知道了正確的表格名稱、使用者名字欄位、口令字段名,SQLIer就無法從資料庫中強力攻擊口令。

二、SQLMap:

這是一個自動的「盲目」SQL注入工具,它用python開發,它能執行​​一個動態的資料庫管理系統指紋識別,可以完整地窮舉遠端資料庫。其目標是實施一個完整的功能性資料庫管理系統工具,它能夠利用Web應用程式設定的全部缺陷,這些安全缺陷可以導致SQL注入漏洞。

在SQLMap偵測到目標系統上的一個或多個SQL注入漏洞之後,使用者就可以從多種選項中選擇,進而執行全面的後端資料庫管理系統指紋識別,擷取資料庫管理系統會話使用者和資料庫,窮舉使用者、口令雜湊、資料庫,運行其自身的SQL SELECT語句,讀取檔案系統上的特定檔案等。

此軟體完全支援MySQL、 Oracle、PostgreSQL、Microsoft SQL Server等後端資料庫管理系統。此外,它還識別微軟的Access資料庫,以及DB2、Informix、 Sybase 、 Interbase等。

其使用方法如下:

sqlmap.py [选项] {-u <URL> | -g <google dork> | -c <配置文件>}
其中,-u URL指明目标URL
-g google dork 将google dork结果处理为目标url

三、SQLID:

此工具是SQL注入漏洞挖掘器,是一個命令列實用程序,它能夠找到SQL注入漏洞和網站中的常見錯誤。它可以執行以下幾個操作:尋找網頁中的SQL注入漏洞,測試提交的表單,尋找SQL注入漏洞的可能性。它還支援HTTP、HTTPS、基本身份驗證等。

其用法如下:

Sqid.rb [選項]

其選項有以下幾種:

-m,--mode MODE,它指明以某种模式进行操作,其中MODE有以下几种情况:g,google:以google搜索模式操作;u,url检查这个url;p,page,它主要检查单一的网页;c,crawl,检查站点。

其中,google搜尋模式選項有以下幾種情況,-q,--quary 查詢,QUERY執行google搜尋;-s,--start START,對所需要的首個結果的零索引;-r,--results RESULTS,在此指明所需要的結果數量,預設值為20。

四、SQL Power Injector

#

SQL Power Injector可帮助渗透测试人员找到并利用网页上的漏洞。目前,它支持SQL Server、Oracle、MYSQL、Sybase/Adaptive Sever和DB2等数据库,但在使用inline注入时,还可借助现有的数据库管理系统来使用此软件。

其自动化的工作模式以两种方式进行,一是比较期望的结果,二是根据时间延迟。

其工作状态如图:

分享五個著名的SQL注入漏洞掃描工具

五、SQLNinja:

Sqlninja可以利用以SQL Server为后端数据支持的应用程序的漏洞,其主要目标是提供对有漏洞的数据库服务器的远程访问。Sqlninja的行为受到配置文件的控制,它告诉了Sqlninja攻击的目标和方式,还有一些命令行选项。比如,有如下一些命令选项:

-m<攻击模式>,其攻击模式有测试(test)、指纹识别(fingerprint)、强力攻击(bruteforce)等;

其它的命令选项,-v : 指明进行详细输出;-f:指明一个使用的配置文件。-w指明以强力攻击模式使用的单词列表。

如图是运行过程界面:

分享五個著名的SQL注入漏洞掃描工具

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. 如何防止sql注入?介绍5种防止sql注入的方法

3. 分享一个SQL注入的实例过程

4. 分享一篇使用SQL注入漏洞拖库的实例讲解

以上是分享五個著名的SQL注入漏洞掃描工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn