文章目錄
說明
以下對SQLMAP的操作說明皆在靶機環境下進行演示學習,請勿進行非法行爲操作!
輸出結果詳細程度
-v
控制sqlmap結果輸出的詳細程度,7個級別,默認爲1
- 0,僅顯示回溯,錯誤和嚴重信息
- 1,顯示警告信息
- 2,顯示調試信息
- 3,顯示注入的有效載荷
- 4,顯示HTTP請求
- 5,顯示HTTP響應的標頭
- 6,顯示HTTP響應的頁面內容
多種注入方式
單目標地址注入
-u / --url
針對單個目標地址使用,一般結合其它參數使用
多目標地址注入
-m
批量注入文本文件中列出的URL目標列表,sqlmap逐個掃描每個URL
注入文本文件
-r
從文本文件中加載注入的目標,優點:可跳過Cookie認證
保存要注入的頁面操作請求於文本文件中
連接請求選項
HTTP方法
- -method
sqlmap是自動檢測HTTP請求中使用的正確方法,但是一些不常用的方法需要使用該參數指定
POST注入
- -data
sqlmap默認執行HTTP請求的方法是GET,當要測試POST注入的參數時需要使用該參數,一般和-r參數共用
保存當前POST請求於文本文件中
指定分隔符
- -param-del
主要用於多個參數注入時指定分隔符,能夠使sqlmap更加精準的測試目的參數
Cookie登錄驗證
- -cookie
該選項在如下兩個情況下使用
- 該注入點需要登錄才能訪問
- 想要檢測和利用此類標頭的SQL注入(- -level設置爲2或者更高,sqlmap自動測試HTTP標頭)
目標網站需要cookie驗證,且未設置情況下顯示如下:
在未設置HTTPOnly站點下瀏覽器輸入以下代碼,獲取當前cookie(方法多種)
HTTP協議認證
- -auth-type 和 - -auth-cred
用於指定使用哪個HTTP協議身份驗證後端Web服務器,用於執行對目標應用程序所有的有效憑據。
支持的三種HTTP協議身份驗證機制:
- Basic
- Digest
- NTLM
HTTP私鑰認證
- -auth-file
適用於Web服務器需要客戶端證書用於身份驗證的私鑰
僞造User-Agent頭
- -user-agent 和 - -random-agent
一些站點防火牆會對HTTP的User-Agent標頭進行檢查,從而檢測攻擊加入到到IPS的黑名單中
Tips:- -level設置爲3或更高,sqlmap會對HTTP標頭進行測試
方法一:隨機替換
查看到請求包中的User-Agent自動替換了:
方法二:指定替換
指定HOST頭
- -host
host標頭自動從目標解析
指定Referer頭
- referer
默認情況下請求包中無Regerer標頭,可僞造此標頭
忽略HTTP錯誤代碼
- -ignore-code
適用於測試偶爾返回HTTP錯誤代碼(導致常規sqlmap運行引起問題)的站點(如401:未經授權),而想忽略該提示繼續測試,則使用該參數
HTTP(s)代理
- -proxy、- -proxy-cred、- -proxy-file 和 - -ignore-proxy
- - -proxy-file:適用於侵入的IP地址被封時自動跳到代理池的下一個地址,從而持續掃描注入
- - -ignore-proxy:忽略本地代理設置
Tor匿名網絡
- -tor、- -tor-port、- -tor-type 和 - -check-tor
適用於出於某種原因保持匿名掃描注入