|
大量的現(xiàn)代企業(yè)采用Web應(yīng)用程序與其客戶無縫地連接到一起,但由于不正確的編碼,造成了許多安全問題。Web應(yīng)用程序中的漏洞可使黑客獲取對敏感信息(如個人數(shù)據(jù)、登錄信息等)的直接訪問。
Web應(yīng)用程序準許訪問者提交數(shù)據(jù),并可通過互聯(lián)網(wǎng)從數(shù)據(jù)庫中檢索數(shù)據(jù)。而數(shù)據(jù)庫是多數(shù)Web應(yīng)用程序的心臟。數(shù)據(jù)庫維持著Web應(yīng)用程序?qū)⑻囟▋?nèi)容交給訪問者的數(shù)據(jù),Web應(yīng)用程序在將信息交給客戶、供應(yīng)商時,也從數(shù)據(jù)庫取得數(shù)據(jù)。
SQL注入攻擊是最為常見的Web應(yīng)用程序攻擊技術(shù),它會試圖繞過SQL命令。在用戶輸入沒有“凈化”時,如果執(zhí)行這種輸入便會表現(xiàn)出一種SQL注入漏洞。
檢查SQL注入漏洞主要涉及到兩方面,一是審計用戶的Web應(yīng)用程序,二是通過使用自動化的SQL注入掃描器執(zhí)行審記的最佳方法。在此,筆者羅列了一些對Web應(yīng)用程序開發(fā)人員和專業(yè)的安全審計人員有價值的SQL注入掃描程序。
一、SQLIer
SQLIer可以找到網(wǎng)站上一個有SQL注入漏洞的URL,并根據(jù)有關(guān)信息來生成利用SQL注入漏洞,但它不要求用戶的交互。通過這種方法,它可以生成一個UNION SELECT查詢,進而可以強力攻擊數(shù)據(jù)庫口令。這個程序在利用漏洞時并不使用引號,這意味著它可適應(yīng)多種網(wǎng)站。
SQLIer通過“true/false”SQL注入漏洞強力口令。借助于“true/false” SQL注入漏洞強力口令,用戶是無法從數(shù)據(jù)庫查詢數(shù)據(jù)的,只能查詢一個可返回“true”、“false”值的語句。
據(jù)統(tǒng)計,一個八個字符的口令(包括十進制ASCII代碼的任何字符)僅需要大約1分鐘即可破解。
其使用語法如下,sqlier [選項] [URL]
其選項如下:
-c :[主機] 清除主機的漏洞利用信息
-s :[秒]在網(wǎng)頁請求之間等待的秒數(shù)
-u:[用戶名]從數(shù)據(jù)庫中強力攻擊的用戶名,用逗號隔開。
。瓀:[選項]將[選項]交由wget
此外,此程序還支持猜測字段名,有如下幾種選擇:
--table-names [表格名稱]:可進行猜測的表格名稱,用逗號隔開。
--user-fields[用戶字段]:可進行猜測的用戶名字段名稱,用逗號隔開。
--pass-fields [口令字段]:可進行猜測的口令字段名稱,用逗號隔開。
下面說一下其基本用法:
例如,假設(shè)在下面的URL中有一個SQL注入漏洞:
http://example.com/sqlihole.php?id=1
我們運行下面這個命令:
sqlier -s 10 http://example.com/sqlihole.php?id=1從數(shù)據(jù)庫中得到足夠的信息,以利用其口令,其中的數(shù)字“10”表示要在每次查詢之間等待10秒鐘。
如果表格、用戶名字段、口令字段名猜測得正確,那么漏洞利用程序會把用戶名交付查詢,準備從數(shù)據(jù)庫中強力攻擊口令。
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就無法從數(shù)據(jù)庫中強力攻擊口令。如圖1:

圖1
本新聞共 3頁,當(dāng)前在第 1頁 1 2 3 |
【收藏】【打印】【進入論壇】 |
|
|
|
|
|
|
|