SQLMAP超詳細說明

超詳細中文完整版–SqlMap用戶手冊-安全盒子

什麼是SQLmap?

SQLmap是一款用來檢測與利用SQL注入漏洞的免費開源工具,有一個非常棒的特性,即對檢測與利用的自動化處理(數據庫指紋、訪問底層文件系統、執行命令)。

如何獲得SQLmap:

SQLmap官方下載地址:

http://sqlmap.org/

http://sourceforge.net/projects/sqlmap/

https://github.com/sqlmapproject/sqlmap

超詳細中文完整版–SqlMap用戶手冊-安全盒子

注:window下需要設置環境變量

當然你也可以使用git來獲取sqlmap

之後可以直接使用命令來更新

或者

更新sqlmap

如何使用SQLmap:

文章可能內容有點長,但都是精華,請讀者們耐心的看吧 : )

當給sqlmap這麼一個url的時候,它會:

sqlmap支持五種不同的注入模式:

sqlmap支持的數據庫有:

可以提供一個簡單的URL,Burp或WebScarab請求日誌文件,文本文檔中的完整http請求或者Google的搜索,匹配出結果頁面,也可以自己定義一個正則來判斷那個地址去測試。

測試GET參數,POST參數,HTTP Cookie參數,HTTP User-Agent頭和HTTP Referer頭來確認是否有SQL注入,它也可以指定用逗號分隔的列表的具體參數來測試。

可以設定HTTP(S)請求的併發數,來提高盲注時的效率。

Youtube上有人做的使用sqlmap的視頻:

http://www.youtube.com/user/inquisb/videos

http://www.youtube.com/user/stamparm/videos

使用sqlmap的實例文章:

http://unconciousmind.blogspot.com/search/label/sqlmap

http://www.srxh1314.com/sqlmap-penetration.html

http://drops.wooyun.org/tips/1343

如果你想觀察sqlmap對一個點是進行了怎樣的嘗試判斷以及讀取數據的,可以使用-v參數。

共有七個等級,默認爲1:

如果你想看到sqlmap發送的測試payload最好的等級就是3。

獲取目標方式


目標URL

參數:-u或者--url

格式:http(s)://targeturl[:port]/[…]

例如:python sqlmap.py -u "http://www.target.com/vuln.php?id=1" -f --banner --dbs --users

從Burp或者WebScarab代理中獲取日誌

參數:-l

可以直接吧Burp proxy或者WebScarab proxy中的日誌直接倒出來交給sqlmap來一個一個檢測是否有注入。

從文本中獲取多個目標掃描

參數:-m

文件中保存url格式如下,sqlmap會一個一個檢測

從文件中加載HTTP請求

參數:-r

sqlmap可以從一個文本文件中獲取HTTP請求,這樣就可以跳過設置一些其他參數(比如cookie,POST數據,等等)。

比如文本文件內如下:

當請求是HTTPS的時候你需要配合這個--force-ssl參數來使用,或者你可以在Host頭後面加上:443

處理Google的搜索結果

參數:-g

sqlmap可以測試注入Google的搜索結果中的GET參數(只獲取前100個結果)。

例子:

(很牛B的功能,測試了一下,第十幾個就找到新浪的一個注入點)

此外可以使用-c參數加載sqlmap.conf文件裏面的相關配置。

請求


http數據

參數:--data

此參數是把數據以POST方式提交,sqlmap會像檢測GET參數一樣檢測POST的參數。

例子:

參數拆分字符

參數:--param-del

當GET或POST的數據需要用其他字符分割測試參數的時候需要用到此參數。

例子:

HTTP cookie頭

參數:--cookie,--load-cookies,--drop-set-cookie

這個參數在以下兩個方面很有用:

1、web應用需要登陸的時候。

2、你想要在這些頭參數中測試SQL注入時。

可以通過抓包把cookie獲取到,複製出來,然後加到--cookie參數裏。

在HTTP請求中,遇到Set-Cookie的話,sqlmap會自動獲取並且在以後的請求中加入,並且會嘗試SQL注入。

如果你不想接受Set-Cookie可以使用--drop-set-cookie參數來拒接。

當你使用--cookie參數時,當返回一個Set-Cookie頭的時候,sqlmap會詢問你用哪個cookie來繼續接下來的請求。當--level的參數設定爲2或者2以上的時候,sqlmap會嘗試注入Cookie參數。

HTTP User-Agent頭

參數:--user-agent,--random-agent

默認情況下sqlmap的HTTP請求頭中User-Agent值是:

可以使用--user-anget參數來修改,同時也可以使用--random-agnet參數來隨機的從./txt/user-agents.txt中獲取。

當--level參數設定爲3或者3以上的時候,會嘗試對User-Angent進行注入。

HTTP Referer頭

參數:--referer

sqlmap可以在請求中僞造HTTP中的referer,當--level參數設定爲3或者3以上的時候會嘗試對referer注入。

額外的HTTP頭

參數:--headers

可以通過--headers參數來增加額外的http頭

HTTP認證保護

參數:--auth-type,--auth-cred

這些參數可以用來登陸HTTP的認證保護支持三種方式:

1、Basic

2、Digest

3、NTLM

例子:

HTTP協議的證書認證

參數:--auth-cert

當Web服務器需要客戶端證書進行身份驗證時,需要提供兩個文件:key_file,cert_file。

key_file是格式爲PEM文件,包含着你的私鑰,cert_file是格式爲PEM的連接文件。

HTTP(S)代理

參數:--proxy,--proxy-cred和--ignore-proxy

使用--proxy代理是格式爲:http://url:port。

當HTTP(S)代理需要認證是可以使用--proxy-cred參數:username:password。

--ignore-proxy拒絕使用本地局域網的HTTP(S)代理。

HTTP請求延遲

參數:--delay

可以設定兩個HTTP(S)請求間的延遲,設定爲0.5的時候是半秒,默認是沒有延遲的。

設定超時時間

參數:--timeout

可以設定一個HTTP(S)請求超過多久判定爲超時,10.5表示10.5秒,默認是30秒。

設定重試超時

參數:--retries

當HTTP(S)超時時,可以設定重新嘗試連接次數,默認是3次。

設定隨機改變的參數值

參數:--randomize

可以設定某一個參數值在每一次請求中隨機的變化,長度和類型會與提供的初始值一樣。

利用正則過濾目標網址

參數:--scope

例如:

避免過多的錯誤請求被屏蔽

參數:--safe-url,--safe-freq

有的web應用程序會在你多次訪問錯誤的請求時屏蔽掉你以後的所有請求,這樣在sqlmap進行探測或者注入的時候可能造成錯誤請求而觸發這個策略,導致以後無法進行。

繞過這個策略有兩種方式:

關掉URL參數值編碼

參數:--skip-urlencode

根據參數位置,他的值默認將會被URL編碼,但是有些時候後端的web服務器不遵守RFC標準,只接受不經過URL編碼的值,這時候就需要用--skip-urlencode參數。

每次請求時候執行自定義的python代碼

參數:--eval

在有些時候,需要根據某個參數的變化,而修改另個一參數,才能形成正常的請求,這時可以用--eval參數在每次請求時根據所寫python代碼做完修改後請求。

例子:

上面的請求就是每次請求時根據id參數值,做一次md5後作爲hash參數的值。

注入


測試參數

參數:-p,--skip

sqlmap默認測試所有的GET和POST參數,當--level的值大於等於2的時候也會測試HTTP Cookie頭的值,當大於等於3的時候也會測試User-Agent和HTTP Referer頭的值。但是你可以手動用-p參數設置想要測試的參數。例如: -p "id,user-anget"

當你使用--level的值很大但是有個別參數不想測試的時候可以使用--skip參數。

例如:--skip="user-angent.referer"

在有些時候web服務器使用了URL重寫,導致無法直接使用sqlmap測試參數,可以在想測試的參數後面加*

例如:

sqlmap將會測試value1的位置是否可注入。

指定數據庫

參數:--dbms

默認情況系sqlmap會自動的探測web應用後端的數據庫是什麼,sqlmap支持的數據庫有:

指定數據庫服務器系統

參數:--os

默認情況下sqlmap會自動的探測數據庫服務器系統,支持的系統有:Linux、Windows。

指定無效的大數字

參數:--invalid-bignum

當你想指定一個報錯的數值時,可以使用這個參數,例如默認情況系id=13,sqlmap會變成id=-13來報錯,你可以指定比如id=9999999來報錯。

只定無效的邏輯

參數:--invalid-logical

原因同上,可以指定id=13把原來的id=-13的報錯改成id=13 AND 18=19。

注入payload

參數:--prefix,--suffix

在有些環境中,需要在注入的payload的前面或者後面加一些字符,來保證payload的正常執行。

例如,代碼中是這樣調用數據庫的:

這時你就需要--prefix和--suffix參數了:

這樣執行的SQL語句變成:

修改注入的數據

參數:--tamper

sqlmap除了使用CHAR()函數來防止出現單引號之外沒有對注入的數據修改,你可以使用--tamper參數對數據做修改來繞過WAF等設備。

下面是一個tamper腳本的格式:

可以查看 tamper/ 目錄下的有哪些可用的腳本

例如:

探測


探測等級

參數:--level

共有五個等級,默認爲1,最大爲5,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根據相應的格式添加自己的payload。

這個參數不僅影響使用哪些payload同時也會影響測試的注入點,GET和POST的數據都會測試,HTTP Cookie在level爲2的時候就會測試,HTTP User-Agent/Referer頭在level爲3的時候就會測試。

總之在你不確定哪個payload或者參數爲注入點的時候,爲了保證全面性,建議使用高的level值。

風險等級

參數:--risk

共有四個風險等級,默認是1會測試大部分的測試語句,2會增加基於事件的測試語句,3會增加OR語句的SQL注入測試。

在有些時候,例如在UPDATE的語句中,注入一個OR的測試語句,可能導致更新的整個表,可能造成很大的風險。

測試的語句同樣可以在xml/payloads.xml中找到,你也可以自行添加payload。

頁面比較

參數:--string,--not-string,--regexp,--code

默認情況下sqlmap通過判斷返回頁面的不同來判斷真假,但有時候這會產生誤差,因爲有的頁面在每次刷新的時候都會返回不同的代碼,比如頁面當中包含一個動態的廣告或者其他內容,這會導致sqlmap的誤判。此時用戶可以提供一個字符串或者一段正則匹配,在原始頁面與真條件下的頁面都存在的字符串,而錯誤頁面中不存在(使用--string參數添加字符串,--regexp添加正則),同時用戶可以提供一段字符串在原始頁面與真條件下的頁面都不存在的字符串,而錯誤頁面中存在的字符串(--not-string添加)。用戶也可以提供真與假條件返回的HTTP狀態碼不一樣來注入,例如,響應200的時候爲真,響應401的時候爲假,可以添加參數--code=200。

參數:--text-only,--titles

有些時候用戶知道真條件下的返回頁面與假條件下返回頁面是不同位置在哪裏可以使用--text-only(HTTP響應體中不同)--titles(HTML的title標籤中不同)。

注入技術


測試是否是注入

參數:--technique

這個參數可以指定sqlmap使用的探測技術,默認情況下會測試所有的方式。

支持的探測方式如下:

設定延遲注入的時間

參數:--time-sec

當使用繼續時間的盲注時,時刻使用--time-sec參數設定延時時間,默認是5秒。

設定UNION查詢字段數

參數:--union-cols

默認情況下sqlmap測試UNION查詢注入會測試1-10個字段數,當--level爲5的時候他會增加測試到50個字段數。設定--union-cols的值應該是一段整數,如:12-16,是測試12-16個字段數。

設定UNION查詢使用的字符

參數:--union-char

默認情況下sqlmap針對UNION查詢的注入會使用NULL字符,但是有些情況下會造成頁面返回失敗,而一個隨機整數是成功的,這是你可以用--union-char只定UNION查詢的字符。

二階SQL注入

參數:--second-order

有些時候注入點輸入的數據看返回結果的時候並不是當前的頁面,而是另外的一個頁面,這時候就需要你指定到哪個頁面獲取響應判斷真假。--second-order後面跟一個判斷頁面的URL地址。

列數據


標誌

參數:-b,--banner

大多數的數據庫系統都有一個函數可以返回數據庫的版本號,通常這個函數是version()或者變量@@version這主要取決與是什麼數據庫。

用戶

參數:-current-user

在大多數據庫中可以獲取到管理數據的用戶。

當前數據庫

參數:--current-db

返還當前連接的數據庫。

當前用戶是否爲管理用

參數:--is-dba

判斷當前的用戶是否爲管理,是的話會返回True。

列數據庫管理用戶

參數:--users

當前用戶有權限讀取包含所有用戶的表的權限時,就可以列出所有管理用戶。

列出並破解數據庫用戶的hash

參數:--passwords

當前用戶有權限讀取包含用戶密碼的彪的權限時,sqlmap會現列舉出用戶,然後列出hash,並嘗試破解。

例子:

可以看到sqlmap不僅勒出數據庫的用戶跟密碼,同時也識別出是PostgreSQL數據庫,並詢問用戶是否採用字典爆破的方式進行破解,這個爆破已經支持Oracle和Microsoft SQL Server。

也可以提供-U參數來指定爆破哪個用戶的hash。

列出數據庫管理員權限

參數:--privileges

當前用戶有權限讀取包含所有用戶的表的權限時,很可能列舉出每個用戶的權限,sqlmap將會告訴你哪個是數據庫的超級管理員。也可以用-U參數指定你想看哪個用戶的權限。

列出數據庫管理員角色

參數:--roles

當前用戶有權限讀取包含所有用戶的表的權限時,很可能列舉出每個用戶的角色,也可以用-U參數指定你想看哪個用戶的角色。

僅適用於當前數據庫是Oracle的時候。

列出數據庫系統的數據庫

參數:--dbs

當前用戶有權限讀取包含所有數據庫列表信息的表中的時候,即可列出所有的數據庫。

列舉數據庫表

參數:--tables,--exclude-sysdbs,-D

當前用戶有權限讀取包含所有數據庫表信息的表中的時候,即可列出一個特定數據的所有表。

如果你不提供-D參數來列指定的一個數據的時候,sqlmap會列出數據庫所有庫的所有表。

--exclude-sysdbs參數是指包含了所有的系統數據庫。

需要注意的是在Oracle中你需要提供的是TABLESPACE_NAME而不是數據庫名稱。

列舉數據庫表中的字段

參數:--columns,-C,-T,-D

當前用戶有權限讀取包含所有數據庫表信息的表中的時候,即可列出指定數據庫表中的字段,同時也會列出字段的數據類型。

如果沒有使用-D參數指定數據庫時,默認會使用當前數據庫。

列舉一個SQLite的例子:

列舉數據庫系統的架構

參數:--schema,--exclude-sysdbs

用戶可以用此參數獲取數據庫的架構,包含所有的數據庫,表和字段,以及各自的類型。

加上--exclude-sysdbs參數,將不會獲取數據庫自帶的系統庫內容。

MySQL例子:

獲取表中數據個數

參數:--count

有時候用戶只想獲取表中的數據個數而不是具體的內容,那麼就可以使用這個參數。

列舉一個Microsoft SQL Server例子:

獲取整個表的數據

參數:--dump,-C,-T,-D,--start,--stop,--first,--last

如果當前管理員有權限讀取數據庫其中的一個表的話,那麼就能獲取真個表的所有內容。

使用-D,-T參數指定想要獲取哪個庫的哪個表,不適用-D參數時,默認使用當前庫。

列舉一個Firebird的例子:

可以獲取指定庫中的所有表的內容,只用-dump跟-D參數(不使用-T與-C參數)。

也可以用-dump跟-C獲取指定的字段內容。

sqlmap爲每個表生成了一個CSV文件。

如果你只想獲取一段數據,可以使用--start和--stop參數,例如,你只想獲取第一段數據可hi使用--stop 1,如果想獲取第二段與第三段數據,使用參數 --start 1 --stop 3。

也可以用--first與--last參數,獲取第幾個字符到第幾個字符的內容,如果你想獲取字段中地三個字符到第五個字符的內容,使用--first 3 --last 5,只在盲注的時候使用,因爲其他方式可以準確的獲取注入內容,不需要一個字符一個字符的猜解。

獲取所有數據庫表的內容

參數:--dump-all,--exclude-sysdbs

使用--dump-all參數獲取所有數據庫表的內容,可同時加上--exclude-sysdbs只獲取用戶數據庫的表,需要注意在Microsoft SQL Server中master數據庫沒有考慮成爲一個系統數據庫,因爲有的管理員會把他當初用戶數據庫一樣來使用它。

搜索字段,表,數據庫

參數:--search,-C,-T,-D

--search可以用來尋找特定的數據庫名,所有數據庫中的特定表名,所有數據庫表中的特定字段。

可以在一下三種情況下使用:

運行自定義的SQL語句

參數:--sql-query,--sql-shell

sqlmap會自動檢測確定使用哪種SQL注入技術,如何插入檢索語句。

如果是SELECT查詢語句,sqlap將會輸出結果。如果是通過SQL注入執行其他語句,需要測試是否支持多語句執行SQL語句。

列舉一個Mircrosoft SQL Server 2000的例子:

爆破


暴力破解表名

參數:--common-tables

當使用--tables無法獲取到數據庫的表時,可以使用此參數。

通常是如下情況:

暴力破解的表在txt/common-tables.txt文件中,你可以自己添加。

列舉一個MySQL 4.1的例子:

暴力破解列名

參數:--common-columns

與暴力破解表名一樣,暴力跑的列名在txt/common-columns.txt中。

用戶自定義函數注入


參數:--udf-inject,--shared-lib

你可以通過編譯MySQL注入你自定義的函數(UDFs)或PostgreSQL在windows中共享庫,DLL,或者Linux/Unix中共享對象,sqlmap將會問你一些問題,上傳到服務器數據庫自定義函數,然後根據你的選擇執行他們,當你注入完成後,sqlmap將會移除它們。

系統文件操作


從數據庫服務器中讀取文件

參數:--file-read

當數據庫爲MySQL,PostgreSQL或Microsoft SQL Server,並且當前用戶有權限使用特定的函數。讀取的文件可以是文本也可以是二進制文件。

列舉一個Microsoft SQL Server 2005的例子:

把文件上傳到數據庫服務器中

參數:--file-write,--file-dest

當數據庫爲MySQL,PostgreSQL或Microsoft SQL Server,並且當前用戶有權限使用特定的函數。上傳的文件可以是文本也可以是二進制文件。

列舉一個MySQL的例子:

運行任意操作系統命令

參數:--os-cmd,--os-shell

當數據庫爲MySQL,PostgreSQL或Microsoft SQL Server,並且當前用戶有權限使用特定的函數。

在MySQL、PostgreSQL,sqlmap上傳一個二進制庫,包含用戶自定義的函數,sys_exec()和sys_eval()。

那麼他創建的這兩個函數可以執行系統命令。在Microsoft SQL Server,sqlmap將會使用xp_cmdshell存儲過程,如果被禁(在Microsoft SQL Server 2005及以上版本默認禁制),sqlmap會重新啓用它,如果不存在,會自動創建。

列舉一個PostgreSQL的例子:

用--os-shell參數也可以模擬一個真實的shell,可以輸入你想執行的命令。

當不能執行多語句的時候(比如php或者asp的後端數據庫爲MySQL時),仍然可能使用INTO OUTFILE寫進可寫目錄,來創建一個web後門。支持的語言:

Meterpreter配合使用

參數:--os-pwn,--os-smbrelay,--os-bof,--priv-esc,--msf-path,--tmp-path

當數據庫爲MySQL,PostgreSQL或Microsoft SQL Server,並且當前用戶有權限使用特定的函數,可以在數據庫與攻擊者直接建立TCP連接,這個連接可以是一個交互式命令行的Meterpreter會話,sqlmap根據Metasploit生成shellcode,並有四種方式執行它:

列舉一個MySQL例子:

默認情況下MySQL在Windows上以SYSTEM權限運行,PostgreSQL在Windows與Linux中是低權限運行,Microsoft SQL Server 2000默認是以SYSTEM權限運行,Microsoft SQL Server 2005與2008大部分是以NETWORK SERVICE有時是LOCAL SERVICE。

對Windows註冊表操作


當數據庫爲MySQL,PostgreSQL或Microsoft SQL Server,並且當前web應用支持堆查詢。 當然,當前連接數據庫的用戶也需要有權限操作註冊表。

讀取註冊表值

參數:--reg-read

寫入註冊表值

參數:--reg-add

刪除註冊表值

參數:--reg-del

註冊表輔助選項

參數:--reg-key,--reg-value,--reg-data,--reg-type

需要配合之前三個參數使用,例子:

常規參數


從sqlite中讀取session

參數:-s

sqlmap對每一個目標都會在output路徑下自動生成一個SQLite文件,如果用戶想指定讀取的文件路徑,就可以用這個參數。

保存HTTP(S)日誌

參數:-t

這個參數需要跟一個文本文件,sqlmap會把HTTP(S)請求與響應的日誌保存到那裏。

非交互模式

參數:--batch

用此參數,不需要用戶輸入,將會使用sqlmap提示的默認值一直運行下去。

強制使用字符編碼

參數:--charset

不使用sqlmap自動識別的(如HTTP頭中的Content-Type)字符編碼,強制指定字符編碼如:

爬行網站URL

參數:--crawl

sqlmap可以收集潛在的可能存在漏洞的連接,後面跟的參數是爬行的深度。

例子:

規定輸出到CSV中的分隔符

參數:--csv-del

當dump保存爲CSV格式時(--dump-format=CSV),需要一個分隔符默認是逗號,用戶也可以改爲別的 如:

DBMS身份驗證

參數:--dbms-cred

某些時候當前用戶的權限不夠,做某些操作會失敗,如果知道高權限用戶的密碼,可以使用此參數,有的數據庫有專門的運行機制,可以切換用戶如Microsoft SQL Server的OPENROWSET函數

定義dump數據的格式

參數:--dump-format

輸出的格式可定義爲:CSV,HTML,SQLITE

預估完成時間

參數:--eta

可以計算注入數據的剩餘時間。

例如Oracle的布爾型盲注:

然後:

sqlmap先輸出長度,預計完成時間,顯示百分比,輸出字符

刷新session文件

參數:--flush-session

如果不想用之前緩存這個目標的session文件,可以使用這個參數。 會清空之前的session,重新測試該目標。

自動獲取form表單測試

參數:--forms

如果你想對一個頁面的form表單中的參數測試,可以使用-r參數讀取請求文件,或者通過--data參數測試。 但是當使用--forms參數時,sqlmap會自動從-u中的url獲取頁面中的表單進行測試。

忽略在會話文件中存儲的查詢結果

參數:--fresh-queries

忽略session文件保存的查詢,重新查詢。

使用DBMS的hex函數

參數:--hex

有時候字符編碼的問題,可能導致數據丟失,可以使用hex函數來避免:

針對PostgreSQL例子:

自定義輸出的路徑

參數:--output-dir

sqlmap默認把session文件跟結果文件保存在output文件夾下,用此參數可自定義輸出路徑 例如:--output-dir=/tmp

從響應中獲取DBMS的錯誤信息

參數:--parse-errors

有時目標沒有關閉DBMS的報錯,當數據庫語句錯誤時,會輸出錯誤語句,用詞參數可以會顯出錯誤信息。

其他的一些參數


使用參數縮寫

參數:-z

有使用參數太長太複雜,可以使用縮寫模式。 例如:

可以寫成:

還有:

可以寫成:

成功SQL注入時警告

參數:--alert

設定會發的答案

參數:--answers

當希望sqlmap提出輸入時,自動輸入自己想要的答案可以使用此參數: 例子:

發現SQL注入時發出蜂鳴聲

參數:--beep

發現sql注入時,發出蜂鳴聲。

啓發式檢測WAF/IPS/IDS保護

參數:--check-waf

WAF/IPS/IDS保護可能會對sqlmap造成很大的困擾,如果懷疑目標有此防護的話,可以使用此參數來測試。 sqlmap將會使用一個不存在的參數來注入測試

例如:

如果有保護的話可能返回結果會不同。

清理sqlmap的UDF(s)和表

參數:--cleanup

清除sqlmap注入時產生的udf與表。

禁用彩色輸出

參數:--disable-coloring

sqlmap默認彩色輸出,可以使用此參數,禁掉彩色輸出。

使用指定的Google結果頁面

參數:--gpage

默認sqlmap使用前100個URL地址作爲注入測試,結合此選項,可以指定頁面的URL測試。

使用HTTP參數污染

參數:-hpp

HTTP參數污染可能會繞過WAF/IPS/IDS保護機制,這個對ASP/IIS與ASP.NET/IIS平臺很有效。

測試WAF/IPS/IDS保護

參數:--identify-waf

sqlmap可以嘗試找出WAF/IPS/IDS保護,方便用戶做出繞過方式。目前大約支持30種產品的識別。

例如對一個受到ModSecurity WAF保護的MySQL例子:

模仿智能手機

參數:--mobile

有時服務端只接收移動端的訪問,此時可以設定一個手機的User-Agent來模仿手機登陸。

例如:

安全的刪除output目錄的文件

參數:--purge-output

有時需要刪除結果文件,而不被恢復,可以使用此參數,原有文件將會被隨機的一些文件覆蓋。

例如:

啓發式判斷注入

參數:--smart

有時對目標非常多的URL進行測試,爲節省時間,只對能夠快速判斷爲注入的報錯點進行注入,可以使用此參數。

例子:

初級用戶嚮導參數

參數:--wizard 面向初級用戶的參數,可以一步一步教你如何輸入針對目標註入。

 

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