
Go-basierter CLI-Scanner für Web-Cache-Poisoning und -Deception. Unterstützt 10 Poisoning-Techniken, mehrere Deception-Methoden, eingebauten Crawler, JSON-Reporting und Proxy-Integration für Penetrationstests.
Web Cache Vulnerability Scanner (WCVS) ist ein schneller und vielseitiger CLI-Scanner für Web-Cache-Poisoning und Web-Cache-Deception, entwickelt von Hackmanit und Maximilian Hildebrand.
Der Scanner unterstützt viele verschiedene Web-Cache-Poisoning- und Web-Cache-Deception-Techniken, enthält einen Crawler zur Identifizierung weiterer zu testender URLs und kann sich an einen bestimmten Web-Cache anpassen, um effizienter zu testen. Er ist hochgradig anpassbar und kann leicht in bestehende CI/CD-Pipelines integriert werden.
Vorgefertigte Binärdateien von WCVS werden auf der Releases-Seite bereitgestellt.
apt install web-cache-vulnerability-scannerpacman -S wcvsDas Repository kann mit Go installiert werden.
go1.21 und höher
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 ist mit seinen Flags hochgradig anpassbar. Viele der Flags können entweder einen Wert direkt oder den Pfad zu einer Datei enthalten.
Das einzige obligatorische Flag ist -u/--url, um die Ziel-URL anzugeben, die auf Web-Cache-Poisoning/Deception getestet werden soll. Die Ziel-URL kann in verschiedenen Formaten angegeben werden.
WCVS benötigt zwei Wortlisten, um die ersten 5 Techniken zu testen – eine Wortliste mit Headernamen und eine mit Parameternamen. Die Wortlisten können entweder im selben Verzeichnis vorhanden sein, in dem WCVS ausgeführt wird, oder über die Flags --headerwordlist/-hw und --parameterwordlist/-pw angegeben werden.
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 gibt einen benutzerdefinierten Cache-Header an, der auf Cache-Hits und -Misses überprüft wird--setcookies/-sc gibt Cookies an, die zur Anfrage hinzugefügt werden sollen--setheaders/-sh gibt Header an, die zur Anfrage hinzugefügt werden sollen--setparameters/-sp gibt Parameter an, die zur Anfrage hinzugefügt werden sollen. Obwohl es auch möglich ist, sie einfach zur URL hinzuzufügen, kann es in manchen Fällen nützlicher sein, sie über dieses Flag hinzuzufügen.--post/-post ändert die HTTP-Methode von GET auf POST--setbody/-sb gibt den Body an, der zur Anfrage hinzugefügt werden soll--contenttype/-ct gibt den Wert des Content-Type-Headers an--useragentchrome/-uac ändert den User-Agent von WebCacheVulnerabilityScanner v{Version-Number} auf Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36. Während das Gleiche auch mit z. B. -sh "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... erreicht werden kann, bietet dieses Flag einen schnelleren Weg.--cacheheader/-ch einen benutzerdefinierten Cache-Header angeben (Groß-/Kleinschreibung wird nicht beachtet)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"