Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Web-Cache-Vulnerability-Scanner — 基于Go的命令行扫描器,用于Web缓存投毒和欺骗。支持10种投毒技术、多种欺骗方法、内置爬虫、JSON报告以及用于渗透测试的代理集成。 | Kitploit
工具/GitHubGitHub/hackmanit/web-cache-vulnerability-scanner
漏洞扫描器Web漏洞扫描器Web安全渗透测试网络爬虫
GitHubhackmanit/web-cache-vulnerability-scanner

Web-Cache-Vulnerability-Scanner

基于Go的命令行扫描器,用于Web缓存投毒和欺骗。支持10种投毒技术、多种欺骗方法、内置爬虫、JSON报告以及用于渗透测试的代理集成。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
1.2k16117个月前Kitploit 审核通过

Release Go Report Card GitHub go.mod Go version License

Web缓存漏洞扫描器(WCVS)是一款快速且多功能的CLI扫描工具,用于检测Web缓存投毒(web cache poisoning)和Web缓存欺骗(web cache deception),由Hackmanit与Maximilian Hildebrand共同开发。

该扫描器支持多种Web缓存投毒与Web缓存欺骗技术,内置爬虫可识别更多待测URL,并能针对特定Web缓存进行适配以实现更高效的测试。此外,它高度可定制,可轻松集成到现有的CI/CD流水线中。

  • 特性
  • 安装
    • 方式1:预编译二进制文件
    • 方式2:Kali Linux / BlackArch 仓库
    • 方式3:使用Go安装
    • 方式4:Docker
  • 使用
    • 指定请求头、参数、Cookie等
    • 生成JSON报告
    • 爬取URL
    • 使用代理
    • 限速或加速
    • 其他标志
  • 背景信息
  • 许可证

特性

  • 支持10种Web缓存投毒技术:
    1. 未键化请求头投毒(Unkeyed header poisoning)
    2. 未键化参数投毒(Unkeyed parameter poisoning)
    3. 参数隐藏(Parameter cloaking)
    4. Fat GET
    5. HTTP响应拆分(HTTP response splitting)
    6. HTTP请求走私(HTTP request smuggling)
    7. HTTP请求头溢出(HHO,HTTP header oversize)
    8. HTTP元字符(HMC,HTTP meta character)
    9. HTTP方法覆盖(HMO,HTTP method override)
    10. 参数污染(Parameter pollution)
  • 支持多种Web缓存欺骗技术:
    1. 路径参数(Path Parameter)
    2. 路径遍历(Path Traversal,如.css文件、/static目录和/robots.txt)
    3. 追加特殊字符(包括编码与未编码)
  • 在测试前分析Web缓存并进行适配,以实现更高效的测试
  • 生成JSON格式报告
  • 爬取网站以发现更多待扫描URL
  • 通过代理(如Burp Suite)路由流量
  • 限制每秒请求数以绕过速率限制

安装

方式1:预编译二进制文件

WCVS的预编译二进制文件可在发布页面获取。

方式2:Kali Linux / BlackArch 仓库

  • Kali Linux:apt install web-cache-vulnerability-scanner
  • BlackArch:pacman -S wcvs

方式3:使用Go安装

可以使用Go安装本仓库。

需要go1.21及以上版本

root@kitploit:~
go install -v github.com/Hackmanit/Web-Cache-Vulnerability-Scanner@latest

方式4:Docker

1. 克隆仓库或下载最新源码发布版

2. 构建镜像(词表文件夹也会被复制)

root@kitploit:~
$ 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

3. 运行 wcvs

root@kitploit:~
$ docker run -it 1668edcf6ee3 /wcvs --help
https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner
version 1.0.0

使用

WCVS可通过其标志进行高度定制。许多标志可以包含一个值,也可以指定一个文件路径。

唯一的必选标志是-u/--url,用于指定待测试的目标URL,该URL需要被测试Web缓存投毒/欺骗漏洞。目标URL可以以多种格式提供。

WCVS需要两个词表来测试前5种技术——一个包含请求头名称,一个包含参数名称。词表可以放在执行WCVS的同一目录下,也可以通过--headerwordlist/-hw和--parameterwordlist/-pw标志指定。

示例:

root@kitploit:~
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"

指定请求头、参数、Cookie等

  • --cacheheader/-ch 指定自定义缓存请求头,用于检测缓存命中与未命中
  • --setcookies/-sc 指定要添加到请求中的Cookie
  • --setheaders/-sh 指定要添加到请求中的请求头
  • --setparameters/-sp 指定要添加到请求中的参数。虽然也可以直接将其添加到URL中,但在某些情况下通过此标志添加更为有用。
  • --post/-post 将HTTP方法从GET改为POST
  • --setbody/-sb 指定要添加到请求中的请求体
  • --contenttype/-ct 指定Content-Type请求头的值
  • --useragentchrome/-uac 将User-Agent从WebCacheVulnerabilityScanner v{版本号}更改为Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36。虽然也可以通过-sh "User-Agent: Mozilla/5.0 ..."实现相同效果,但此标志提供了更快捷的方式。
  • --cacheheader/-ch 指定自定义缓存请求头(不区分大小写)

如果要指定多个Cookie、参数或请求头,需要指定一个包含它们的文件。请参阅可用模板。

示例:

root@kitploit:~
wcvs -u https://example.com -ch "X-Custom-Header-ABC"

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

wcvs -u https://example.com -ch "X-Custom-Cache-Header"

生成JSON报告

若设置--generatereport/-gr标志,则会在每次扫描URL后生成并更新JSON报告。 该报告(与日志文件一样)写入执行WCVS的同一目录。如需更改所有输出文件的目录,可使用--generatepath/-gp。 如果要在报告中对HTML特殊字符进行编码,请使用--escapejson/-ej。

示例:

root@kitploit:~
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

要爬取URL,需要设置--recursivity/-r,它指定爬虫的递归深度。 默认情况下,WCVS仅爬取同域名的URL。如需爬取其他域,可使用--recdomains/red。 若只想爬取包含特定字符串的URL,可使用--recinclude/-rin。 --reclimit/-rl限制每个递归深度爬取的URL数量。 此外,可以使用--recexclude/-rex指定一个不应爬取的URL列表。例如,--generatecompleted/-gc可生成一个包含所有已测试URL的列表。如果重复扫描,但不想让WCVS再次爬取并测试相同的URL,则可以将该列表用于--recexclude/-rex。

示例:

root@kitploit:~
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

使用代理

要使用代理,请指定--useproxy/-up。如果您使用Burp,请确保取消勾选 "Settings > Network > HTTP > HTTP/2 > Default to HTTP/2 if the server supports it"。否则,某些依赖非RFC兼容请求头的技术将无法正常工作。 代理的默认URL为http://127.0.0.1:8080。如需更改,请使用--proxyurl/-purl。

示例:

root@kitploit:~
wcvs -u https://example.com -up
wcvs -u https://example.com -up -purl http://127.0.0.1:8081

限速或加速

可以使用--reqrate/-rr设置每秒允许的最大请求数。默认情况下,此数值不受限制。 相反,可以使用--threads/-t增加WCVS使用的并发线程数,从而潜在提高每秒请求数。默认值为20。

示例:

root@kitploit:~
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

其他标志

WCVS还提供上述标志和选项之外的更多功能。--help/-h提供了每个标志的含义及使用方法的完整列表。

示例:

root@kitploit:~
wcvs -h

背景信息

关于Web缓存投毒和WCVS的简短系列博文可以在这里找到:

  1. 您的应用程序是否存在Web缓存投毒漏洞?
  2. Web缓存漏洞扫描器(WCVS)——免费、可定制、易于使用

Web缓存漏洞扫描器(WCVS)的第一个版本是作为Maximilian Hildebrand的学士论文的一部分开发的。

许可证

WCVS由Hackmanit与Maximilian Hildebrand开发,并在Apache许可证2.0版下发布。

下载工具