利用分塊傳輸繞安全狗
阿新 • • 發佈:2020-08-06
1、環境搭建:
DVWA+phpstudy+網站安全狗。
直接安裝安全狗可能會遇到找不到apache服務的情況;
先停止apache,再安裝apache服務:
安裝完安全狗時輸入剛註冊服務時的apache2.4
下面的樣子就是安裝成功了。
拿dvwa的sqli模組進行測試,安全狗已經在攔截了:
2、分塊傳輸測試
分塊傳輸編碼(Chunked transfer encoding)是超文字傳輸協(HTTP)中的一種資料傳輸機制,允許HTTP由網頁伺服器傳送給客戶端應用 (通常是網頁瀏覽器)的資料可以分成多個部分。分塊傳輸編碼只在HTTP協議1.1版本(HTTP/1.1)中提供。
這裡測試使用dvwa的儲存型xss模組進行測試。現在直接請求肯定是被安全狗攔截的。
Transfer-Encoding: chunked
表示本次請求使用分塊傳輸並將body內容進行分塊:
每塊的第一部分是該塊的內容長度,第二部分是分塊內容。
上圖手動封裝的body內容,可以看到已經正常提交了,但是注意看響應包 服務端並沒識別;
查閱資料過程中,發現業內做的比較好的WAF已經可以識別直接分塊傳輸的請求資訊,這時可以在長度標誌位後加分號進行註釋
在長度後面加上;以及註釋內容
再次測試順利提交。
3、外掛
3.1BurpSuite外掛
使用burp外掛提交測試下:外掛地址https://github.com/c0ny1/chunked-coding-converter
右鍵選擇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
可以看到自動將請求內容進行分塊傳輸。