- بواسطة x32x01 ||
كتير من المبتدئين بيخلطوا بين XSS و CSRF، خصوصًا إن الاتنين ليهم علاقة بالمتصفح 🌐
بس الحقيقة إن الفكرة مختلفة تمامًا، وكل واحد ليه أسلوب وتأثير مختلف 🔍
يشغّل JavaScript جوه صفحة من صفحات الموقع نفسه 🧠
لو الكود ده اتعرض من غير ترميز يبقى الموقع عنده XSS ❌
وافتكر دايمًا:
بس الحقيقة إن الفكرة مختلفة تمامًا، وكل واحد ليه أسلوب وتأثير مختلف 🔍
ما هي ثغرة XSS (Cross-Site Scripting)؟ 🤔
XSS هي ثغرة بتسمح للمهاجم إنه:يشغّل JavaScript جوه صفحة من صفحات الموقع نفسه 🧠
XSS بتحصل فين وإزاي؟ ⚙️
بتظهر لما الموقع:- يعرض مدخلات المستخدم
- من غير Output Encoding صح
- التعليقات 💬
- البحث 🔎
- البروفايل 👤
XSS بتعمل إيه؟ 💥
لما الكود يشتغل جوه المتصفح، يقدر:- ينفذ أفعال باسم المستخدم
- يقرأ أو يعدّل DOM
- يسرّب بيانات ظاهرة للمستخدم
مثال XSS بسيط 🧪
HTML:
<script>alert('XSS')</script> ما هو هجوم CSRF (Cross-Site Request Forgery)؟ 🤔
CSRF هو هجوم بيجبر الضحية وهو مسجّل دخول يبعت طلب للموقع من غير ما ياخد باله 😬CSRF بينجح ليه؟ 🧠
لأن المتصفح:- بيبعت Cookies / Session تلقائيًا
- مع أي طلب للموقع الهدف
CSRF بيحقق إيه؟ 💣
تنفيذ أفعال باسم الضحية زي:- تغيير الإيميل 📧
- تعديل إعدادات الحساب ⚙️
- شراء / حذف / تحويل 💳
الفرق بين XSS و CSRF في سطر واحد 🔍
- XSS ➜ تشغيل كود داخل المتصفح (Code Execution)
- CSRF ➜ تزوير طلب باسم مستخدم موثّق (Request Forgery)
مقارنة سريعة بين XSS و CSRF 📊
| المقارنة | XSS | CSRF |
|---|---|---|
| نوع الهجوم | تشغيل كود | تزوير طلب |
| مكان التنفيذ | داخل الصفحة | خارج الموقع |
| يعتمد على Cookies | لا | نعم |
| قراءة الرد | ممكن | غالبًا لا |
إزاي نحمي نفسنا من XSS؟ 🛡️
- Output Encoding حسب السياق
- HTML
- Attribute
- JavaScript
- Sanitization للمحتوى الغني
- تفعيل Content Security Policy (CSP)
إزاي نحمي نفسنا من CSRF؟ 🛡️
- استخدام CSRF Token والتحقق منه
- تفعيل SameSite Cookies
- التحقق من Origin / Referer للطلبات الحساسة
الخلاصة 🎯
لو فاهم الفرق بين XSS و CSRF إنت كده قطعت خطوة كبيرة في طريق Web Security 🔐وافتكر دايمًا:
- XSS = كود اشتغل جوه الصفحة
- CSRF = طلب اتبعت باسمك