強大的SQL注入工具——sqlmap命令詳解

1. sqlmap簡介:
sqlmap
是一個開放源碼的***測試工具,它可以自動探測和利用SQL注入漏洞來接管數據庫服務器。它配備了一個強大的探測引擎,爲最終***測試人員提供很多猥瑣的功能,可以***,可以訪問底層的文件系統,還可以通過帶外連接執行操作系統上的命令。

2. SQLMAP命令詳解

Options
(選項):
  --version              
顯示程序的版本號並退出
  -h, --help                
顯示此幫助消息並退出
  -v VERBOSE          
詳細級別:0-6(默認爲1

Target
(目標):
以下至少需要設置其中一個選項,設置目標URL

   -d DIRECT            
直接連接到數據庫。
   -u URL, --url=URL    
目標URL
   -l LIST                  
BurpWebScarab代理的日誌中解析目標。
   -r REQUESTFILE      
從一個文件中載入HTTP請求。
   -g GOOGLEDORK    
處理Google dork的結果作爲目標URL
   -c CONFIGFILE      
INI配置文件中加載選項。

Request
(請求)::
這些選項可以用來指定如何連接到目標URL

   --data=DATA            
通過POST發送的數據字符串
   --cookie=COOKIE      HTTP Cookie

   --cookie-urlencode     URL
編碼生成的cookie注入
   --drop-set-cookie      
忽略響應的Set - Cookie頭信息
   --user-agent=AGENT  
指定  HTTPUser - Agent
   --random-agent        
使用隨機選定的HTTP User -Agent
   --referer=REFERER    
指定  HTTP Referer
   --headers=HEADERS  
換行分開,加入其他的HTTP
   --auth-type=ATYPE     HTTP
身份驗證類型(基本,摘要或NTLM(Basic, Digest or NTLM)
   --auth-cred=ACRED    HTTP
身份驗證憑據(用戶名:密碼)
   --auth-cert=ACERT     HTTP
認證證書(key_filecert_file
   --proxy=PROXY        
使用HTTP代理連接到目標URL
   --proxy-cred=PCRED   HTTP
代理身份驗證憑據(用戶名:密碼)
   --ignore-proxy          
忽略系統默認的HTTP代理
   --delay=DELAY        
在每個HTTP請求之間的延遲時間,單位爲秒
   --timeout=TIMEOUT  
等待連接超時的時間(默認爲30秒)
   --retries=RETRIES    
連接超時後重新連接的時間(默認3
   --scope=SCOPE        
從所提供的代理日誌中過濾器目標的正則表達式
   --safe-url=SAFURL    
在測試過程中經常訪問的url地址
  --safe-freq=SAFREQ  
兩次訪問之間測試請求,給出安全的URL

Optimization
(優化):
這些選項可用於優化SqlMap的性能。

   -o                      
開啓所有優化開關
   --predict-output    
預測常見的查詢輸出
   --keep-alive          
使用持久的HTTPS)連接
   --null-connection    
從沒有實際的HTTP響應體中檢索頁面長度
   --threads=THREADS  
最大的HTTPS)請求併發量(默認爲1

Injection
(注入):
這些選項可以用來指定測試哪些參數,提供自定義的注入payloads和可選篡改腳本。

   -p TESTPARAMETER    
可測試的參數(S
   --dbms=DBMS          
強制後端的DBMS爲此值
   --os=OS                    
強制後端的DBMS操作系統爲這個值
   --prefix=PREFIX          
注入payload字符串前綴
   --suffix=SUFFIX          
注入payload字符串後綴
   --tamper=TAMPER      
使用給定的腳本(S)篡改注入數據

Detection
(檢測):
這些選項可以用來指定在SQL盲注時如何解析和比較HTTP響應頁面的內容。

   --level=LEVEL        
執行測試的等級(1-5,默認爲1
   --risk=RISK          
執行測試的風險(0-3,默認爲1
   --string=STRING    
查詢時有效時在頁面匹配字符串
   --regexp=REGEXP    
查詢時有效時在頁面匹配正則表達式
   --text-only            
僅基於在文本內容比較網頁

Techniques
(技巧):
這些選項可用於調整具體的SQL注入測試。

   --technique=TECH     SQL
注入技術測試(默認BEUST
   --time-sec=TIMESEC  DBMS
響應的延遲時間(默認爲5秒)
   --union-cols=UCOLS  
定列範圍用於測試UNION查詢注入
   --union-char=UCHAR  
用於暴力猜解列數的字符

Fingerprint
(指紋):
   -f, --fingerprint        
執行檢查廣泛的DBMS版本指紋

Enumeration
(枚舉):
這些選項可以用來列舉後端數據庫管理系統的信息、表中的結構和數據。此外,您還可以運行您自己的SQL語句。

-b, --banner       檢索數據庫管理系統的標識
   --current-user      
檢索數據庫管理系統當前用戶
   --current-db        
檢索數據庫管理系統當前數據庫
   --is-dba            
檢測DBMS當前用戶是否DBA
   --users              
枚舉數據庫管理系統用戶
   --passwords        
枚舉數據庫管理系統用戶密碼哈希
   --privileges        
枚舉數據庫管理系統用戶的權限
   --roles              
枚舉數據庫管理系統用戶的角色
   --dbs                
枚舉數據庫管理系統數據庫
   --tables            
枚舉的DBMS數據庫中的表
   --columns          
枚舉DBMS數據庫表列
   --dump              
轉儲數據庫管理系統的數據庫中的表項
   --dump-all          
轉儲所有的DBMS數據庫表中的條目
   --search            
搜索列(S),表(S)和/或數據庫名稱(S
   -D DB              
要進行枚舉的數據庫名
   -T TBL              
要進行枚舉的數據庫表
   -C COL              
要進行枚舉的數據庫列
   -U USER            
用來進行枚舉的數據庫用戶
   --exclude-sysdbs    
枚舉表時排除系統數據庫
   --start=LIMITSTART  
第一個查詢輸出進入檢索
   --stop=LIMITSTOP    
最後查詢的輸出進入檢索
   --first=FIRSTCHAR  
第一個查詢輸出字的字符檢索
   --last=LASTCHAR    
最後查詢的輸出字字符檢索
   --sql-query=QUERY  
要執行的SQL語句
   --sql-shell              
提示交互式SQLshell

Brute force
(蠻力):
這些選項可以被用來運行蠻力檢查。

   --common-tables      
檢查存在共同表
   --common-columns    
檢查存在共同列

User-defined function injection
(用戶自定義函數注入):
這些選項可以用來創建用戶自定義函數。

   --udf-inject                
注入用戶自定義函數
   --shared-lib=SHLIB      
共享庫的本地路徑

File system access
(訪問文件系統):
這些選項可以被用來訪問後端數據庫管理系統的底層文件系統。

   --file-read=RFILE  
從後端的數據庫管理系統文件系統讀取文件
   --file-write=WFILE  
編輯後端的數據庫管理系統文件系統上的本地文件
   --file-dest=DFILE  
後端的數據庫管理系統寫入文件的絕對路徑

Operating system access
(操作系統訪問):
這些選項可以用於訪問後端數據庫管理系統的底層操作系統。

   --os-cmd=OSCMD      
執行操作系統命令
   --os-shell                  
交互式的操作系統的shell
   --os-pwn                  
獲取一個OOB shellmeterpreterVNC
   --os-smbrelay            
一鍵獲取一個OOB shellmeterpreterVNC
   --os-bof                    
存儲過程緩衝區溢出利用
   --priv-esc                  
數據庫進程用戶權限提升
   --msf-path=MSFPATH   MetasploitFramework
本地的安裝路徑
   --tmp-path=TMPPATH  
遠程臨時文件目錄的絕對路徑


Windows
註冊表訪問:
這些選項可以被用來訪問後端數據庫管理系統Windows註冊表。

   --reg-read              
讀一個Windows註冊表項值
   --reg-add              
寫一個Windows註冊表項值數據
   --reg-del                
刪除Windows註冊表鍵值
   --reg-key=REGKEY    Windows
註冊表鍵
   --reg-value=REGVAL  Windows
註冊表項值
   --reg-data=REGDATA  Windows
註冊表鍵值數據
   --reg-type=REGTYPE   Windows
註冊表項值類型

General
(一般):
這些選項可以用來設置一些一般的工作參數。


   -t TRAFFICFILE      
記錄所有HTTP流量到一個文本文件中
   -s SESSIONFILE      
保存和恢復檢索會話文件的所有數據
   --flush-session        
刷新當前目標的會話文件
   --fresh-queries      
忽略在會話文件中存儲的查詢結果
   --eta                  
顯示每個輸出的預計到達時間
   --update              
更新SqlMap
   --save                 file
保存選項到INI配置文件
   --batch              
從不詢問用戶輸入,使用所有默認配置。

 Miscellaneous
(雜項):
   --beep                
發現SQL注入時提醒
   --check-payload     IDS
對注入payloads的檢測測試
   --cleanup             SqlMap
具體的UDF和表清理DBMS
   --forms              
對目標URL的解析和測試形式
   --gpage=GOOGLEPAGE      
從指定的頁碼使用谷歌dork結果
   --page-rank          Google dork
結果顯示網頁排名(PR
   --parse-errors        
從響應頁面解析數據庫管理系統的錯誤消息
   --replicate            
複製轉儲的數據到一個sqlite3數據庫
   --tor                  
使用默認的TorVidalia/ Privoxy/ Polipo)代理地址
   --wizard              
給初級用戶的簡單向導界面

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