如何使用Web Cache Vulnerability Scanner檢測Web緩存投毒
關于Web Cache Vulnerability Scanner
Web Cache Vulnerability Scanner是一款功能強大的安全漏洞掃描工具,該工具基于Go語言開發(fā),是一款命令行接口(CLI)工具,可以幫助廣大研究人員輕松檢測網(wǎng)站中的Web緩存投毒問題。
該工具支持很多不同的Web緩存投毒技術,其中還包括一個用于進一步挖掘和識別URL的爬蟲組件,能夠適用于特定的Web緩存模式以實現(xiàn)更高效地安全檢測。
除此之外,該工具支持用戶進行高度定制化開發(fā),能夠輕松整合進現(xiàn)有的CI/CD管道。
功能介紹
(1) 支持九種不同的Web緩存投毒技術:
- Unkeyed Header投毒
- Unkeyed參數(shù)投毒
- 參數(shù)cloaking
- Fat GET
- HTTP響應拆分
- HTTP請求走私
- HTTP Header Oversize(HHO)
- HTTP元字符(HMC)
- HTTP方法重寫(HMO)
(2) 在測對一個Web緩存測試前,對其進行調(diào)整以實現(xiàn)更高效的測試。
(3) 生成JSON格式的掃描報告。
(4) 使用爬蟲對目標網(wǎng)站進行爬取以獲取更多的掃描URL。
(5) 通過代理路由流量(例如Burp Suite)。
(6) 限制每秒請求以繞過訪問頻率限制。
工具安裝
選項一:預構建代碼(推薦)
廣大研究人員可以直接使用該項目【??Releases頁面??】提供的WCVS預構建代碼,其中還包含了兩個默認字典。
選項二:使用Go獲取項目代碼庫
該項目的代碼庫可以直接使用Go來獲取。
Go v1.17及更高版本:
go install -v github.com/Hackmanit/Web-Cache-Vulnerability-Scanner@latest
Go v1.16及更低版本:
go get -u https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner
選項三:Docker
首先,我們需要使用下列命令將該項目源碼克隆至本地,或直接從項目的源碼【??Releases頁面??】直接獲取源代碼。
接下來,運行下列命令構建鏡像:
$ docker build .
Sending build context to Docker daemon 29.54MB
Step 1/10 : FROM golang:latest AS builder
---> 05c8f6d2538a
Step 2/10 : WORKDIR /go/src/app
---> Using cache
---> f591f24be8cf
Step 3/10 : COPY . .
---> 38b358dd3472
Step 4/10 : RUN go get -d -v ./...
---> Running in 41f53de436c5
....
Removing intermediate container 9e2e84d14ff3
---> 1668edcf6ee3
Successfully built 1668edcf6ee3
最后,直接運行WCVS即可:
$ docker run -it 1668edcf6ee3 /wcvs --help
https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner
version 1.0.0
工具使用
廣大研究人員可以通過WCVS提供的參數(shù)選項來實現(xiàn)功能自定義,參考樣例如下:
wcvs -u 127.0.0.1
wcvs -u http://127.0.0.1
wcvs -u https://example.com
wcvs -u file:path/to/url_list
wcvs -u https://example.com -hw "file:/home/user/Documents/wordlist-header.txt"
wcvs -u https://example.com -pw "file:/home/user/Documents/wordlist-parameter.txt"
wcvs -u https://example.com -hw "file:/home/user/Documents/wordlist-header.txt" -pw "file:/home/user/Documents/wordlist-parameter.txt"
高級使用:
wcvs -u https://example.com -sc "PHPSESSID=123"
wcvs -u https://example.com -sc "file:/home/user/Documents/cookies.txt"
wcvs -u https://example.com -sh "Referer: localhost"
wcvs -u https://example.com -sh "file:/home/user/Documents/headers.txt"
wcvs -u https://example.com -sp "admin=true"
wcvs -u https://example.com -sp "file:/home/user/Documents/parameters.txt"
wcvs -u https://example.com -post -sb "admin=true"
wcvs -u https://example.com -post -sb "file:/home/user/Documents/body.txt"
wcvs -u https://example.com -post -sb "{}" -ct "application/json"
wcvs -u https://example.com -uac
生成JSON格式的報告:
wcvs -u https://example.com -gr
wcvs -u https://example.com -gr -ej
wcvs -u https://example.com -gr -gp /home/user/Documents
wcvs -u https://example.com -gr -gp /home/user/Documents -ej
爬取更多URL:
wcvs -u https://example.com -r 5
wcvs -u https://example.com -r 5 -red /home/user/Documents/mydomains.txt
wcvs -u https://example.com -r 5 -rl 2
wcvs -u https://example.com -r 5 -rex /home/user/Documents/donttest.txt
使用代理:
wcvs -u https://example.com -ppath /home/user/Documents/cacert.pem
wcvs -u https://example.com -ppath /home/user/Documents/cacert.pem -purl http://127.0.0.1:8081
節(jié)流或提速:
wcvs -u https://example.com -rr 10
wcvs -u https://example.com -rr 1
wcvs -u https://example.com -rr 0.5
wcvs -u https://example.com -t 50
許可證協(xié)議
本項目的開發(fā)與發(fā)布遵循??Apachev2.0??開源許可證協(xié)議。
項目地址
Web Cache Vulnerability Scanner:【??GitHub傳送門??】