Web Cache Vulnerability Scanner 是一个基于 Go 的 CLI 工具

admin 2024年4月24日06:59:54评论2 views字数 3797阅读12分39秒阅读模式

####################

免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具,支持研究学习,切勿用于非法犯罪活动,对于恶意使用该工具造成的损失,和本人及开发者无关。

####################

Web Cache Vulnerability Scanner (WCVS) 是由Hackmanit开发的用于Web 缓存中毒的快速且通用的 CLI 扫描程序。

该扫描程序支持许多不同的 Web 缓存中毒技术,包括一个爬虫来识别进一步的 URL 以进行测试,并且可以适应特定的 Web 缓存以进行更有效的测试。它是高度可定制的,可以很容易地集成到现有的 CI/CD 管道中。

特征

  • 支持 9 种 Web 缓存中毒技术:

    1. 无键标头中毒

    2. 无键参数中毒

    3. 参数伪装

    4. 胖GET

    5. HTTP 响应拆分

    6. HTTP 请求走私

    7. HTTP 标头过大 (HHO)

    8. HTTP 元字符 (HMC)

    9. HTTP 方法覆盖 (HMO)

  • 在测试之前分析 Web 缓存并对其进行调整以进行更有效的测试

  • 生成 JSON 格式的报告

  • 爬取网站以获取更多要扫描的 URL

  • 通过代理路由流量(例如,Burp Suite)

  • 限制每秒请求以绕过速率限制

安装

选项 1:预构建二进制文件(推荐)

发布页面上提供了 WCVS 的预构建二进制文件。这些版本还包括 2 个默认词汇表。

选项 2:使用 Go 获取存储库

可以使用 Go 获取存储库。

go get -u https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner

用法

WCVS 使用它的标志是高度可定制的。许多标志可以直接包含一个值或文件的路径。

唯一的强制性标志是-u/--url提供应测试 Web 缓存中毒的目标 URL。目标 URL 可以以不同的格式提供,

WCVS 需要两个单词表来测试前 5 种技术——一个带有标题名称的单词列表和一个带有参数名称的单词列表。单词表可以存在于 WCVS 执行的同一目录中,也可以使用--headerwordlist/-hwand--parameterwordlist/-pw标志指定。

例子:

wcvs -u 127.0.0.1wcvs -u http://127.0.0.1wcvs -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 等

  • --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{Version-Number}Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36。虽然可以使用 eg 实现相同的目的-sh "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...,但此标志提供了一种更快的方法。

例子:

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 报告

如果--generatereport/-gr设置了该标志,则会在每个扫描的 URL 之后生成并更新 JSON 报告。报告就像日志文件一样被写入执行 WCVS 的同一目录中。为了更改所有输出文件的目录,请使用--generatepath/-gp. 如果要在报告中编码 HTML 特殊字符,请使用--escapejson/-ej.

例子:

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,--recursivity/-r需要设置。它指定爬虫递归的深度。默认情况下,WCVS 只抓取相同域的 URL。要也爬取其他域,--recdomains/red可以使用。仅抓取继承特定字符串的 URL,--recinclude/-rin可以使用。--reclimit/-rl限制为每个递归深度抓取多少个 URL。此外,可以使用 指定包含不应抓取的 URL 的列表--recexclude/-rex--generatecompleted/-gc例如,可以用于生成包含所有已测试 URL 的列表。如果重复扫描,但 WCVS 不应再次抓取和测试相同的 URL,则此列表可用于--recexclude/-rex.

例子:

wcvs -u https://example.com -r 5wcvs -u https://example.com -r 5 -red /home/user/Documents/mydomains.txt
wcvs -u https://example.com -r 5 -rl 2wcvs -u https://example.com -r 5 -rex /home/user/Documents/donttest.txt

使用代理

要使用代理,需要 PEM 格式的代理 CA 证书。例如,Burp Suite 证书以 DER 格式提供。要转换它们,可以使用以下命令:openssl x509 -inform DER -outform PEM -text -in cacert.der -out cacert.pem. 可以使用 指定证书的路径--proxycertpath/-ppath。代理的默认 URL 是http://127.0.0.1:8080. 为了改变它,使用--proxyurl/-purl.

例子:

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

油门或加速

每秒允许的最大请求数可以用 设置--reqrate/-rr。默认情况下,此数字不受限制。相反,如果--threads/-t用于增加 WCVS 使用的并发线程数,每秒的请求数可能会增加。默认值为 20。

例子:

wcvs -u https://example.com -rr 10wcvs -u https://example.com -rr 1wcvs -u https://example.com -rr 0.5wcvs -u https://example.com -t 50

复制

进一步的标志

WCVS 提供了比前面提到的标志和选项更多的功能。--help/-h提供每个标志的列表、其含义以及如何使用它。

例子:

wcvs -h

原文始发于微信公众号(菜鸟小新):Web Cache Vulnerability Scanner 是一个基于 Go 的 CLI 工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月24日06:59:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Web Cache Vulnerability Scanner 是一个基于 Go 的 CLI 工具https://cn-sec.com/archives/2083462.html

发表评论

匿名网友 填写信息