A Study in PHP Vulnerabilities - RCE
بسم الله الرحمن الرحيم
اللهم صل وسلم على سيدنا محمد وعلى آله وصحبه اجمعين
اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم
اليوم درسنا عن ثغرات
اللهم صل وسلم على سيدنا محمد وعلى آله وصحبه اجمعين
اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم
اليوم درسنا عن ثغرات
#
Remote Code Execution
النوع هذا قريب من Remote command Execution والاختلاف يكون في اضافة ; للدالة المراد الاستعلام عنها
ناخذ مثال ونشوف
<?php
$code=$_GET['code'];
eval($code);
?>
الان المتغير code غير مفلتر واي قيمة راح نضعها فيه راح تدخل في الدالة eval اللي بدورها تقوم
بتنفيذ الكود
نشوف الاستغلال
http://127.0.0.1/test.php?code=phpinfo();
الاستغلال ناجح وراح يعرض لنا معلومان PHP
ناخذ كود ثاني عشان توضح الصورة اكثر
$conf = array_merge($conf,$confweb);
}
@eval(stripslashes($_REQUEST['anticode']));
if ( $_SERVER['HTTP_CLIENT_IP'] )
في الكود السابق المبرمج اضاف الدالة stripslashes وطبعا في الجزء هذا من الكود عديمة الفائدة
الا اذا كنا نبي نسوي انكلود لعنوان موقع او شي من هذا القبيل
الاستغلال راح يكون بنفس الطريقة
http://127.0.0.1/test.php?anticode=phpinfo();
وبالامكان استخدام الدالة system لتنفيذ الاوامر
طريقة الاصلاح
منع ; لان النوع هذا من الثغرات لايتم الا باضافتها
فلترت المدخلات
الى هنا ينتهي الدرس والقاكم في دروس اخرى باذن الله
تعليقات
إرسال تعليق