关于Web Cache Vulnerability Scanner
Web Cache Vulnerability Scanner是一款功能强大的安全漏洞扫描工具,该工具基于Go语言开发,是一款命令行接口(CLI)工具,可以帮助广大研究人员轻松检测网站中的Web缓存投毒问题。
该工具支持很多不同的Web缓存投毒技术,其中还包括一个用于进一步挖掘和识别URL的爬虫组件,能够适用于特定的Web缓存模式以实现更高效地安全检测。
除此之外,该工具支持用户进行高度定制化开发,能够轻松整合进现有的CI/CD管道。
功能介绍
(1) 支持九种不同的Web缓存投毒技术:
- Unkeyed Header投毒
- Unkeyed参数投毒
- 参数cloaking
- Fat GET
- HTTP响应拆分
- HTTP请求走私
- HTTP Header Oversize(HHO)
- HTTP元字符(HMC)
- HTTP方法重写(HMO)
(2) 在测对一个Web缓存测试前,对其进行调整以实现更高效的测试。
(3) 生成JSON格式的扫描报告。
(4) 使用爬虫对目标网站进行爬取以获取更多的扫描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提供的参数选项来实现功能自定义,参考样例如下:
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
节流或提速:
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
许可证协议
本项目的开发与发布遵循Apachev2.0开源许可证协议。
项目地址
Web Cache Vulnerability Scanner:【GitHub传送门】