شرح ثغرة remote code execution RCE

شرح ثغرة remote code execution RCE
    السلام عليكم و رحمة الله و بركاته


    اليوم و في شرح جديد من شروحات دورة اختراق المواقع سوف نتعرف على احد اخطر انواع الثغرات على الاطلاق و المعروفة ب RCE 
    في البداية تعالو نتعرف على معنى و اختصار هده الثعرة 
    REC اختصار لكلمة remote code execution 

    R : remote
    C : code
    E : execution

    و اريد ان اوضح لكم انه لا يجب ان يتم تعريب مثل هده المصطلحات ابدااا 
    لانه يجب ان تبقى ب اسمائها ب الاحرف  اللاتينية  
    عموما انا سوف اتكلم عليها ب العربي معنى و ترجمة هده الثغرة هي  "تنفيذ التعليمات البرمجية عن بعد" 
    و هدا النوع من الثغرات لا يصيب المواقع و حسب لا بل حتى انضمة التشغيل و تطبيقات الهواتف سواء android او ios 
    و لا يمكن الكشف على مثل هده الثغرات الى ادا كنت تجيب لغة البرمجة المستعملة في التطبيق او الموقع الدي تقوم ب اختبار الاختراق عليه لان ثغرة RCE ليست مثل باقي الثغرات 
    على سبيل المثال في ثغرة SQL يمكن لاي طفل استغلال هده الثغرة حتى ادا كان مبتدىء و لكن عكس ثغرة RCE لانها تحتاج الى مهارات في لغات برمجة معينة 
    و نحن هنا نتكلم على اختراق المواقع بكل تاكيد 
    لهادا ما يهمنا في لغات البرمجة هي اللغات الدينامكية  Dynamic programming language
    و منها php و asp و عن قريب JavaScript  لان لغة الجافا سكربت سوف تعمل نفس عمل لغة php و هادا ما يقوله خبراء البرمجة "الجافا سكربت هي المستقبل "

    كيف تحدث ثغرة RCE 

    ثغرة RCE تحدث بسبب واحد الا و هو الخطء من المبرمج نفسه و احيانا تكون الثغرة ب سبب لغة البرمجة نفسها .
    ثغرة RCE بسبب الخطء من المبرمج :
    لغات البرمجة الدينامكية تتيح للمبرمجين عدة فانكشن function جاهزة دون الحاجة الى كتابتها و لكن هده ال  function  تمتلك صلحيات على النضام او الموقع بحيث تتمكن من التحكم او اعطاء اوامر على النضام مثال على هادا 

    $dz = "varname";
    $o = $_GET['arg'];
    eval("\$dz = \$o;");
    ?>

    في الاعلى كود php بسيط بدون فلترة و هادا الخطء من المبرمج لانه يسمح للمستخدم ب استعمال اي شيء او اي كود على الموقع 
    نشوف الاستغلال كيف يكون 

    نقوم ب استعراض الرابط على المتصفح 

    127.0.0.1/index.php?arg=1; phpinfo()

    و نلاحض انه قد قدم لنا phpinfo الخاصة ب السيرفر 


    127.0.0.1/index.php?arg=1; system('id')

    و الان نلاحض انه قد تم اعطائنا ال id الخاص بنا على السيرفر بكل بساطة و هادا امر خطير جدا 

    ثغرة RCE بسبب لغة البرمجة :

    كما تكلمنا في الاعلى انه احيانا تنتج ثغرة rce بسبب خطءما في لغات البرمجة .
    و انا هنا لا اتلكم على فراغ لان من كتب لغات البرمجة  نفسه الانسان و الانسان غير معصوم من الخطء و لكن ان تكتشف ثغرة ما في لغة برمجة فهادا يتطلب منك مهارات عااالية جدا
    كمثال على هادا سوف نتكلم على ثغرة
     WordPress Core 4.6 - Unauthenticated Remote Code Execution (RCE) PoC Exploit
     و هده الثغرة كانت ب سبب مشكل في دالة mail() في PHP  حيث تمكن الهاكر من حقن كود في الهيدر و الحصول على جلسة شل
    و هادا الخطء من لغة البرمجة نفسها

    الخلاصة : 
    ثغرة  remote code execution ثغرة كبيرة جدا و تحتاج الى مهارات كبيرة في لغات البرمجة لهادا انت بحاجة الى وقت كبير لاحتراف هادا النوع من الثغرات  لهادا لا تياس ابدا و تابع 1 ب واحدة






    إرسال تعليق

    اعلان