0 sqlmap批量掃描burpsuite請求日志記錄
sqlmap可以批量掃描包含有request的日志文件,而request日志文件可以通過burpsuite來獲取,
因此通過sqlmap結合burpsuite工具,可以更加高效的對應用程序是否存在SQL注入漏洞進行地毯式的掃描。
- 1.首先是burp設置記錄log,文件名就隨便填一個了。
- 2.把記錄的log文件放sqlmap目錄下
- 3.sqlmap讀log自動測試:
python sqlmap.py -l 文件名 --batch -smart
batch:自動選yes。
smart:啟發式快速判斷,節約時間。
- 4.最后能注入的url會保存到out文件夾下
注意:log文件中如果有sqlmap無法讀取的字符(ascii碼之外的字符)會讀取失敗。
1.配置burpsuite下記錄所有的request記錄,并保存在指定文件夾。
因為windows下sqlmap工具需要使用python,所以我的sqlmap路徑放在了D:\mysoft\Python\sqlmap下面,
而收集request的記錄文件則命名為D:\mysoft\Python\sqlmap\burp.log文件。
2.執行命令:
sqlmap.py -l burp.log --batch -smart
即可對burp.log中保存的所有request進行注入掃描。
- Batch:會自動選擇yes
- Smart:啟發式快速判斷,節約時間。
- window版的sqlmap最后能注入的URL都會保存到C:\Users\Administrator.sqlmap文件夾下。
--level=(1-5) #要執行的測試水平等級,默認為1 --risk=(0-3) #測試執行的風險等級,默認為1 **
3探測等級
- 參數:--level
共有五個等級,默認為1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根據相應的格式添加自己的payload。
這個參數不僅影響使用哪些payload同時也會影響測試的注入點,GET和POST的數據都會測試,HTTP Cookie在level為2的時候就會測試,HTTP User-Agent/Referer頭在level為3的時候就會測試。
總之在你不確定哪個payload或者參數為注入點的時候,為了保證全面性,建議使用高的level值。 - 風險等級
參數:--risk
共有四個風險等級,默認是1會測試大部分的測試語句,2會增加基于事件的測試語句,3會增加OR語句的SQL注入測試。
在有些時候,例如在UPDATE的語句中,注入一個OR的測試語句,可能導致更新的整個表,可能造成很大的風險。
測試的語句同樣可以在xml/payloads.xml中找到,你也可以自行添加payload。
4注意事項
如果sqlmap版本過低的話會很影響掃描結果的,很可能
掃描不出sql注入漏洞,掃描前不妨查一下sqlmap的具體版本吧,盡量用較高版本的sqlmap,
以下是我自己的環境下查到的信息。
- linux下查看sqlmap版本信息:
root@kali:~/sqlmap# sqlmap --version
1.0-dev-nongit-201602180a89
- windows下查看到的版本信息
C:\offer\burp>sqlmap.py --version
1.1.12.12#dev
Press Enter to continue...