1. 程式人生 > 實用技巧 >利用分塊傳輸繞安全狗

利用分塊傳輸繞安全狗

1、環境搭建:

DVWA+phpstudy+網站安全狗。
直接安裝安全狗可能會遇到找不到apache服務的情況;
先停止apache,再安裝apache服務:

安裝完安全狗時輸入剛註冊服務時的apache2.4

下面的樣子就是安裝成功了。

拿dvwa的sqli模組進行測試,安全狗已經在攔截了:

2、分塊傳輸測試

分塊傳輸編碼(Chunked transfer encoding)是超文字傳輸協(HTTP)中的一種資料傳輸機制,允許HTTP由網頁伺服器傳送給客戶端應用 (通常是網頁瀏覽器)的資料可以分成多個部分。分塊傳輸編碼只在HTTP協議1.1版本(HTTP/1.1)中提供。
這裡測試使用dvwa的儲存型xss模組進行測試。現在直接請求肯定是被安全狗攔截的。

分塊傳輸需要在http header中新增以下欄位:
Transfer-Encoding: chunked表示本次請求使用分塊傳輸
並將body內容進行分塊:
每塊的第一部分是該塊的內容長度,第二部分是分塊內容。


上圖手動封裝的body內容,可以看到已經正常提交了,但是注意看響應包 服務端並沒識別;
查閱資料過程中,發現業內做的比較好的WAF已經可以識別直接分塊傳輸的請求資訊,這時可以在長度標誌位後加分號進行註釋

在長度後面加上;以及註釋內容
再次測試順利提交。

3、外掛

3.1BurpSuite外掛

使用burp外掛提交測試下:外掛地址https://github.com/c0ny1/chunked-coding-converter

可直接安裝jar檔案

右鍵選擇encoding request body。使用分塊傳輸外掛封裝請求body資訊。

3.2 Sqlmap

這裡測試使用洛米唯熊大佬改的sqlmap版本,增加了--chunk引數。
https://pan.baidu.com/s/1xzkjewrOZp-gzuAvdsFEfw 密碼:z0lq
好像只支援POST的,這裡的dvwa是get的使用burp改下請求方法即可。

Host: 172.16.51.146
Upgrade-Insecure-Requests: 1
DNT: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://172.16.51.146/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7
Cookie: security=low; PHPSESSID=4ouef6ek87ejnb22plijms67j5; safedog-flow-item=F95211F8D9C416B5B4BBD63DDFF0C114
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 21

id=0000&Submit=Submit
python sqlmap.py -r xx.log -v 4 --chunk

可以看到自動將請求內容進行分塊傳輸。