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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/varandinawer/cve-2020-28874
تصعيد الامتيازاتهجمات كلمات المرورتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubvarandinawer/cve-2020-28874

CVE-2020-28874

CVE-2020-28874

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

الأكثر شعبية

عرض الكل →

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

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

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

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

يحتوي هذا المستودع على وصف الثغرة الأمنية المكتشفة (CVE-2020-28874) في إصدار ProjectSend r1270.

شكرًا لزملائي في Entelgy Innotec Security على دفعي للتحسين!

CVE-2020-28874: تصعيد الامتيازات

الوصف

تقع الثغرة في مكوّن إعادة تعيين كلمة المرور؛ حيث يمكن للمهاجم تغيير كلمة مرور أي مستخدم معروف عبر اسم المستخدم الخاص به، مثل admin، دون الحاجة إلى رمز (token) صالح.

هذا ممكن لأن الواجهة الخلفية (backend) لا تُنظّف المتغير $user_data ببيانات المستخدم المحمّلة من اسم المستخدم المقدَّم.

root@kitploit:~
 if (!empty($_GET['token']) && !empty($_GET['user'])) {
        $got_token	= $_GET['token'];
        $got_user	= $_GET['user'];

        /**
         * Get the user's id
         */
        $user_data = get_user_by_username($got_user);
        ....
        }

وتستخدم حالة ذلك المتغير لمواصلة عملية إعادة تعيين كلمة المرور.

root@kitploit:~
    if ($_POST) {
        /**
         * Clean the posted form values.
         */
        $form_type = encode_html($_POST['form_type']);
        
        switch ($form_type) {
        ----
            case 'new_password':
                if (!empty($user_data['id'])) {
                    $reset_password_new = $_POST['password'];
                    ...
                }
        ...
        }

الهجوم

للقيام بذلك، يحتاج المهاجم إلى إنشاء طلب POST، مع معامل "token" غير صالح ومعامل "user" يحمل اسم المستخدم المستهدف في سلسلة الاستعلام (query string)، كما يجب إضافة “form_type” بقيمة “new_password”، و“password” بكلمة المرور الجديدة المطلوبة، وcsrf_token برمز صالح (من نموذج تسجيل الدخول، إذ لا يوفر نموذج إعادة تعيين كلمة المرور ذلك) في جزء النص (body).

في هذا المستودع، يمكنك العثور على سكربت بايثون لاستغلال الثغرة وحاوية docker لاختبارها.

الاستخدام

root@kitploit:~
git clone https://github.com/varandinawer/CVE-2020-28874_CVE-2020-28875.git
cd ./CVE-2020-28874_CVE-2020-28875/docker-r1270
docker-compose up 
#To finish the process of ProjectSend installation, go to http://localhost in the browser and follow the indication to setup an admin account
cd .. 
python CVE-2020-28874.py --url http://localhost --user admin --pwd newAdminP4ssword*

الإصلاح

قم بالترقية إلى الإصدار r1295 أو أحدث.

تنزيل الأداة