
ثغرة فك تشفير كوكيز الجلسة في CodeIgniter <=2.1.4
سكربت PoC لفك تشفير كوكيز جلسات CodeIgniter <= 2.1.4 التي تستخدم طريقة _xor_encode().
التفاصيل الكاملة متاحة في مقالة المدونة التالية: https://www.dionach.com/blog/codeigniter-session-decoding-vulnerability
break.py هذا هو السكربت الرئيسي، وعند إعطائه URI هدفًا سيحاول الحصول على كوكي وكسر مفتاح الجلسة بالقوة الغاشمة. إذا وجد هذا السكربت كوكيًا لكنه فشل في فك تشفيره، فهذا يعني أن الخادم يحتوي على Mcrypt وأنه غير معرّض لهذا الهجوم. testkey.py هذا السكربت سيقوم فورًا بفك تشفير كوكي جلسة باستخدام المفتاح (المجزّأ) المقدم (والذي يجب إضافته إلى السكربت بعد الحصول عليه باستخدام break.py). encrypt.php يعتمد هذا السكربت على دوال التشفير المستخدمة في CodeIgniter، وسيأخذ كوكيًا غير مشفر (مصفوفة PHP مسلسلة) ويقوم بتشفيره باستخدام المفتاح المقدم (والذي يجب إضافته إلى السكربت).
الخطوات اللازمة لمهاجمة تطبيق هي كما يلي: