
POC بلغة Python لـ CVE-2012-2982 محسّن من الأصل بواسطة المستخدم @OstojaOfficial
إثبات المفهوم (PoC) بلغة بايثون لـ CVE-2012-2982 (Webmin 1.580) محسّن عن الأصل بواسطة المستخدم OstojaOfficial
هذه نسخة محسّنة من السكريبت الأصلي تسمح للمستخدم برؤية تنسيق إدخال البيانات دون الحاجة إلى رؤية السكريبت بأكمله لاكتشاف ذلك. ولتحقيق ذلك، تم ببساطة نقل هذا القسم من الكود إلى البداية:

بالإضافة إلى ذلك، تم إرفاق تعليمة خروج لمنع استمرار تشغيل السكريبت (sys.exit(1)).
كما تم إضافة إمكانية قيام المستخدم بتضمين المنفذ الذي يعمل عليه خدمة Webmin 1.580 منذ لحظة استدعاء الاستغلال (exploit).

نظرًا لأنه تمت إضافة إدخال جديد، تم تعديل جميع البيانات الأخرى، إلى جانب تعديل عنوان URL للاستعلام لتسجيل الدخول واستغلال الثغرة الأمنية.

أخيرًا، تم إضافة الوظيفة الرئيسية التي سيقوم السكريبت بتنفيذها في حالة استلام جميع البيانات بشكل صحيح.

ملاحظة: تذكر أنه قبل تشغيل السكريبت يجب عليك تثبيت المكتبات المطلوبة. للقيام بذلك، اكتب في وحدة التحكم:
pip3 install -r requirements.txt
في حال لم تستخدم pip3 من قبل، فيجب تثبيته باستخدام الأمر التالي:
apt install python3-pip
إذا ظهر الخطأ التالي عند إعادة تثبيت requirements.txt:

قم بتنفيذ الأمر التالي لتصحيحه. سبب الخطأ هو أن ldap غير مثبت في النظام.
apt-get install build-essential python3-dev python2.7-dev \ libldap2-dev libsasl2-dev slapd ldap-utils tox \ lcov valgrind