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 لتنفيذ الاوامر 
 
 
طريقة الاصلاح
 منع ; لان النوع هذا من الثغرات لايتم الا باضافتها 
فلترت المدخلات 
 
 
الى هنا ينتهي الدرس والقاكم في دروس اخرى باذن الله  
 
 

تعليقات

المشاركات الشائعة من هذه المدونة

CRLF injection [\r\n Carriage Return]

Study in Nosql-Injection-Mongodb