مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور

 

 

 

 

مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور مركز تحميل الصور

 الرائد التربوي يدعوك للتسجيل معنا هـنـا


أختر مودك :

العودة   منتديات الرائــــــــــد التربوي > تطوير المواقع > تطوير المنتديات

إضافة رد
  #1  
قديم 05-25-2020, 02:57 PM
sisimou sisimou غير متواجد حالياً
مدير عام
 
تاريخ التسجيل: Nov 2014
المشاركات: 3,447
معدل تقييم المستوى: 10
sisimou تم تعطيل التقييم
منقول دليل المبتدئين في التصدي للمخربين - البرمجة بـ MySQL

أهلا بالإخوة المبرمجين و الأخوات المبرمجات سوف أتطرق في هذا الموضوع لخطأ شائع عند المبرمجين المبتدئين عند تعاملهم مع قواعد البيانات في سيناريو وهمي فشدو الأحزمة و على بركة الله.

ليس عيب على المبرمج أن يخطئ فالخطأ بشري جد وارد خصوصا في بداية المشوار لكن العيب هو عدم التعلم من الخطأ، و في سيناريو وهمي قام المبرمج X بإنشاء تطبيق ويب بلغة PHP و MySQL
ثم وضع واجهة للتطبيق للدخول للمنتدى كما في الصورة...

و ظنا منه أنه يحمي تطبيقه تماما قام بتشفير كلمة السر و إستعمال الكائن الموجه PDO للإتصال بقاعدة البيانات.
و هذا جدول البيانات كما في الصورة...
نذهب الآن لسيناريو الإختبار، بما أنّ المهاجم لا يعرف الكود المصدري للتطبيق لكنه ملم تماما بالبرمجة فسيحاول تجربة إرسال أكواد برمجية خبيثة عن طريق مدخلات تطبيقك لمحاولة تخطي واجهة الدخول دون معرفة البيانات الصحيحة، فمثلا سيقوم بإرسال أمر برمجي لقاعدة البيانات لخداعها كما في الصورة...
عندها سيتم الدخول و تخطي التحقق و ستكون ضربة موجعة لتطبيقك...
الكود الخبيث يخبر قاعدة البيانات أن شرط التحقق صحيح فيتم التجاوز بما أنّ 1=1 منطقيا هو شرط صحيح ثم يأتي دور الرمز # الذي يخبر قاعدة البيانات أن تقول بإهمال جميع الأوامر التي تأتي بعده.

رغم أن المبرمج إستخدم أحدث تقنية للإتصال بقاعدة البيانات و هو الكائن الموجه PDO إلا أنّ سوء إستغلال طرق الكائن يمكن أن تكون نتائجها كارثية و الطرق في هذا المثال هي prepare و execute

الخطأ البرمجي موجود في سطر الأمر كما هو مبين في الصورة...
سنأتي الآن لإصلاح الخطأ و تحديث الملف البرمجي حتى يكون التحقق صحيح، و من أهم النصائح للمبرمج المبتدأ هو عدم الثقة نهائيا في المستخدم كيفما كان و ذلك إذا كان تطبيقك يتعامل مع المدخلات...
كما هو مبين في الصورة تم إستغلال الطريقة execute و فلترة المدخلات يوزرنيم و باسوورد.
الآن عند محاولة المهاجم إستغلال نفس الثغرة سيتلقى ضربة على وجهه ههههه

ملاحظة : قلت "طرق" و ليس دوال لأنه كذلك يطلق على الدوال الخاصة بالكائنات الموجهة و هذا درس متقدم شيئا ما في البرمجة بلغة PHP



في النهاية من المهم على المبرمج المبتدأ أن يكون مُلمّا بالأساسيات في الحماية البرمجية لحماية تطبيقته لكن عموما مع تقدم المستوى البرمجي و إنشاء سكريبتات مثل الووردبريس و الجوملا و غيرها و كذلك منصات متقدمة مثل السيمفوني و لارافيل و الدجانغو و الفلاسك و غيرها صار الأمر متجاوزا نوعا ما لمثل هاته الأخطاء الكلاسيكية...
أرجو أن يفيدكم الموضوع و إن أخطأت فمن نفسي و إن أصبت ف بتوفيق من الله و إن شاء الله إن أعجبكم أعمل دورة من الصفر في البرمجة بـ PHP و MySQL قريبا و أشاركم بما أعرف رغم أنني بنفسي لازلت مبتدأ

أترككم مع صور الأكواد المصدرية للسكريبت الذي اشتغلنا عليه...
الكود المصدري للإتصال بقاعدة البيانات
الكود المصدري المصاب بالثغرة
الكود المصدري لملف التحقق بعد ترقيعه
لتحميل السكريبت من موقع ميغا
في حفظ الله و رعايته
رد مع اقتباس
إضافة رد




أدوات الموضوع إبحث في الموضوع
إبحث في الموضوع:

البحث المتقدم
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG]متاحة
كود HTML معطلة




الساعة الآن 03:52 PM


Powered by vBulletin™ Version 3.8.7
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved. منتديات
تصميم وتطوير
جميع الحقوق محفوظة لـ منتديات الرائــــــــــد التربوي 2014 - 2015