
ماسح ضوئي CLI قائم على Go للتسمم الكاشفي والخداع على الويب. يدعم 10 تقنيات تسميم، وطرق خداع متعددة، وزواحف مدمجة، وتقارير JSON، وتكامل وكيل لاختبار الاختراق.
Web Cache Vulnerability Scanner (WCVS) هو ماسح ضوئي سريع ومتعدد الاستخدامات بواسطة سطر الأوامر لـ تسمم ذاكرة التخزين المؤقت للويب وخداع ذاكرة التخزين المؤقت للويب، تم تطويره بواسطة Hackmanit و Maximilian Hildebrand.
يدعم الماسح الضوئي العديد من تقنيات تسمم ذاكرة التخزين المؤقت للويب وخداعها، ويتضمن زاحفًا لتحديد عناوين 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 المستهدف بتنسيقات مختلفة،
يحتاج 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"
يتم إنشاء تقرير بصيغة JSON وتحديثه بعد كل عنوان URL تم مسحه ضوئيًا إذا تم تعيين الخيار --generatereport/-gr.
يُكتب التقرير، مثل ملف السجل، في نفس الدليل الذي يتم تنفيذ 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