溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

sqlmap參數(shù)有哪些及含義是什么

發(fā)布時間:2022-10-19 11:13:08 來源:億速云 閱讀:227 作者:iii 欄目:數(shù)據(jù)庫

本文小編為大家詳細介紹“sqlmap參數(shù)有哪些及含義是什么”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“sqlmap參數(shù)有哪些及含義是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

Options(選項)

-h, --help 查看幫助,沒什么好說的

-hh 查看全部的幫助

--version 查看版本

-v 顯示信息的級別,一共有六級:0:只顯示python 錯誤和一些嚴重信息;1:顯示基本信息(默認);2:顯示debug信息;3:顯示注入過程的payload;4:顯示http請求包;5:顯示http響應頭;7:顯示http相應頁面。

Target(目標)

-d 直接連目標后端接數(shù)據(jù)庫,而不是使用sql注入漏洞,直接通過目標的偵聽端口連接,當然需要有目標數(shù)據(jù)庫的賬號名和密碼。例:-d "mysql://user:password@192.168.75.128:3389/databasename" --dbs 查詢非???。

-u 指定一個url連接,url中必須有?xx=xx 才行(最常用的參數(shù))例:-u "www.abc.com/index.php?id=1"

-l 后接一個log文件,可以是burp等的代理的log文件,之后sqlmap會掃描log中的所有記錄。例: -l log.txt

-x 站點地圖,提交給sql一個xml文件。

-m 后接一個txt文件,文件中是多個url,sqlmap會自動化的檢測其中的所有url。例: -m target.txt

-r 可以將一個post請求方式的數(shù)據(jù)包保存在一個txt中,sqlmap會通過post方式檢測目標。例: -r post.txt

-g 使用google引擎搜索類似的網(wǎng)址,并且多目標檢測。例: -g "inurl:\".php?id=1\"" \是轉(zhuǎn)義

-c 將使用的命令寫在一個文件中,讓sqlmap執(zhí)行文件中的命令,我們可以用--save命令將配置寫入文件。

Request(請求)

--method=METHOD 指定是get方法還是post方法。例: --method=GET --method=POST

--data=DATA 指明參數(shù)是哪些。例:-u "www.abc.com/index.php?id=1" --data="name=1&pass=2"

--param-del=PARA. 指明使用的變量分割符。例: -u "www.abc.com/index.php?id=1" --data="name=1;pass=2" --param-del=";"

--cookie=COOKIE 指定測試時使用的cookie,通常在一些需要登錄的站點會使用。例: -u "www.abc.com/index.php?id=1" --cookie="a=1;b=2"

--cookie-del=COO.. 和前面的 --param-del=PARA. 類似,就是指明分割cookie的字符。

--load-cookies=L.. 從包含Netscape / wget格式的cookie的文件中加載cookie。

--drop-set-cookie 默認情況下,sqlmap是開啟set-cookie功能的,也就是當收到一個含有set-cookie的http包的時候,下次sql會使用新的cookie進行發(fā)包,如果使用這條命令,就會關(guān)閉這個功能。在level>=2時會檢測cookie注入。

--user-agent=AGENT 指定一個user-agent的值進行測試。例: --user-agent="aaaaaaa" 默認情況下,sqlmap會使用自己的user-agent進行測試(所以很多服務(wù)器發(fā)現(xiàn)user-agent是sqlmap的數(shù)據(jù)包直接認為是入侵),sqlmap自己的user-agent是:sqlmap/1.0-dev-nongit-201603020a89(http://sqlmap.org)

--random-agent 使用隨機user-agent進行測試。sqlmap有一個文件中儲存了各種各樣的user-agent,文件在sqlmap/txt/user-agent.txt 在level>=3時會檢測user-agent注入。

--host=HOST 指定http包中的host頭參數(shù)。例: --host="aaaaaa" 在level>=5時才會檢查host頭注入。\n是換行

--referer=REFERER 指定http包中的refere字段。例: --refere="aaaaa" 在level>=3時才會檢測refere注入。

-H --headers 額外的header頭,每個占一行。例:--headers="host:www.a.com\nUser-Agent:yuangh"

--headers=HEADERS 跟上邊一樣,再舉一個例子: --headers="Accept-Language: fr\nETag: 123" 注意所有構(gòu)造http包的部分均區(qū)分大小寫

--auth-type=AUTH.. 基于http身份驗證的種類。例: --auth-type Basic/Digest/NTLM 一共有三種認證方式。

--auth-cred=AUTH.. 使用的認證,例: --auth-type Basic --auth-cred "user:password"

--auth-file=AUTH.. 使用.PEM文件中的認證。例:--auth-file="AU.PEM" 少見。

--ignore-code=IG.. 無視http狀態(tài)碼。例: --ignore-code=401

--ignore-proxy 無視本地的代理,有時候機器會有最基本的代理配置,在掃描本地網(wǎng)段的時候會很麻煩,使用這個參數(shù)可以忽略代理設(shè)置。

--ignore-redirects 無視http重定向,比如登錄成功會跳轉(zhuǎn)到其他網(wǎng)頁,可使用這個忽略掉。

--ignore-timeouts 忽略連接超時。

--proxy=PROXY 指定一個代理。例: --proxy="127.0.0.1:8087" 使用GoAgent代理。

--proxy-cred=PRO.. 代理需要的認證。例: --proxy="name:password"

--proxy-file=PRO.. 從一個文件加載代理的認證。

--tor 使用tor匿名網(wǎng)絡(luò),不懂。

--tor-port=TORPORT 設(shè)置默認的tor代理端口,不懂+2。

--tor-type=TORTYPE 設(shè)置tor代理種類,(HTTP, SOCKS4 or SOCKS5 (默認)),不懂+3。

--check-tor 檢查是否正確使用Tor,不懂+4。

--delay=DELAY 每次發(fā)包的延遲時間,單位為秒,浮點數(shù)。例:--delay 2.5 有時候頻繁的發(fā)包會引起服務(wù)器注意,需要使用delay降低發(fā)包頻率。

--timeout=TIMEOUT 請求超時的時間,單位為秒,浮點數(shù),默認30s。

--retries=RETRIES 超時重連次數(shù),默認三次。例: --retries=5

--randomize=RPARAM 參數(shù)的長度,類型與輸入值保持一致的前提下,每次請求換參數(shù)的值。有時候反復的提交同一個參數(shù)會引起服務(wù)器注意。

--safe-url=SAFEURL 用法和-u類似,就是一個加載測試url的方法,但額外功能是防止有時候時間長了不通訊服務(wù)器會銷毀session,開啟這種功能會隔一段時間發(fā)一個包保持session。

--safe-post=SAFE.. 和上面的一樣,只是使用post的方式發(fā)送數(shù)據(jù)。

--safe-req=SAFER.. 和上面的一樣,只是從一個文件獲得目標。

--safe-freq=SAFE.. 頻繁的發(fā)送錯誤的請求,服務(wù)器也會銷毀session或者其他懲罰方式,開啟這個功能之后,發(fā)幾次錯的就會發(fā)一次對的。通常用于盲注。

--skip-urlencode 跳過url編碼,畢竟不排除有的奇葩網(wǎng)站url不遵守RFC標準編碼。

--csrf-token=CSR.. 保持csrf令牌的token。

--csrf-url=CSRFURL 訪問url地址獲取csrf的token。

--force-ssl 強制使用ssl。

--hpp 使用http參數(shù)污染,通常http傳遞參數(shù)會以名稱-值對的形勢出現(xiàn),通常在一個請求中,同樣名稱的參數(shù)只會出現(xiàn)一次。但是在HTTP協(xié)議中是允許同樣名稱的參數(shù)出現(xiàn)多次的,就可能造成參數(shù)篡改。

--eval(id).hexdigest()"

Optimization(最佳選擇)

-o 開啟下面三項(--predict-output,--keep-alive, --null-connection)

--predict-output 預設(shè)的輸出,可以理解為猜一個表存在不存在,根據(jù)服務(wù)器返回值來進行判斷,有點類似暴力破解,但和暴力破解又不同,這個是一個范圍性的暴力破解,一次一次的縮小范圍。

--keep-alive 使用http(s)長鏈接,性能更好,避免重復建立鏈接的開銷,但占用服務(wù)器資源,而且與--proxy不兼容。

--null-connection 只看頁面返回的大小值,而不看具體內(nèi)容,通常用于盲注或者布爾的判斷,只看對錯,不看內(nèi)容。

--threads=THREADS 開啟多線程,默認為1,最大10。和 --predict-output 不兼容。

Injection(注入)

-p TESTPARAMETER 知道測試的參數(shù),使用這個的話--level 參數(shù)就會失效。例: -p "user-agent,refere"

--skip=SKIP 排除指定的參數(shù)。例: --level 5 --skip="id,user-agent"

--skip-static 跳過測試靜態(tài)的參數(shù)。

--param-exclude=.. 使用正則表達式跳過測試參數(shù)。

--dbms=DBMS 指定目標數(shù)據(jù)庫類型。例: --dbms="MySQL<5.0>" Oracle<11i> Microsoft SQL Server<2005>

--dbms-cred=DBMS.. 數(shù)據(jù)庫的認證。利: --dbms-cred="name:password"

--os=OS 指定目標操作系統(tǒng)。例: --os="Linux/Windows"

--invalid-bignum 通常情況下sqlmap使用負值使參數(shù)失效,比如id=1->id=-1,開啟這個之后使用大值使參數(shù)失效,如id=9999999999。

--invalid-logical 使用邏輯使參數(shù)失效,如id=1 and 1=2。

--invalid-string 使用隨機字符串使參數(shù)失效。

--no-cast 獲取數(shù)據(jù)時,sqlmap會將所有數(shù)據(jù)轉(zhuǎn)換成字符串,并用空格代替null。

--no-escape 用于混淆和避免出錯,使用單引號的字符串的時候,有時候會被攔截,sqlmap使用char()編碼。例如:select “a”-> select char(97)。

--prefix=PREFIX 指定payload前綴,有時候我們猜到了服務(wù)端代碼的閉合情況,需要使用這個來指定一下。例: -u "www.abc.com/index?id=1" -p id --prefix")" --suffix "and ('abc'='abc"

--suffix=SUFFIX 指定后綴,例子同上。

--tamper=TAMPER 使用sqlmap自帶的tamper,或者自己寫的tamper,來混淆payload,通常用來繞過waf和ips。

Detection(探測)

--level=LEVEL 設(shè)置測試的等級(1-5,默認為1)lv2:cookie; lv3:user-agent,refere; lv5:host 在sqlmap/xml/payloads文件內(nèi)可以看見各個level發(fā)送的payload

--risk=RISK 風險(1-4,默認1)升高風險等級會增加數(shù)據(jù)被篡改的風險。risk 2:基于事件的測試;risk 3:or語句的測試;risk 4:update的測試

--string=STRING 在基于布爾的注入時,有的時候返回的頁面一次一個樣,需要我們自己判斷出標志著返回正確頁面的標志,會根據(jù)頁面的返回內(nèi)容這個標志(字符串)判斷真假,可以使用這個參數(shù)來制定看見什么字符串就是真。

--not-string=NOT.. 同理,這個參數(shù)代表看不見什么才是真。

--regexp=REGEXP 通常和上面兩種連用,使用正則表達式來判斷。

--code=CODE 也是在基于布爾的注入時,只不過指定的是http返回碼。

--text-only 同上,只不過指定的是頁面里的一段文本內(nèi)容。

--titles 同上,只不過指定的是頁面的標題。

Techniques(技巧)

--technique=TECH 指定所使用的技術(shù)(B:布爾盲注;E:報錯注入;U:聯(lián)合查詢注入;S:文件系統(tǒng),操作系統(tǒng),注冊表相關(guān)注入;T:時間盲注; 默認全部使用)

--time-sec=TIMESEC 在基于時間的盲注的時候,指定判斷的時間,單位秒,默認5秒。

--union-cols=UCOLS 聯(lián)合查詢的嘗試列數(shù),隨level增加,最多支持50列。例: --union-cols 6-9

--union-char=UCHAR 聯(lián)合查詢默認使用的占列的是null,有些情況null可能會失效,可以手動指定其他的。例: --union-char 1

--union-from=UFROM 聯(lián)合查詢從之前的查詢結(jié)果中選擇列,和上面的類似。

--dns-domain=DNS.. 如果你控制了一臺dns服務(wù)器,使用這個可以提高效率。例: --dns-domain 123.com

--second-order=S.. 在這個頁面注入的結(jié)果,在另一個頁面顯示。例: --second-order 1.1.1.1/b.php

Fingerprint

-f, --fingerprint 指紋信息,返回DBMS,操作系統(tǒng),架構(gòu),補丁等信息。

Enumeration(枚舉)

-a, --all 查找全部,很暴力。直接用-a

-b, --banner 查找數(shù)據(jù)庫管理系統(tǒng)的標識。直接用-b

--current-user 當前用戶,常用,直接用--current-user

--current-db 當前數(shù)據(jù)庫,常用,直接用--current-db

--hostname 主機名,直接用--hostname

--is-dba

--users 查詢一共都有哪些用戶,常用,直接用--users

--passwords 查詢用戶密碼的哈希,常用,直接用--passwords

--privileges 查看特權(quán),常用。例: --privileges -U username (CU 就是當前用戶)

--roles 查看一共有哪些角色(權(quán)限),直接用--roles

--dbs 目標服務(wù)器中有什么數(shù)據(jù)庫,常用,直接用--dbs

--tables 目標數(shù)據(jù)庫有什么表,常用,直接用--tables

--columns 目標表中有什么列,常用,直接用--colums

--schema 目標數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)管理模式。

--count 查詢結(jié)果返回一個數(shù)字,即多少個。

--dump 查詢指定范圍的全部數(shù)據(jù)。例: --dump -D admin -T admin -C username

--dump-all 查詢?nèi)繑?shù)據(jù)。例: --dump-all --exclude-sysdbs

--search 搜索列、表和/或數(shù)據(jù)庫名稱。

--comments 檢索數(shù)據(jù)庫的備注。

-D DB 指定從某個數(shù)據(jù)庫查詢數(shù)據(jù),常用。例: -D admindb

-T TBL 指定從某個表查詢數(shù)據(jù),常用。例: -T admintable

-C COL 指定從某個列查詢數(shù)據(jù),常用。例: -C username

-X EXCLUDE 指定數(shù)據(jù)庫的標識符。

-U USER 一個用戶,通常和其他連用。例: --privileges -U username (CU 就是當前用戶)

--exclude-sysdbs 除了系統(tǒng)數(shù)據(jù)庫。

--pivot-column=P.. 樞軸列名,不懂。

--where=DUMPWHERE 在dump表時使用where限制條件。

--start=LIMITSTART 設(shè)置一個起始,通常和--dunmp連用。

--stop=LIMITSTOP 同上,設(shè)置一個結(jié)束。

--first=FIRSTCHAR 以第一個查詢輸出的字符檢索,不懂。

--last=LASTCHAR 以最后一個查詢輸出的字符檢索,不懂+2。

--sql-query=QUERY 執(zhí)行一個sql語句。

--sql-shell 創(chuàng)建一個sql的shell。

--sql-file=SQLFILE 執(zhí)行一個給定文件中的sql語句

Brute force(暴力破解)

--common-tables 檢查有沒有記錄表信息的公共表,比如mysql>=5.0會有一個information_schema庫,儲存了整個數(shù)據(jù)庫的基本信息。有這個會方便很多。

--common-columns 有沒有記錄公共列的表,比如Access就沒有列信息。這兩種方法都會使用暴力破解。

User-defined function injection

--udf-inject 編譯共享庫創(chuàng)建并上傳至DB Server,生成UDF實現(xiàn)高級注入,不懂。

--shared-lib=SHLIB 同上,不懂。

File system access(文件系統(tǒng)訪問)

--file-read=RFILE 讀取目標站點的一個文件。例: --file-read="/etc/password"

--file-write=WFILE 寫入到目標站點的一個文件,通常和--sql-query 連用。例: --sql-query="select "一句話木馬" --file-write="shell.php"

--file-dest=DFILE 同上,只是使用絕對路徑寫入。

Operating system access(操作系統(tǒng)訪問)

--os-cmd=OSCMD 執(zhí)行一句系統(tǒng)命令。例: --os-shell="ipconfig -all"

--os-shell 創(chuàng)建一個對方操作系統(tǒng)的shell,遠程執(zhí)行系統(tǒng)命令。直接用即可--os-shell

--os-pwn 同上,獲取一個OOB shell,meterpreter或VNC。

--os-smbrelay 同上,一鍵獲取一個OOB shell,meterpreter或VNC。

--os-bof 利用緩沖區(qū)溢出。

--priv-esc 自動提權(quán),數(shù)據(jù)庫進程用戶權(quán)限提升。

--msf-path=MSFPATH Metasploit Framework本地的安裝路徑。

--tmp-path=TMPPATH 遠程臨時文件目錄的絕對路徑。

Windows registry access(windows注冊表訪問)

--reg-read 讀一個Windows注冊表。

--reg-add 添加一個注冊表。

--reg-del 刪一個注冊表。

--reg-key=REGKEY 和之前連用,注冊表key值。

--reg-value=REGVAL 和之前連用,注冊表值。

--reg-data=REGDATA 和之前連用,注冊表數(shù)據(jù)。

--reg-type=REGTYPE 和之前連用,注冊表類別。

General(一般)

-s SESSIONFILE 從一個文件加載保存的session。

-t TRAFFICFILE 記錄流文件的保存位置。

--batch 批處理,在檢測過程中會問用戶一些問題,使用這個參數(shù)統(tǒng)統(tǒng)使用默認值。

--binary-fields=.. 指定二進制結(jié)果的字段。

--check-internet 在評估目標之前檢查互聯(lián)網(wǎng)連接,新功能。

--crawl=CRAWLDEPTH 從起始位置爬取的深度。例: --crawl=3

--crawl-exclude=.. 除了哪些頁面之外全部爬取。例: --crawl-exclude="abc.com/logout.php"

--csv-del=CSVDEL 指定在CSV輸出中使用的分隔字符。

--charset=CHARSET 強制字符串編碼。例: --charset=GBK

--dump-format=DU.. 轉(zhuǎn)儲數(shù)據(jù)的格式 ,有(CSV (默認), HTML,SQLITE)三種。

--encoding=ENCOD.. 用于數(shù)據(jù)檢索的字符編碼。例: --encoding=GBK

--eta 顯示每個輸出的預計到達時間 。

--flush-session 清空會話信息。

--forms 在目標URL上解析和測試表單。

--fresh-queries sqlmap每次查詢都會講查詢結(jié)果儲存在.sqlmap文件夾中,下次再有相同測查詢會調(diào)用上次的查詢結(jié)果,使用這個參數(shù)可以忽略文件中有的記載結(jié)果,重新查詢。

--har=HARFILE 將所有http流量記錄在一個har文件中。

--hex dump非ascii字符時,將其編碼為16進制,收到后解碼還原。

--output-dir=OUT.. 輸出結(jié)果至文件。例: --output-dir=/tmp

--parse-errors 解析并顯示報錯信息。

--save=SAVECONFIG 將使用的命令保存到配置ini文件

--scope=SCOPE 和-l類似,只是這個可以過濾信息,使用正則表達式過濾網(wǎng)址。

--test-filter=TE.. 根據(jù)有效負載和/或標題,不懂。

--test-skip=TEST.. 根據(jù)有效負載和/或標題跳過測試,不懂+2。

--update 更新sqlmap。

Miscellaneous(雜項)

-z MNEMONICS 參數(shù)助記符,比較傻的一個功能。例: -z "bat,randoma,ign,tec=BEU" 其實就是只要你寫的字母可以唯一匹配其他參數(shù),就可以生效。

--alert=ALERT 在找到SQL注入時運行主機OS命令。

--answers=ANSWERS 設(shè)置問題答案,在剛剛的--batch 可以跳過很多問題,但只是選擇默認值,可以使用者個參數(shù)對特定問題設(shè)定特定答案。例: --answer "extending=N"

--beep 在問題和/或當SQL注入被發(fā)現(xiàn)時發(fā)出嘟嘟聲。。。。。。。。。

--cleanup 從SqLMAP特定的UDF和表中找數(shù)據(jù)庫,類似暴力破解。

--dependencies 檢查缺少的Sql映射依賴項。

--disable-coloring 禁用控制臺輸出著色。

--gpage=GOOGLEPAGE 在指定頁使用google結(jié)果,不懂。

--identify-waf 識別目標的防火墻。

--mobile cosplay 手機。

--offline 在脫機模式下工作。

--purge-output 情況輸出文件夾。

--skip-waf 跳過WAF/IPS/IDS保護的啟發(fā)式檢測。

--smart 有大量檢測目標時候,只選擇基于錯誤的檢測。

--sqlmap-shell 創(chuàng)建一個交互的sqlmap_shell,不懂。

--tmp-dir=TMPDIR 更改存儲臨時文件的本地目錄。

--web-root=WEBROOT 設(shè)置Web服務(wù)器文檔根目錄。例: --web-root="/var/www"

--wizard 新手教程。

讀到這里,這篇“sqlmap參數(shù)有哪些及含義是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI