ما هو الـ WAF

جدار الحماية لتطبيقات الويب (WAF) هو زي الحارس اللي واقف على باب موقعك على الإنترنت، وظيفته إنه يحمي الموقع من الهجمات اللي بتحاول تدخل وتخرب، زي حقن قواعد البيانات (SQL Injection) أو البرمجة النصية عبر المواقع (XSS). الـWAF بيشتغل بين المستخدم وبين السيرفر، وكل طلب أو استجابة بتمر عليه عشان يتأكد إنها آمنة.

الـWAF عنده أدوات كتير بيستخدمها عشان يكتشف الهجمات، زي إنه يشوف التوقيعات (signatures) اللي تدل على وجود هجوم معروف، أو إنه يتابع سلوك الطلبات ويشوف لو فيه حاجة مش طبيعية. ممكن يكون جهاز فعلي، برنامج، أو خدمة سحابية، وده بقى شيء أساسي في الحماية اليومين دول.


2. إزاي تعرف إذا كان في WAF موجود

قبل ما تحاول تخترق أو تعدي جدار الحماية (WAF)، لازم الأول تعرف هو موجود أصلاً ولا لأ، وكمان تعرف نوعه لو موجود. فيه كذا طريقة تقدر تعرف بيها:

  • الهيدرز (Headers) اللي بترجع من السيرفر: كتير من الـWAFs بتحط معلومات في الرد اللي بيرجع من الموقع، زي:
    • لو السيرفر محمي بـ Cloudflare، ممكن تلاقي هيدرز زي CF-RAY و Server: cloudflare.
    • أما لو السيرفر بيستخدم AWS WAF، ممكن تلاقي هيدر اسمه x-amzn-waf-id.
  • رسائل الخطأ: بعض جدران الحماية بتعرض رسائل خطأ لو حاولت تدخل بشكل مريب، زي “403 Forbidden” أو “Request Blocked”.
  • أدوات متخصصة:
    • WAFW00F: أداة مشهورة تقدر تستخدمها عشان تعرف إيه نوع الـWAF الموجود على الموقع.
    • Nmap: أداة مسح شبكات تقدر تساعدك في كشف جدران الحماية باستخدام سكريبتات معينة.

3. الأتمتة

في الحاجات دي، الأتمتة مهمة جدًا عشان تكتشف وتحاول تخترق جدران الحماية. فيه أدوات وسكريبتات كتير بتساعد في الأتمتة، زي:

  • أدوات زي Burp Suite أو OWASP ZAP: ممكن تبرمجها عشان تشتغل لوحدها وتكتشف الحماية وتختبر نقاط الضعف وتحاول تعدي الجدار.
  • الـAPI بتاع الـWAF: بعض جدران الحماية بتوفر واجهات برمجة تقدر تستغلها عشان تتابع التهديدات بشكل تلقائي وتعرف إذا كان فيه فرص لاختراق الجدار.
  • السكريبتات: ممكن تكتب سكريبتات بسيطة بالـPython أو غيره باستخدام مكتبات زي requests أو Selenium عشان تبعت طلبات تلقائية وتجرب تعدي الـWAF.

4. تجاوز الـWAF

تجاوز جدار الحماية مش موضوع سهل، لكنه محتاج تفهم إزاي الجدار ده بيشتغل. فيه كذا حيلة ممكن تجربها عشان تعدي:

  • التحايل على القواعد: الـWAFات بتعتمد على قواعد معينة عشان تكتشف الهجمات، فممكن تغير الطريقة اللي بتبعت بيها الهجوم. زي إنك تكتب كلمات الهجوم بطريقة غريبة، مثلاً بدل ما تكتب UNION SELECT تكتب UniOn SeLeCt.
  • تقطيع الهجوم: ممكن تقسم الهجوم على أجزاء صغيرة عشان الـWAF ما ياخدش باله، زي إنك تشفر البيانات اللي بتبعتها أو تبعت الهجوم على مراحل.
  • تغيير التشفير: أحيانًا تقدر تعدي الـWAF لو غيرت التشفير، زي إنك تبعت الـpayload بتاعك مشفر بـbase64 أو تعمل URL Encoding

5. الإخفاء (Obfuscation)

الإخفاء يعني إنك تغير شكل الهجوم بحيث ما يتعرفش عليه الـWAF. فيه أكتر من طريقة ممكن تعمل بيها كده:

  • تغيير التشفير: زي ما قلنا قبل كده، ممكن تشفر البيانات بتاعتك باستخدام أكواد زي Base64 أو URL Encoding.
  • إضافة تعليقات: ممكن تضيف تعليقات جوه الهجوم بحيث تشتت انتباه الـWAF، زي إنك تكتب SELECT/*comment*/password/*comment*/FROM.
  • تغيير ترتيب البيانات: بدل ما تبعت الهجوم زي ما هو، غير ترتيب الحاجات اللي فيه بحيث الـWAF ما يعرفش يتعرف عليه.

6. المراجع والقراءة

لو عايز تقرا أكتر عن الموضوع، دي بعض المصادر اللي ممكن تفيدك:

  • OWASP WAF Bypass Cheat Sheet: دليل من OWASP يشرح تقنيات تجاوز جدران الحماية.
  • Web Hacking 101: كتاب حلو فيه أمثلة عن اختراق المواقع وحماية التطبيقات.
  • WAF Testing Guide: دليل مختص في اختبار جدران الحماية.

مصادر تانية:

  • Burp Suite Documentation: دليل مفصل لاستخدام Burp Suite في اختبار جدران الحماية.
  • Nmap Scripting Engine (NSE): دليل استخدام Nmap لاكتشاف جدران الحماية
  • ————————————————————————————————

مقالات ذات صلة

الردود