اذهب إلى المحتوى

Ebram Marzouk

الأعضاء
  • المساهمات

    9
  • تاريخ الانضمام

  • تاريخ آخر زيارة

إجابات الأسئلة

  1. إجابة Ebram Marzouk سؤال في ما هي أهم الثغرات التي يجب علي أن أحمي الموقع منها ؟ كانت الإجابة المقبولة   
    هناك العديد من الثغرات التي يجب عليك تهتم بإصلاحها جيدا...
    Cross-Site Scripting (XSS):
    هذه الثغرة تعتبر الاشهر علي الاطلاق، سبب هذه الثغرة هو انك تقوم بطباعة جملة او كلمة من المستخدم بدون تمريرها علي دالة فلترة اولا ثم طباعتها..
    كمثال،محرك بحث .. في هذا المحرك عندما تقوم بالبحث عن كلمة (برمجة) مثلا يقوم الموقع كتابة التالي: نتائج البحث عن كلمة "برمجة" (الكلمة التي ادخلها المستخدم) ثم بعض النتائج عن الكلمة التي بحث عنها المستخدم، لا يوجد اي مشاكل هنا .. ولكن ماذا اذا قام المستخدم بالبحث عن :
    <script>alert("xss");</script>الطبيعي ان يقوم الموقع بإرجاع جملة "نتائج البحث عن كلمةكلمة ]السكربت الخبيث] " .. فيقوم المتصفح بفهم السكربت الخبيث هذا كأنه من ككتابة المبرمج ويقوم بتنفيذ alert("xss"), اذن قمنا بطباعة سكربت خبيث كما نريد وهنا يمكننا عن طريق ارسال رابط خبيث الي الضحية بتنفيذ اي سكربت جافاسكريبت علي المتصفح الخاص به ويمكننا سرقة الكوكيز مثلا او اي شئ.
    لترقيع هذه الثغرة، يجب عليك استخدام دوال مثل htmlspecialchars عندما تقرر طباعة اي جملة من ادخال المستخدم "لا تثق بالمستخدم ابدا".
     
    SQL Injection :
    هذه الثغرة كانت منتشرة بشدة في اغلب الموقع في الفترات السابقة .. تحدث هذه الثغرة عندما تأخذ قيمة من ادخال المستخدم وتدرجها في استعلام MySQL Query،
    مثلا:
    $query = mysql_query("select all from posts where postid=".$_get['postid'])هنا هذا الكود يأخذ قيمة المتغير $_GET['postid'] والتي يتحكم بها المستخدم ويدرجها في استعلام قاعدة البيانات ..
    لكن ماذا سيحدث اذا كانت قيمة postid = 1' مثلا ؟؟
    سيحدث خطأ MySQL ..
    نباستخدام هذه الثغرة .. يمكن للمخترق سحب جميع قواعد البيانات ومحتوياتها 
    لترقيع هذه الثغرة يجب عليك استخدام دالة mysql_real_escape_string  ووتمرر لها المتغير قبل ادراجه في الاستعلام
     
×
×
  • أضف...