关于Web Cache Vulnerability Scanner
Web Cache Vulnerability Scanner是一款功能强大的安全漏洞扫描工具,该工具基于Go语言开发,是一款命令行接口(CLI)工具,可以帮助广大研究人员轻松检测网站中的Web缓存投毒问题。
该工具支持很多不同的Web缓存投毒技术,其中还包括一个用于进一步挖掘和识别URL的爬虫组件,能够适用于特定的Web缓存模式以实现更高效地安全检测。
除此之外,该工具支持用户进行高度定制化开发,能够轻松整合进现有的CI/CD管道。
功能介绍
1、支持九种不同的Web缓存投毒技术:
1)、Unkeyed Header投毒
2)、Unkeyed参数投毒
3)、参数cloaking
4)、Fat GET
5)、HTTP响应拆分
6)、HTTP请求走私
7)、HTTP Header Oversize(HHO)
8)、HTTP元字符(HMC)
9)、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传送门】
参考资料
https://www.hackmanit.de/en/blog-en/142-is-your-application-vulnerable-to-web-cache-poisoning