程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 免費SQL注入掃描程序(1)

免費SQL注入掃描程序(1)

編輯:關於SqlServer


    大量的現代企業采用Web應用程序與其客戶無縫地連接到一起,但由於不正確的編碼,造成了許多安全問題。Web應用程序中的漏洞可使黑客獲取對敏感信息(如個人數據、登錄信息等)的直接訪問。

  Web應用程序准許訪問者提交數據,並可通過互聯網從數據庫中檢索數據。而數據庫是多數Web應用程序的心髒。數據庫維持著Web應用程序將特定內容交給訪問者的數據,Web應用程序在將信息交給客戶、供應商時,也從數據庫取得數據。

  SQL注入攻擊是最為常見的Web應用程序攻擊技術,它會試圖繞過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注入漏洞:

  http://example.com/sqlihole.PHP?id=1

  我們運行下面這個命令:

  sqlIEr -s 10 http://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就無法從數據庫中強力攻擊口令。如圖1:

  


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved