sql注入學習筆記(3)--sqlmap參數介紹

File system access文件系統訪問

--file-read= 從後端DBMS文件系統讀取文件
--file-write=  在後端DBMS文件系統上編寫一個本地文件
--file-dest= 要寫入的後端DBMS絕對文件路徑

利用這個可以讀取系統文件"/etc/passwd",或者直接傳馬

General常規

-s     從存儲的(.sqlite)文件加載會話
-t      將所有HTTP流量記錄到一個文本文件中
--answers=   設置預定義的答案("quit=N,follow=N"),因爲執行過程中會很多次詢問,我們可以提前設置 
--base64= 包含Base64編碼數據的參數
--batch             永遠不要要求用戶輸入,使用默認行爲,這個我比較喜歡
--crawl=  目標網址開始抓取網站的深度,比如說--crawl=3
--binary-fields=.. 具有二進制值的結果字段(e.g. "digest")
--cleanup          從特定於sqlmap的UDF和表中清理DBMS
--crawl-exclude=..  正則表達式排除爬網的頁面 (e.g. "logout")
--csv-del=  在CSV輸出中使用的分隔字符 (default ",")
--charset=CHARSET   盲注字符集 (e.g. "0123456789abcdef")
 --dump-format= 轉儲數據格式(CSV (default), HTML or SQLITE)
--encoding=  C用於數據檢索的字符編碼(e.g. GBK)
--eta               顯示每個輸出的估計到達時間
--flush-session     刷新當前目標的會話文件
--forms            在目標URL上解析和測試表單
--fresh-queries     忽略存儲在會話文件中的查詢結果,如果之前對一個url掃描過,第二次他會默認從結果裏提取
--gpage=  使用指定頁碼的谷歌結果
--har=       將所有HTTP流量記錄到一個HAR文件中
--hex               在數據檢索期間使用十六進制轉換
--output-dir= 自定義輸出目錄路徑
--parse-errors      解析和顯示來自響應的DBMS錯誤消息
--preprocess=  使用給定的腳本對響應數據進行預處理
--repair           減少具有未知字符標記的條目(?)
--skip-waf         跳過啓發式檢測WAF / IPS保護
--table-prefix=T..  用於臨時表的前綴(default: "sqlmap")
--test-filter=   通過有效載荷和/或標題選擇測試 (e.g. ROW)
--test-skip= 按有效載荷和/或標題跳過測試 (e.g. BENCHMARK)
--web-root=  Web服務器文檔根目錄(e.g. "/var/www")
--save=   將選項保存到配置INI文件中
 -c      從配置INI文件加載選項
/etc/sqlmap/sqlmap.conf這個是sqlmap.conf默認的保存位置
比如說
sqlmap -u "" --skip-waf --repair ... -save="sss.conf"
sqlmap -c "sss.conf"
我們可以把一次掃描的參數保存下來,留着以後可以用

Miscellaneous雜項

-z MNEMONICS        使用簡短的記憶法(e.g. "flu,bat,ban,tec=EU")//就是用縮寫代替之前的命令,確實是命令太多了,怕你忘記了
比如說sqlmap -z "bat,randoma,ign,tec=BEU"對應sqlmap  --batch --random-agent --ignore-proxy --technique=BEU
--alert=       當發現SQL注入時,運行主機OS命令
--list-tampers     顯示可用的篡改腳本列表
--offline           在脫機模式下工作(只使用會話數據)
--results-file=  多目標模式下CSV結果文件的位置
--sqlmap-shell      交互的shell
--tmp-dir=    用於存儲臨時文件的本地目錄
--unstable        爲不穩定的連接調整選項
--wizard            簡單的嚮導界面,初學者用戶,每一步都有提示那種

以下是高級用法

User-defined function injection用戶自定義函數注入

這些選項可用於創建自定義的用戶定義函數

--udf-inject       注入自定義的用戶定義函數
--shared-lib=  共享庫的本地路徑
比如說windows的dll,linux的so

Operating system access操作系統訪問

--os-cmd=      執行操作系統命令
--os-shell          操作系統的shell
--os-pwn           提示輸入OOB Shell,Meterpreter或VNC
--os-smbrelay       單擊提示符可以獲得OOB shell、Meterpreter或VNC
--os-bof            存儲過程緩衝區溢出利用
--priv-esc          數據庫進程用戶權限升級
--msf-path=       安裝Metasploit框架的本地路徑
--tmp-path=     臨時文件目錄的遠程絕對路徑

Windows registry access註冊表

這些選項可用於訪問後端數據庫管理系統Windows registry

--reg-read          讀取Windows註冊表項值
--reg-add          寫一個Windows註冊表鍵值數據
--reg-del           刪除一個Windows註冊表項值
--reg-key=           Windows registry key
--reg-value=          Windows registry key value
--reg-data=           Windows registry key value data
--reg-type=          Windows registry key value type

例如

sqlmap –u="http://1.1.1.1/a.aspx?id=1" --reg-add --regkey="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --
reg-type=REG_SZ --reg-data=1

參數真的好多,還是通過實戰來記憶

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章