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
探測等級
參數:--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。