- بواسطة x32x01 ||
كتير من المبتدئين بيخلطوا بين XSS و CSRF، خصوصًا إن الاتنين ليهم علاقة بالمتصفح 
بس الحقيقة إن الفكرة مختلفة تمامًا، وكل واحد ليه أسلوب وتأثير مختلف
ما هي ثغرة XSS (Cross-Site Scripting)؟
XSS هي ثغرة بتسمح للمهاجم إنه:
يشغّل JavaScript جوه صفحة من صفحات الموقع نفسه
XSS بتحصل فين وإزاي؟
بتظهر لما الموقع:
XSS بتعمل إيه؟
لما الكود يشتغل جوه المتصفح، يقدر:
كل ده بيحصل من داخل الصفحة نفسها
مثال XSS بسيط
لو الكود ده اتعرض من غير ترميز يبقى الموقع عنده XSS 
ما هو هجوم CSRF (Cross-Site Request Forgery)؟
CSRF هو هجوم بيجبر الضحية وهو مسجّل دخول يبعت طلب للموقع من غير ما ياخد باله 
CSRF بينجح ليه؟
لأن المتصفح:

CSRF بيحقق إيه؟
تنفيذ أفعال باسم الضحية زي:
ملحوظة مهمة: CSRF غالبًا ينفّذ الفعل لكن مش شرط يقدر يقرأ رد السيرفر
الفرق بين XSS و CSRF في سطر واحد
مقارنة سريعة بين XSS و CSRF
إزاي نحمي نفسنا من XSS؟
إزاي نحمي نفسنا من CSRF؟
الخلاصة
لو فاهم الفرق بين XSS و CSRF إنت كده قطعت خطوة كبيرة في طريق Web Security 
وافتكر دايمًا:
بس الحقيقة إن الفكرة مختلفة تمامًا، وكل واحد ليه أسلوب وتأثير مختلف
ما هي ثغرة 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 = طلب اتبعت باسمك