ما هي ثغرة XSS وانواعها وطرق حماية تطبيقات الويب منها؟
رابط الكود في الأسفل 👇👇👇👇👇
مرحبا بكم في موقع Droplien في هذا الدرس سنقدم شرح عن ثغرة XSS وعن انواعها وعن كيف يستغل المهاجم هذه الثغرة وبعض الاستغلالات التي يقوم بها المهاجم عن طريق هذه الثغرة وانواعها وطرق حماية تطبيقات الويب من هذه الثغرة وبعض الشركات التي تم اختراقها عن طريق هذه الثغرة .
ما هي ثغرة XSS
ثغرات Cross Site Scripting وتختصر هذه الثغرات بـXSS وهي ثغرات أمنية منتشرة في برامج الويب، وهي ثغرة تسمح للمهاجم بتنفيذ أكواد ببرنامج بلغة JavaScript والتي يقوم المتصفح بتطبيق الكود الذي حقنه المهاجم عندما يتم تحميل الصفحة عند الضحية.
يتم حقن الكود من طرف المهاجم بعدة طرق منها اي هندسة الضحية لضغط على رابط ( ثغرة XSS منعكسة) او ترقب الضحية ليتصفح صفحة في الموقع المحقون بثغرة XSS (XSS مخزن).
يتم حقن الكود من طرف المهاجم بعدة طرق منها اي هندسة الضحية لضغط على رابط ( ثغرة XSS منعكسة) او ترقب الضحية ليتصفح صفحة في الموقع المحقون بثغرة XSS (XSS مخزن).
انواع ثغرات XSS
1. ثغرات XSS الثابتة(مخزنة)
تعتبر ثغرة XSS الثابتة اخطر نوع من ثغرات XSS ، وذلك لان مايدخله المهاجم ثابت بالصفحه، اي مايدخله مثلا يخزن بقاعدة بيانات الموقع حيث عند دخول موضوع يحتوي على امكانية التفاعل بالردود او فيه مدخلات ولم يكون الموقع محمي بالتأكيد سيمكنه من حقن اکواده بسهولة تامة وعند تنفيذ اکواده بعدها اي شخص يقوم بالدخول الى الموضوع المحقون بكود الثغرة سيشاهد اعمال المخترق في الصفحة.
2. ثغرات XSS الغير ثابتة(غير مخزنة)
هي النوع الأكثر أنتشاراً وليس خطير وهي التي تقوم على الادخال الخاص فتكون غير مخزنة في قاعدة البيانات وبذلك اي زائر يدخل للموقع لايشاهد مافعله المخترق لانها لم تخزن الاكواد في الموقع في قاعدة بياناته ويمكن للمخترق مشاركتها مع ضحايا محددين.
3. ثغرات Dom-Based XSS(الغير ثابتة)
وهو شبيه جدا بالنوع الخاص Dom غير أنه يرتكز بالأساس على التحكم في ( ثابته بالصفحة عبر تنفيذ سكريبت مكان إرسال قيمة معينة).
التهديدات: خطورة الثغرة كبيرة جدا في النوع الثابت ، وذلك لانه يمكن للمخترق اولا اختراق زوار الموقع وهذا يعني القدرة على اختراق مدير الموقع وبذلك اختراق Web Server و كذلك تشويه Index او الصفحة الرئيسية للموقع او حتى تغييره بشكل کامل او حذفة بالكامل واخيرا سرقة Cokiees الخاص به.
طريقة استغلال الثغرة: عندما لا يتم فحص مدخلات البرنامج بعناية، مثلا عندما يقوم المستخدم بكتابة اسمه في الموقع ثم يقوم الموقع بإظهار الإسم بدون فحص فماذا سيحدث عندما يتم إدخال إسم مستخدم بلغة برمجة HTML مثلا؟
لن يفرق المتصفح بين إسم المستخدم وبقية كود الصفحة وسيتعامل معه على انه كود في الصفحة مثله مثل باقي السطور أي أنه سيتم تنفيذ الأوامر التي أدخلها المستخدم بدون اي مشكلة!
التهديدات: خطورة الثغرة كبيرة جدا في النوع الثابت ، وذلك لانه يمكن للمخترق اولا اختراق زوار الموقع وهذا يعني القدرة على اختراق مدير الموقع وبذلك اختراق Web Server و كذلك تشويه Index او الصفحة الرئيسية للموقع او حتى تغييره بشكل کامل او حذفة بالكامل واخيرا سرقة Cokiees الخاص به.
طريقة استغلال الثغرة: عندما لا يتم فحص مدخلات البرنامج بعناية، مثلا عندما يقوم المستخدم بكتابة اسمه في الموقع ثم يقوم الموقع بإظهار الإسم بدون فحص فماذا سيحدث عندما يتم إدخال إسم مستخدم بلغة برمجة HTML مثلا؟
لن يفرق المتصفح بين إسم المستخدم وبقية كود الصفحة وسيتعامل معه على انه كود في الصفحة مثله مثل باقي السطور أي أنه سيتم تنفيذ الأوامر التي أدخلها المستخدم بدون اي مشكلة!
الحماية من ثغرة XSS
1. فحص المدخلات: وذلك بتطهير المدخلات من اي كود خبیث
او محاولة لحقن كود في المدخلات.
2. التأكد من الترميز: تأكد بأن ترميز الحروف في الصفحة هو ما يتطلبه (Character Encoding) في حالة الترميز صحیح سيتعرف المتصفح ما اذا كانت الحروف التي يتم عرضها يرمز اليها بشكل معين او لا.
3. تفعيل HTTPonly: هذا سينبه المتصفح لكي لايسمح لكود السكربت بقراءة الـ Cookies وبالتالي منع سرقتها.
او محاولة لحقن كود في المدخلات.
2. التأكد من الترميز: تأكد بأن ترميز الحروف في الصفحة هو ما يتطلبه (Character Encoding) في حالة الترميز صحیح سيتعرف المتصفح ما اذا كانت الحروف التي يتم عرضها يرمز اليها بشكل معين او لا.
3. تفعيل HTTPonly: هذا سينبه المتصفح لكي لايسمح لكود السكربت بقراءة الـ Cookies وبالتالي منع سرقتها.
4. جدار حماية تطبيق الويب WAF : وهو شكل محدد من أشكال جدار حماية التطبيقات الذي يقوم بتصفية ومراقبة ومنع حركة مرور HTTP من وإلى خدمة الويب.
سؤال : هل يستطيع المهاجم قرصنة جهازك ومشاهدة كامرة هاتفك؟ نعم
هل يستطيعون الإستماع للميكروفون؟ نعم
للتعرف على الهجمات المتقدمة من ضمنها ثغرات XSS - قم بزيارة صفحة اداة Beef
هل يستطيعون الإستماع للميكروفون؟ نعم
للتعرف على الهجمات المتقدمة من ضمنها ثغرات XSS - قم بزيارة صفحة اداة Beef
1. موقع مؤسسة اباتشي
وهي شركة تقوم بتطوير خادم الويب الشهير Apache Web Server وتم سرقة مئات الاف اسم مستخدم وكلمات المرور وتم الاختراق من خلال ثغرة XSS صغيرة في موقع المؤسسة ولمعرفة باقي تفاصيل هذا الاختراق من موقع اباتشي الرسمي .
2. موقع توزيعة Ubunto
وذلك كان من نفس الثغرة التي تم اختراق بها موقع مؤسسة اباتشي وادى هذا الاختراق ايضا الى سرقة ما يقارب 1.82 مليون اسم مستخدم وكلمة المرور وتم الاعلان عن هذا الاختراق لكل المستخدمين عبر البريد والتنبيه انه يجب اعتبار حسابك مخترق وتغير كلمة المرور بعد ان استطاعو ارجاع الخوادم واعادة تعين كلمات مرور النظام وقواعد البيانات ولمعرفة باقي تفاصيل هذا الاختراق من موقع اوبينتو الرسمي .
في العادة يتم اكتشاف هذه الثغرات مبكرا من قبل صائدي الثغرات Bug Bounties حيث يتم دفع قيمة مالية والتشهير بمن اكتشف الثغرة.
أين أجد معلومات أكثر عن ثغرات XSS
تستطيع ايجاد معلومات اكثر عن ثغرات XSS عن طريق مشروع امن برامج الويب المفتوح Open Web Application Security Project (OWASP) هو مرجع ممتاز لجميع مواضيع الأمن التي تتعلق ببرامج الويب، قم بزيارة صفحة الويكي بيديا الخاصة بثغرة الـ XSS التي شرحناها هنا او صفحة كيف تحمي نفسك من ثغرات XSS الموجودة على نفس الموقع ولمعلومات أكثر حول أخطر 10 هجمات على تطبيقات الويب قم بزيارة صفحة OWASP Top 10.
وهنا وصلنا لنهاية هذا الدرس شكرا على قراءتكم له ومع السلامة.
👈👈👈click here




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