هشام رزق الله نشر 13 سبتمبر 2015 أرسل تقرير نشر 13 سبتمبر 2015 كمبرمج مواقع ويب (استخدم غالبا PHP)، ماهي أهم الثغرات التي يجب أن أحمي الموقع منها عند برمجتي ؟ وكيف أقوم بذلك ؟ اقتباس
1 Ebram Marzouk نشر 13 سبتمبر 2015 أرسل تقرير نشر 13 سبتمبر 2015 هناك العديد من الثغرات التي يجب عليك تهتم بإصلاحها جيدا...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 ووتمرر لها المتغير قبل ادراجه في الاستعلام اقتباس
السؤال
هشام رزق الله
كمبرمج مواقع ويب (استخدم غالبا PHP)، ماهي أهم الثغرات التي يجب أن أحمي الموقع منها عند برمجتي ؟ وكيف أقوم بذلك ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.