Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
details-for-CVE-2022-46505 — خطأ استئناف الجلسة في MatrixSSL | Kitploit
أدوات/GitHubGitHub/smalltown123/details-for-cve-2022-46505
تحليل الثغرات الأمنيةالاستغلالالتشفيرتحليل الملفات الثنائيةالتعلم والتعليم
GitHubsmalltown123/details-for-cve-2022-46505

details-for-CVE-2022-46505

خطأ استئناف الجلسة في MatrixSSL

عرض المستودع
43منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

details-for-CVE-2022-46505

خلل استئناف الجلسة في MatrixSSL

1. وصف الخلل

توجد مشكلة في MatrixSSL 4.5.1-open والإصدارات الأقدم تؤدي إلى الفشل في التحقق الآمن من حقل SessionID، مما يؤدي إلى إساءة استخدام MasterSecret المكوّن من أصفار بالكامل والذي يمكنه فك تشفير البيانات السرية.

2. الإصدارات المتأثرة

MatrixSSL 4.5.1-open والإصدارات الأقدم

3. نوع الثغرة

فك تشفير جلسة استئناف TLS

4. تفاصيل الخلل

يخزّن خادم matrixssl معلومات الجلسة المتفاوَض عليها في قائمة.

root@kitploit:~
static sslSessionEntry_t g_sessionTable[SSL_SESSION_TABLE_SIZE]; 
// SSL_SESSION_TABLE_SIZE is 32
root@kitploit:~
typedef struct
{
    unsigned char id[SSL_MAX_SESSION_ID_SIZE]; // 32
    unsigned char masterSecret[SSL_HS_MASTER_SIZE]; // 48
    const sslCipherSpec_t *cipher;
    unsigned char majVer;
    unsigned char minVer;
    short extendedMasterSecret;           /* was the extension used? */
    psTime_t startTime;
    int32 inUse;
    DLListEntry chronList;
} sslSessionEntry_t;

أول أربعة بايتات من حقل SessionID هي رقم تسلسلي little-endian يتراوح من 0 إلى 31.

Untitled

يحدد Matrixssl ما إذا كانت الجلسة جلسة استئناف من خلال مطابقة طول معرف الجلسة المستلَم مع الفهرس السريع المكوّن من أربعة بايتات.

ومع ذلك، عند تهيئة قائمة التخزين، يكون MasterSecret مكوّنًا من أصفار بالكامل.

لذلك، يمكن للعميل الخبيث إرسال SessionID ببايت واحد لاستئناف جلسة باستخدام MasterSecret المكوّن من أصفار بالكامل. عندما يستقبل الخادم sessionid ببايت واحد، تُضبط البايتات التالية على 0 افتراضيًا. لذلك، يمكن التحقق من صحته وفهرسته في القائمة، وقد يظل MasterSecret المقابل لذلك الرقم التسلسلي في القائمة صفرًا. إذا حدث هذا، يمكننا حساب المفتاح وفك تشفير بيانات اتصال TLS.

./matrixssl/matrixssl.c —> int32 matrixResumeSession(ssl_t *ssl)

Untitled

Untitled

إضافة مخرجات وحدة التحكم للتصحيح :

Untitled

نتيجة الاختبار :

Untitled

Untitled

استخدم MasterSecret المكوّن من أصفار بالكامل لفك التشفير !

Untitled

تنزيل الأداة