本文內容:
- 常見的注入方式
- Sqlmap-常見測試參數
- Sqlmap的測試等級
- 介紹Sqlmap腳本
- Sqlmap getshell
- sqlmap小技巧
- 使用Burp+Sqlmap批量測試
- 使用Burp插件+sqlmap測試[需要安裝sqlmap插件
,
sqlmap之sql注入
1,常見的注入方式:
1.sqlmap用於Access數據庫注入
2.sqlmap用於Cookie注入 --cookie
3.sqlmap用於Post注入 --froms 、--data、抓包
4.sqlmap用於mysql注入
繞過waf腳本測試:--tamper "space2morehash.py"
常見sqlmap使用方法:
https://www.cnblogs.com/hack404/p/10830239.html
https://www.cnblogs.com/ichunqiu/p/5805108.html
2,Sqlmap-常見的測試參數:
1.指定參數進行測試:
參數:*號,和-p選項
2.使用Post方式提交注入:
參數:--data選項
3.Sqlmap掃描登錄[1-5]
當 --level參數設定為2或者2以上的時候,會嘗試對Cookie進行注入。
當 --level參數設定為3或者3以上的時候,會嘗試對User-Angent,Referer進行注入。
參數:--level
4.自動執行默認選項:
參數: --batch
5.使用代理服務器連接到目標URL
參數:--proxy
6.自動切換客戶端請求頭:
參數:--random-agent
7.設置測試線程數,默認線程1:
參數:--threads
8.獲取表中的數量:
參數:--count
9.風險等級,共有四個等級,默認為1:
1.會測試大部分語句
2.會增加基於時間的測試語句
3.會增加or語句的sql注入語句。
參數:--risk
3,Sqlmap的測試等級:
1.探測等級[1-5]:
參數: --level
共有5個等級,默認為1,sqlmap使用的payload可以在xml/payloads.xml中看到,可以根據相應到的格式添加自己的payload。
這個從參數不近影響使用哪些payload同時也影響測試的注入點,GET和Post的數據都會嘗試,
大於或等於2的時候會測試cookie,大於3或等於3的時候會檢測HTTP User-Agent/Referer在不確定那個payload或者參數為注入點的時候,為了保證全面性,建議使用高的level值。
2.風險等級[4個等級]
參數:--risk
共有四個風險等級,默認是1會測試大部分的測試語句,2會增加基於事件的測試語句,3會增加or語句的sql注入測試。
在有些時候,例如在update的語句中,注入一個or的測試語句,可以導致更新的整個表,可能造成很大的風險。
測試的語句同樣可以在xml/payloads。xml中找到,也可以額自行添加payload。
4,介紹Sqlmap腳本:
1.腳本的租用:幫助我們繞過一些WAF,進行測試。
2.腳本目錄:Tamper目錄。
3.有哪些腳本:https://xz.aliyun.com/t/2746
5,sqlmap get shell:
1.sqlmap命令操作
2.sqlmap系統操作:
--os-shell 產生交互式的操作系統的shell,用來執行cmd命令。
1.--os-shell系統操作的要求:
網站必須root權限:--is -dbs
攻擊者需要知道網站的絕對路徑
GPC為off,php主動轉義的功能關閉
secure file priv為空
2.使用--os-shell之后會生成兩個文件:
上交腳本文件:可以上傳小木馬、大木馬。
后門文件:保持權限。
6,是sqlmap小技巧:
1.sqlmap注入時:
1.判斷可以注入的桉樹
2.判斷可以用那種sql注入技術來注入
3.識別出那種數據庫
4.根據用戶選擇,讀取哪些數據。
2.sql注入支持五種不同的注入模式:
1.基於布爾的盲注,即可以根據返回頁面判斷條件真假的注入。
2.基於時間的盲注,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲,語句是否執行[即頁面返回時間是否增加]來判斷。
3.基於報錯的注入,即頁面會返回錯誤信息,或者把注入的語句的結構直接返回在頁面中。
4.聯合查詢注入,可以使用union的情況下的注入。
5.堆查詢注入,可以同時執行多條語句的執行時的注入。
3.sqlmap注入檢測:
如果想觀察sqmap對一個點是進行了怎么的嘗試判斷以及數據讀取的,可以使用-v參數
共有7個等級,默認為1:
0、只顯示python錯誤以及嚴重的信息。
1.同時顯示基本信息和警告信息[默認]。
2.同時顯示debug信息。
3.同時顯示注入的payload。
4.同時顯示HTTP請求。
5.同時顯示HTTP響應頭。
6.同時顯示HTTP響應頁面。
注:如果你想看到sqlmap發送的測試payload最好的等級就是3.
7,使用Burp+Sqlmap批量測試:
sqlmap可以批量掃描包含有request的日志文件,而request日志文件可以通過burpsuite來獲取。
因此通過sqlmap結合Burpsuite工具,可以更搞笑的對應應用程序是否存在sql注入漏洞進行地毯是的掃描。
步驟:
1.首先是Burp設置記錄log,文件名隨便填一個。
2.把記錄的log文件放sqlmap目錄下。
3.sqlmap讀log自動測試:
sqlmap.py -l 文件名 --batch -smart
batch:自動選yes
smart:啟發式快速判斷,節約時間
4.sqlmap,最后能注入的url會保存到一個文件內,具體目錄可以在讀取之后查看。
任意:log文件中如果有sqlmap無法讀取的字符[ascii碼之外的字符]]會讀取失敗。
8,使用Burp插件+sqlmap測試[需要安裝sqlmap插件]:
1.代理監聽sqlmap測試語句:
sqlmap.py -u "http://xx.xxx.xx.x:8804/news.php?id=1" --proxy=http://127.0.0.1:8080 --random-agent
2.sqlmap快速測試Burp數據包:
-r參數,從文件讀取數據包
3.使用Burp插件跑sqlmap注入