
يحلل CVE-2025-60423، وهو تجاوز للمصادقة في إصدارات JEECG 7.2.8 و7.2.9، مع تفصيل تقنيات اجتياز المسار وترميز عناوين URL لتجاوز عوامل التصفية والوصول إلى نقاط النهاية المحمية.
هذا التجاوز للمصادقة مشابه لتجاوز الصلاحيات في Shiro
في طريقة dofilterInternal داخل فئة sessionfilter، تكون قيمة معامل dofilter صحيحة (true) افتراضيًا، وفقط عندما تكون خاطئة (false) يمكن تجاوز المصادقة
تابع إلى طريقة matches، انظر إلى هذا الكود، فهو يطابق عنوان URL مع 134 سلسلة مسار في patterns، وعند نجاح المطابقة يعيد true، مما يجعل dofilter صحيحًا
ثم تابع التصحيح حتى تدخل الحلقة في الحكم، عندها يكون pattern هو /static.*?

لذلك只需 إضافة /static/.. قبل أي مسار دليل خلفي يمكن تجاوز المصادقة في الواقع، ليس فقط /static/.. هو الصالح هنا، بل في patterns أي مسار أحادي المستوى يتبعه .*? يمكن استخدامه للتجاوز مثال:
/error/.*?
/adminseal.zz/.*?
/dwr/.*?
...
لم أستخرجها كلها، لكن كل ما يطابق هذه القاعدة صالح
في الإصدار الجديد 7.2.9 تمت إضافة خطوة للتحقق من عنوان URL

عند الدخول إلى checkErrorUrl، نجد أنه يتحقق من وجود ..

ما زلنا نستخدم أفكار تجاوز ثغرات Shiro تلك، نقوم بترميز .. مرة واحدة باستخدام URL encoding ونجح التجاوز
Payload:
POST /static/%2e%2e/je/sysConfig/sysConfig/loadSysVariables HTTP/1.1 1
تسريب كلمات مرور غير مشفرة من جهة الويب
