عرض مشاركة مفردة
 
  #1  
قديم 22-10-2007, 08:09 PM
like_php like_php غير متصل
عضو
 
تاريخ التسجيل: Nov 2005
مشاركة: 52
مستوى تقييم العضوية: 19
like_php is on a distinguished road
الافتراضي أشهر الثغرات وطرق الحماية منها

السلام عليكم ورحمة الله وبركاته

تمتاز برمجة الموقع الإلكترونية عن غيرها من لغات البرمجة بكثرة مستخدمي هذا البرنامج , فهو متاح لملايين الناس لاستخدامه وهم طبعاً زوار الموقع.

ولهذا فأننا بحاجة لحماية هذا البرنامج وخصوصاً استهداف المواقع العربية والإسلامية من اعداء الأمة , ولهذا سأقوم بشرح مبسط لأشهر أنواع الثغرات وكيفية الحماية منها:

1- sql injection الحقن بجمل sql

اشهر انواع الثغرات و اخطرها ! , هذه الثغره تظهر في البرامج التي تستخدم "قواعد البيانات" في عملها , محركات قواعد البيانات مثل MySQL , MSSQL , Oracle و غيرها تستخدم لغه واحده من اجل استعلاماتها و تسمى هذه اللغه بـ SQL

وهي أشد انواع الثغرات خطوراً حيث أنه يمكن اختراق الحسابات في موقعك , على سبيل المثال , انك تملك يحتوي على اسم مستحدم وكلمة سر لصغحات معينة , سيكون برنامجك كالاتي:

كود PHP:
$user_name="swalif";
$password="softs";
$query "SELECT * FROM users WHERE user='$user_name' AND password='$password'";
mysql_query($query); 
تخيل لو ان كلمة السر أصبحت
كود PHP:
$password="' OR ''='"
ستصبح أوامر ال sql

كود PHP:
$query "SELECT * FROM users WHERE user='swalif' AND password='' OR ''=''
"
;
mysql_query($query); 
بهذه الطريقة يكون قد استطاع الدخول لاقسام برنامجك المختبفة دون الحاجة لاسم المستخدم أو كلمة السر الصحيحة.

ولا يتوقف الأمر عند ذلك فقط , تخيل لو أنه قام بادخال هذه الجملة على أنها كلمة سر:

كود PHP:
$password="'; DROP DATABASE database_name;" 
سيصبح الأمر البرمجي:

كود PHP:
$query "SELECT * FROM users WHERE user='swalif' AND password=''; DROP DATABASE database_nam";
mysql_query($query); 
تخيل الان ماذا حصل لموقعك ؟

تم حذف قاعدة البيانات بشكل كامل من الموقع .

2) XSS Cross site scripting

نوع آخر من الثغرات الامنيه و يعتبر من الثغرات المنتشره , اعتقد ان هذا النوع من الثغرات أقل خطوره من الـ SQL Injection , هذا النوع من الثغرات يسمح بحقن كود JavaScript في الصفحه .

يأتي البعض و يقول ما هي خطورة مثل هذه الثغره ؟ ما هي الخطوره في حالة قام المخترق بحقن كود JavaScript , حسناً جميع الامثله التي نراها في استغلال أو شرح ثغرات XSS لا تتعدى استخدام دالة alert لطباعة كلمه في النافذه المنبثقه التي عدهناها و لكن الاستغلال الحقيقيه لمثل هذه الثغرات يكون بسرقة الكوكيز , و الكوكيز عباره عن ملفات صغيره تستخدمها المواقع لتخزين معلومات عن مستخدم الحاسوب , مثلاًً برامج المنتديات تعتمد اعتماد كبير على الكوكيز لتذكّر المستخدم بدون الاضطرار لتسجيل دخوله في كل مره , حيث تقوم بتخزين كوكيز يحتوي على اسم المستخدم و كلمة المرور , في الحقيقه كلمة المرور هي ما يستهدفها المخترق , حيث يقوم بحقن الصفحه بكود JavaScript من خلال ثغرة الـ XSS , وظيفة هذا الكود استدعاء صفحه من موقع خارجي و تمرير معلومات الكوكيز إلى هذه الصفحه , و بالتالي إرسال معلومات الكوكيز إلى المخترق .


أما كيفية الحماية من هاتين الثغرتين فبسيط جداً , وهي اضافة دالة :

htmlspecialchars ()

وتقوم هذه الدالة بترميز حروف html كالآتي :

'&' (ampersand) becomes '&'
'"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
''' (single quote) becomes ''' only when ENT_QUOTES is set.
'<' (less than) becomes '&lt;'
'>' (greater than) becomes '&gt;'

بالتالي تكون فد حمت برنامجك من مثل هذه أخطار.

للاستفادة أكثر من هذه الدالة يرجى الاطلاع على :

htmlspecialchars()

أتمنى أن يكون الجميع قد استفاد من هذا المقال

وشكرا






التوقيع
من أعمالنا : 1) جزء من النظام لموقع شبكة عين الإسلام www.eyeislam.net
2) نظام كامل لموقع مستشاركم www.mustasharcom.com
3) نظام كامل لمركز المؤتمنون www.mutaman.com

البريد الإلكتروني والماسنجر :