السلام عليكم :
اليوم و في هده التدوينة اريد مشاركة معكم اختبار اختراق احد السكربتات او انضمة ادارة المحتوى و المعروف ب اسم FineCMS و سوف نتعرف مع بعضنا البعض على طريقة اكتشاف بعض الثغرات على السكربت
ثغرة Reflected XSS في get_image.php
اليوم و في هده التدوينة اريد مشاركة معكم اختبار اختراق احد السكربتات او انضمة ادارة المحتوى و المعروف ب اسم 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>
عندما يعرض المشرف صفحة الزائرين
Arbitrary File Modify Require Login