
CLI-сканер на Go для отравления и обмана веб-кеша. Поддерживает 10 техник отравления, несколько методов обмана, встроенный краулер, отчеты в JSON и интеграцию с прокси для пентеста.
Web Cache Vulnerability Scanner (WCVS) — это быстрый и многофункциональный CLI-сканер для отравления веб-кэша и обмана веб-кэша, разработанный компанией Hackmanit и Максимилианом Хильдебрандом.
Сканер поддерживает множество различных техник отравления веб-кэша и обмана веб-кэша, включает краулер для поиска дополнительных URL-адресов для тестирования, и может адаптироваться к конкретному веб-кэшу для более эффективного тестирования. Он легко настраивается и может быть интегрирован в существующие CI/CD-конвейеры.
Готовые бинарные файлы WCVS предоставляются на странице релизов.
apt install web-cache-vulnerability-scannerpacman -S wcvsРепозиторий можно установить с помощью Go.
go1.21 и выше
go install -v github.com/Hackmanit/Web-Cache-Vulnerability-Scanner@latest
$ 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
$ docker run -it 1668edcf6ee3 /wcvs --help
https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner
version 1.0.0
WCVS обладает широкими возможностями настройки с помощью своих флагов. Многие флаги могут содержать значение напрямую или путь к файлу.
Единственный обязательный флаг — -u/--url для указания целевого URL-адреса, который следует проверить на предмет отравления/обмана веб-кэша. Целевой URL можно указать в различных форматах.
Для тестирования первых 5 техник WCVS требуется два списка слов: один с именами заголовков и один с именами параметров. Списки слов могут находиться в той же папке, из которой запускается WCVS, или быть указаны с помощью флагов --headerwordlist/-hw и --parameterwordlist/-pw.
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"
--cacheheader/-ch указывает пользовательский заголовок кэша, который будет проверяться на попадания и промахи кэша--setcookies/-sc указывает куки, которые будут добавлены к запросу--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. Того же можно добиться, например, с помощью -sh "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ..., но этот флаг предоставляет более быстрый способ.--cacheheader/-ch указывает пользовательский заголовок кэша (без учета регистра)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"