上一篇我們對sqlmap進行簡單的介紹,並介紹了一些·sqlmap的基礎用法,這篇讓我們來更深入的了解一下sqlmap,了解一下它的強大功能。
探測等級
參數為 --level
在sqlmap中一共有五個探測等級,默認等級為一。
等級為一時會測試get和post的數據。
等級為二時會測試HTTP頭的cookie注入。
等級為三時會測試HTTP的user-agent、referer頭、xff頭等的注入。
等級越高,檢測的越多,運行也越慢,所以我們要看情況來選定等級。
sqlmap支持的注入模式
1、基於布爾的盲注,即可以根據返回頁面判斷條件真假的注入。
2、基於時間的盲注,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增加)來判斷。
3、基於報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中。
4、聯合查詢注入,可以使用union的情況下的注入。
5、堆查詢注入,可以同時執行多條語句的執行時的注入。
sqlmap支持的數據庫
MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase,SAP MaxDB
HTTP Referer頭
sqlmap可以在請求中偽HTTP的Referer頭,當--level參數大於等於三時,會嘗試進行refer注入,可以用refer命令來欺騙,命令為 --referer
--sql-shell
該命令可以運行指定的SQL語句,我們可以自定義SQL語句來實現想要的功能。
--os-cmd 和 --os-shell
可以用來運行任意的操作系統的命令。
--file -read
這個命令用來讀取執行文件,當用戶有足夠的權限使用特定的函數時,便可以讀取數據庫服務器的文件。
--file-write --file-dest
這個命令用來將本地文件寫入到服務器中