شرح RCE أو
كما تكلمنا في الاعلى انه احيانا تنتج ثغرة rce بسبب خطءما في لغات البرمجة .
و انا هنا لا اتلكم على فراغ لان من كتب لغات البرمجة نفسه الانسان و الانسان غير معصوم من الخطء و لكن ان تكتشف ثغرة ما في لغة برمجة فهادا يتطلب منك مهارات عااالية جدا
كمثال على هادا سوف نتكلم على ثغرة
WordPress Core 4.6 – Unauthenticated Remote Code Execution (RCE) PoC Exploit
و هده الثغرة كانت ب سبب مشكل في دالة mail() في PHP حيث تمكن الهاكر من حقن كود في الهيدر و الحصول على جلسة شل
و هادا الخطء من لغة البرمجة نفسها
remote code execution و ما هي هذه الثغرة و كيف تتمكن من العثور عليها ، و كيف تقوم بإصلاحها اذا كنت مبرمج .
اليوم و في شرح جديد من شروحات دورة اختراق المواقع سوف نتعرف على احد اخطر انواع الثغرات على الاطلاق و المعروفة ب 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 ب واحدة