這里簡單介紹一下使用超級注入工具和sqlmap工具進行注入攻擊的方法。
利用超級SQL注入工具實施SQL注入
超級SQL注入工具(SSQLInjection)是一款基于HTTP協議自組包的SQL注入工具,支持出現在HTTP協議任意位置的SQL注入、各種類型的SQL注入及HTTPS注入。其功能強大,操作便捷。獲得存在SQL注入的URL后,根據工具要求填寫信息后即可進行檢測。在建立的測試環境中,show.jsp代碼未對id參數做任何過濾,存在SQL注入漏洞,如下圖為檢測結果。

利用sqlmap實施SQL注入
sqlmap是一個自動化的SQL注入工具,其主要功能是通過掃描發現并利用給定的URL的SQL注入漏洞,目前支持的數據庫有MSSQL、MySQL、Oracle和PostgreSQL。sqlmap采用4種獨特的SQL注入技術,分別是盲推理SQL注入、UNION查詢SQL注入、堆查詢和基于時間的SQL盲注入。其廣泛的功能和選項包括數據庫指紋、枚舉、數據庫提取、訪問目標文件系統,并能在獲取完全操作權限時執行任意命令。
sqlmap支持的數據庫有MySQL、Oracle、PostgreSQL、SQL Server、Access、DB2、SQLite、Firebird、Sybase和MaxDB。可以提供一個簡單的URL、Burp或WebScarab請求日志文件,通過文本文檔中的完整HTTP請求或者Google搜索匹配出結果頁面,也可以自己定義一個正則表達式來判斷用哪個地址進行測試。可以通過測試GET參數、POST參數、HTTP Cookie參數、HTTP User-Agent頭和HTTP Referer頭來確認是否存在SQL注入,也可以指定用逗號分隔的列表的具體參數來測試。可以通過設定HTTP(S)請求的并發數來提高盲注效率。
利用自己建立的測試環境實施攻擊。運行
sqlmap.py-u"http://192.168.31.128:8080/show.jsp?id=4"-dbs命令,即可對SQL注入漏洞進行利用。獲取的數據庫信息如下圖所示。




