النتائج 1 إلى 12 من 12

الموضوع: [ ســـلســـة الأمــــــان ] ( 1 )

  1. #1
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576

    [ ســـلســـة الأمــــــان ] ( 1 )



    بسم الله الرحمن الرحيم

    الأمان في البرمجة هو منطقة حرجة جدا وفي نفس الوقت اجدها ممتعة .. فأثناء برمجتك للبرنامج تضع جميع الاحتمالات الممكنة ، ثم تبدأ لتبتكر احتمالات غير ممكنة وتقوم بتأمينها !

    ولحبي لهذه النقطة .. احببت ان اضع مثل سلسلة مطولة بعض الاشياء عن الامان في لغة ال php ، وستشمل السلسلة :
    1- SQL Injuction
    2- XSS Scripting and Variables validation
    3- Validation of : forms - cookies - address bar
    4- استدعاء الملفات
    5- المتغيرات وتعاملها مع ال address bar
    6- الاستضافة المشتركة - Shared host
    7- حماية السيرفر
    8- الـ Debugging

    قبل البدأ احببت طرح هذه المقدمة في مجموعة نقاط :
    - لا تثق ابدا باي مدخل من الزائر او اي متغير يظهر للزائر في الادريس بار
    - لا تقدم حسن النية ، بل دوما تعامل مع الزائر على اساس انه مخرب
    - تذكر دوما لو قام احد واستطاع تخريب برنامجك او اختراق الموقع الذي تعمل عليه .. فماذا سيكون موقفك كمبرمج مالي مركزه ؟

    وسنبدأ باولى النقاط ( SQL Injuction ) :
    حسنا ، حقيقة .. طالما دخلت على مقالات الامان والسيكيورتي .. واول ما اقرأ دوما .. كان ال SQL Injuction ، لا ادري ما ترجمته العربية بالضبط .. ولكن نستطيع القول انه " التعديل على الاستعلام الخاص بك وبالتالي الوصول إلى اي شيء في قاعدة البيانات " .. وبعد من الكثير من التجارب استطعت ان اقوم بالثغرة اخيرا وتجربتها !!

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

    كان البرنامج عبارة عن فورم لتسجيل الدخول وكان الاستعلام المبسط :
    كود PHP:
    select id from users where username='$_POST[username]' AND password='$_POST[password]' 
    وماكان مني إلا ان اضفت الجملة هذه في مكان اليوزر نيم في الفورم :

    كود PHP:
    OR 1=
    وفي مكان الباسوورد ايضا .. ودخل ! بدون اي شيء .. وكنت في قمة سعادتي
    لأني باختصار .. كنت اسمع الكثير جدا يحذر من تلك النقطة .. وانا شخصيا لم حتى استطع ان اراها بعيني مرة واحدة .. وكان لي شرف التجربة تلك المرة
    ولأني مقتنع بانه لا سبيل لتعلم الوقاية .. بدون تعلم الهجوم .. فقد وضعت المثال هذا .. لمن اراد

    + طرق استعمال الInjuction :
    - من خلال الادريس بار: ومن اشهر الامور هنا
    * اعادة ترتيب المواد بحسب كذا او كذا او كذا .. ومن المعروف ان هذه العملية تتم دوما في الادريس بار وامام المتصفح + الترتيب تنازليا او تصاعديا
    * البحث في الموقع فغالبا يكون البحث عن طريق فورم من نوع GET
    * الايديهات .. وان كانت هذه النقطة ضعيفة نسبيا .. ولكن منتشرة جدا جدا .. فلكل قسم لديك مثلا يجب ان تجد الآي دي الخاص به فوق + كل مادة + كل صفحة
    * تعدد الصفحات

    - من خلال الفورمز :
    * ومن اهمها فورمز تسجيل الدخول والبحث ايضا
    * التسجيل والاتصال بنا

    - من خلال الكوكيز :
    * لا تثق ابدا في اي متغير تجلبه من الكوكيز من جهاز العضو مباشرة .. يجب ان تقوم بعملية validation اولا

    + كل هذا جميل .. ولكن .. طرق الوقاية ؟
    هناك الكثير .. ممكن يقومون باستخدام عدة فنكشز متتالية .. واحيانا انشاء فنكشن خاصة بهم للقيام بمعالجة النص المراد بشكل شامل ..
    ولكن شخصيا ارى ان ال php اتاحت كل هذا لك .. بالنسبة لهذه النقطة فقط طبعا .. وهي التأكد من سلامة المتغير ليكون جزء من استعلام بشكل امن ..

    كود PHP:
    mysql_escape_string($variable) ; 
    بهذه الفنكشن السحرية تمنع عنك اي وجع دماغ .. باختصار اريدك فقط ان تفكر مع نفسك لثانيتين عند كتابتك لأي استعلام لقاعدة البيانات .. هل هذا الاستعلام يستخدم متغيرات ؟ هل هي مؤمّنة ؟ ليست مؤمّنة ؟ إذن حان الوقت لاستعمال الفنكشن السحرية .. وانتهى الامر

    ملحوظة أخيرة :
    لو افترضنا انك بذلت ما بوسعك .. وحدثت سهوة بسيطة .. ومن خلالها استطاع ان يجد ثغرة ما في احدى استعلاماتك .. فلا يمكنه ان يقوم بالاستفادة من هذه الثغرة إلا في حالة واحدة ، وهيمعرفة اسماء الحقول او عددها على الاقل في الجدول الذي يريد الحصول على بيانات منه .. وهذه هو الشرط الوحيد لتنفيذ عبارة ( Join ) التي ستتيح له الاستعلام لجدول آخر غير الذي في الاستعلام ..


    وهذه النقطة التي سيتم مناقشتها في النقطة الاخيرة .. الـ Debugging


    تحياتي
    موضوع في المدونة
    http://www.itboys.ws





    __________________
    SWF Thumbnail - tweet me


  2. #2


    يعطيك العافية اخوي Egyptechno

    مقاله جميلة وننتظر منك السلاسل الأخرى

    واشكرك على مدونتك الجميلة ..





    __________________
    سبحان الله وبحمدة ، سبحان الله العظيم

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    746


    جميل جداً.. جزاك الله ألف خير






  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Jun 2005
    المشاركات
    521


    مقال شيق ومميز

    ننتظر الجديد

    والبقية في حياتك

    مع السلامة





    __________________
    ميكانيكــي منتديــات
    سمكــري تصاميـــــم
    عسكـــري مواقــــــع

    لا حول ولا قوة إلا بالله
    لا إله إلا انت سبحانك إني كنت من الظالمين

  5. #5
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


    بسم الله الرحمن الرحيم...
    درس مختصر ومفيد
    شكرا لك

    تحياتي






  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    790


    شكراً يا أحمد على المقالة
    و ننتظر جديدك و بقية السلسة






  7. #7
    عضو نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    291


    مقالة رائعة يا أحمد , و أسلوب شرح سلس

    انتظر مناقشة هذه النقاط بفارغ الصبر

    6- الاستضافة المشتركة - Shared host
    7- حماية السيرفر
    8- الـ Debugging






  8. #8
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    شكرا لكل من قام بالرد


    إن شاء الله سيتم تتابع السلسة .. وهي تقريبا جاهزة ولكن .. يجب ان تكون فترة زمنية لا بأس بها بين كل مقال


    كولمبو .. إن شاء الله .. بس تابع انت


    تحياتي





    __________________
    SWF Thumbnail - tweet me

  9. #9

    تاريخ التسجيل
    Sep 2004
    المشاركات
    1,402


    باشا احمد,

    سلسله جميلة ولكن لم استفد منها مباشرة, بس كلي امل ان نرى مثل هذي المواضيع المفيده تنشر ويتبادل المبرمجين خبراتهم ليعم الآمان على مواقع العملاء .


    على فكره مادري ليش اتضايق كل ماشوف ابتسامات الموضوع الي حاطنها, هو احسن شيء اني ماشوف الموضوع الا وانت ماتكون في المسنجر ههه ولا تشاجرت معاك!

    لك مني اطيب تحيه,
    ابو مايد






  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    715


    جميله جدا
    وياريت تستفيط بينا اكثر في المواضيع دي وشكرا لك






  11. #11
    فضلاً اكتب اسمك الحقيقي هنا
    زائرالجمال


    مشكور على هذا الدرس القيم ونتظر المزيد






  12. #12


    موضوع ذو صلة وثيقه و بشكل مفصل :

    http://www.devhall.com/articles/23/1/










المواضيع المتشابهه

ضوابط المشاركة

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض