您好,登錄后才能下訂單哦!
SQLMAP,它是一個自動化的SQL注入工具,其主要功能是掃描,發現并利用給定的URL的SQL注入漏洞,目前支持的數據庫是MS-SQL,,MYSQL,ORACLE和POSTGRESQL。
SQLMAP采用四種獨特的SQL注入技術,分別是盲推理SQL注入,UNION查詢SQL注入,堆查詢和基于時間的SQL盲注入。其廣泛的功能和選項包括數據庫指紋,枚舉,數據庫提取,訪問目標文件系統,并在獲取完全操作權限時實行任意命令。
啟動Backtrack5,在shell里進入/pentest/database/sqlmap路徑下
輸入./sqlmap.py即可使用sqlmap工具
我們以本地測試為例,簡單的說一下sqlmap工具的使用
啟動SQLMAP,對這個注入點進行初步的判斷和檢測,它的檢測機制在文章開頭也已經說明,啟動后,SQLMAP開始工作,并對給定的URL開始判斷,如下圖
我們看到猜解出來的數據庫的類型為MYSQL,同時也看到了SQLMAP的注入方法
然后我們可以判斷一下當前站點的數據庫列舉出來
我們看到有兩個數據庫,而我們實驗的是dvwa,所以猜測使用的是dvwa數據庫
然后我們查詢dvwa數據庫里面有那些表
我們查到了兩個數據表
users表,顧名思義,應該存放著用戶的一些信息,我們繼續查詢該數據表
在users表里面我們看到了幾個字段,而這幾個字段有我們想要的信息
user,passqord很關鍵,一般都是存放著賬戶和密碼的數據,我們繼續使用--
dump參數幫我們列舉猜解所有的字段信息
我們看到,已經才解除了六個帳號的信息,有用戶名和密碼,這個數據庫我被我們破解了,把所有的信息復制下來,我們就相當于把該數據庫下載了,所有的信息都在我們手里。
==============================================================================================================================================================
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給初級用戶的簡單向導界面
===============================================================================
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。