في عالم الأمن السيبراني، ثغرات SSTI (Server-Side Template Injection)، SSRF (Server-Side Request Forgery)، وCSRF (Cross-Site Request Forgery) من أخطر الثغرات اللي بتواجه تطبيقات الويب. البوست ده هيشرح كل ثغرة بالتفصيل، مع أمثلة عملية، والفرق بينهم، ونصايح للحماية. 🚀
1. SSTI (Server-Side Template Injection) 🤖
SSTI هي ثغرة تحصل لما المهاجم يقدر يحقن كود أو سكريبت في قالب (Template) بيتشغل على السيرفر. الثغرة دي بتسمح بتنفيذ أوامر خبيثة أو الوصول لبيانات حساسة.
إزاي بتحصل؟
التطبيق بيستخدم قوالب (زي Jinja2 أو Twig) لعرض بيانات المستخدم دون تنقية (Sanitization) كافية.
المهاجم بيحقن تعليمات قالب خبيثة في مدخلات المستخدم.
مثال: لو التطبيق بيعرض اسم المستخدم في قالب زي {{user.name}}، المهاجم ممكن يحقن {{user.sensitiveData}} عشان يسرّب بيانات.
مثال عملي
رابط التطبيق:
Code:
example.com/image?user={{user.name}}
الهجوم: المهاجم بيدخّل
Code:
{{user.sensitiveData}}
أو
Code:
{{7*7}}
لاختبار الثغرة.
النتيجة: لو التطبيق عرض 49 أو بيانات حساسة (زي كلمة السر)، يبقى فيه ثغرة SSTI.
تأثير أخطر: تنفيذ أوامر مثل
Code:
{{os.system('whoami')}}
لتشغيل أوامر على السيرفر.
الآثار السلبية
تسريب بيانات حساسة (زي كلمات السر أو مفاتيح API).
تنفيذ كود خبيث على السيرفر (زي فتح reverse shell).
تعطيل التطبيق أو السيطرة الكاملة على السيرفر.
2. SSRF (Server-Side Request Forgery) 🌐
SSRF هي ثغرة بتخلّي المهاجم يجبر السيرفر على إرسال طلبات شبكة غير مصرح بها، سواء لموارد داخلية (زي localhost) أو خارجية.
إزاي بتحصل؟
التطبيق بيسمح للمستخدم بإدخال روابط URL (زي رابط صورة أو API) بدون التحقق منها.
المهاجم بيستغل ده عشان يخلّي السيرفر يبعت طلبات لموارد غير مسموح بيها.
مثال: لو التطبيق بيجيب صورة من
Code:
http://example.com/fetch?url=EXTERNAL_URL
، المهاجم بيدخّل
Code:
http://localhost/admin
.
مثال عملي
رابط التطبيق:
Code:
example.com/download?url=http://external.com
الهجوم: المهاجم بيدخّل
Code:
http://localhost:8080/admin
أو
Code:
http://10.0.0.1
.
النتيجة: السيرفر بيبعت طلب للمورد الداخلي، فيسمح للمهاجم بالوصول للوحة إدارية أو بيانات حساسة.
الآثار السلبية
الوصول لموارد الشبكة الداخلية (زي قواعد بيانات أو سيرفرات إدارية).
تنفيذ هجمات إضافية زي Denial of Service (DoS).
تسريب بيانات حساسة أو اختراق الشبكة الداخلية.
3. CSRF (Cross-Site Request Forgery) 🔗
CSRF هي ثغرة بتخلّي المهاجم يجبر المستخدم على تنفيذ أوامر غير مقصودة على تطبيق ويب ليه فيه جلسة نشطة (يعني مسجّل دخوله).
إزاي بتحصل؟
المهاجم بيخدّع المستخدم عشان ينقر على رابط أو يزور صفحة خبيثة.
الرابط أو الصفحة بيبعت طلبات تلقائية (زي POST أو GET) باستخدام بيانات جلسة المستخدم.
مثال: تغيير كلمة سر المستخدم بدون علمه لو كان مسجّل دخوله.
مثال عملي
رابط التطبيق:
Code:
example.com/changePassword?newpass=123
الهجوم: المهاجم بيعمل صفحة خبيثة فيها رابط أو نموذج زي:
SSTI، SSRF، وCSRF من أخطر ثغرات تطبيقات الويب، وكل واحدة ليها تأثيرها الخاص. لو عايز تبقى هاكر أخلاقي، اتعلم إزاي تكتشف وتحمي من الثغرات دي في بيئة آمنة زي Kali Linux. تابع منتديات اكتب كود لشروحات جديدة عن Cybersecurity وPenetration Testing كل أسبوع! 😊 لو استفدت، شارك البوست مع أصحابك، ولو عندك أسئلة، اكتبها في التعليقات! 🌟