في البوست دا هناقش معاكم شوية عن ثغرة موجودة في تطبيقات الويب و هي :
RCE –> remote command execution .
ببساطة كدا الثغرة دي بتمكنك من انك تنفذ اوامر علي نظام التشغيل للسيرفر الي محطوط عليه الموقع عن طريق اي input في الموقع سواء من input form او url .
طبعا الاوامر بتتوقف علي حسب نظام التشغيل للسيرفر الي بيتحط عليه الموقع يعني مثلا لو الموقع شغال علي سيرفر لينكس ممكن تكتبله امر ls وتشوف ايه الملفات الموجودة في directory الحالي او تنشأ عليه ملف او تقراء ملف فيه configuration ل data base
مثلا لو الملف readable او حتي تغير الصلاحيات للملف و انت تخليه readable .
ماهي خطورة ثغرة RCE – Remote Code Execution؟
الخطورة في الثغرة دي مش بس في انك ممكن تقراء ملفات ليها علاقة بقاعدة البيانات مثلا : لا انت ممكن كمان من خلال امر زي get في لينكس تنزل علي السيرفر backdoor او bash shell يمكنك من انك تتحكم في الموقع بابياناته بملفاته بقاعدة بياناته بسلطاته ببابا غنوجه .
نيجي لنقطة مهمة !!وهي تنفيذ االاوامر :
مش شرط لما تكتب الامر يشتغل او يتنفذ لان الموقع بيكون بيقدم خدمة معينة زي ping ل ip فهو متبرمج انك هتدخله ال ip فلازم تحط فاصل علشان يخرج من الامر الي متبرمج عليه و ينفذ اوامرك شوف المثال ده كدا :
انا عاوز اعرض الملفات الموجودة في ال directory الموجود فيه ملفات الموقع
والموقع بيقدم خدمة ping ل ip اعمل ايه ….!
لو انا حطيت الامر علي طول ال هو ls علشان يعرض الملفات الامر هيكون اكني كاتب كدا في الترمينال :
ping ls
اكيد الامر غلط وهيظهرلي رسالة خطا فا الحل اني اخرج برة الامر ping او بمعني اصح اني انهي الامر ping و دا عن طريق اني احط ; في البداية علشان انهي الامر بتاع البرنامج و اقدر انفذ الامر الي انا عازوه زي كدا :
; ls
وبكدا انا نهيت الامر الاول و الامر الي عاوزه هيتنفذ و هيعرضلي الملفات .
العلامة دي علي حسب نظام التشغيل بتاع سيرفر الموقع يعني في لو السيرفر نظامه
ويندوز العلامة هتكون & وهكذا
طيب و الثغرة بتكون فين في الموقع !
الثغرة دي بتكون في input form مثلا علشان تعمل ping علي موقع معين او ip او لو البيانات الي انت بتدخلها للموقع ليها علاقة بخدمة بتتقدم عن طريق نظام تشغيل او ما شابه