01مفاهيم الـ Web Applications وWeb Services

كيف تعمل الـ Web Applications؟

الـ Web Application توفّر واجهة بين المستخدمين ونهائيين والـ Web Servers عبر صفحات ويب يُولَّد بعضها من السيرفر أو تحتوي كودًا ينفَّذ ديناميكيًا داخل متصفح العميل. وظيفتها الأساسية جلب البيانات المطلوبة من قاعدة البيانات وعرضها.

الطبقةالوصف
Client / Presentation Layerالطبقة التي يتعامل معها المستخدم مباشرةً (المتصفح والواجهة)
Business Logic Layerتحتوي قواعد العمل والمعالجة — مكتوبة بلغات مثل .NET وJava
Database Layerتُخزِّن البيانات الحسّاسة (IDs وكلمات المرور وبيانات العملاء)

بنية الـ Web Service

الـ Web Service تطبيق مُنشَر على الإنترنت يستخدم بروتوكول رسائل قياسي (مثل SOAP) لتمكين التواصل بين تطبيقات مبنية على منصّات مختلفة. تتفاعل عبر SOAP وUDDI وWSDL وREST.

الدور / المكوّنالشرح
Service Providerالمنصّة التي تُقدِّم الخدمة
Service Requesterالتطبيق أو العميل الباحث عن خدمة — المتصفح عادةً
Service Registryالمكان الذي يُحمِّل فيه المزوّد توصيف الخدمة — يُستخدَم للاكتشاف والربط
Serviceوحدة برمجية يُقدِّمها المزوّد — تتواصل مع الطالبين وقد تستدعي خدمات أخرى
Service Descriptionتوصيف الواجهة والتنفيذ — يحتوي كل العمليات والمواقع والبيانات والأنواع
UDDIUniversal Description, Discovery, and Integration — دليل يُدرِج الخدمات المتاحة
WSDLWeb Services Description Language — XML لوصف وتتبّع Web Services
WS-Securityامتداد لـ SOAP يحافظ على سلامة وسرية رسائل SOAP ويُصادِق المستخدمين
النوعالفلسفة
SOAPبروتوكول يعتمد XML لتبادل البيانات ويدعم التشفير والأمان المدمَج
RESTfulأسلوب معماري يستخدم مفاهيم HTTP — أكثر مرونةً وأقل تعقيدًا من SOAP

Vulnerability Stack — طبقات الضعف

الطبقةالمكوّنالثغرة المحتملة
7 (Application)Custom Web Applications (.NET, Java)منطق أعمال ضعيف — هجمات XSS وInput Validation
6 (3rd Party)مكوّنات خارجية (Citrix, Amazon)اختراق مزوّد خارجي يؤثر على الموقع الرئيسي
5 (Web Server)Apache, IIS, NginxBanner Grabbing، ثغرات معروفة في إصدار السيرفر
4 (Database)MySQL, MSSQL, OracleSQL Injection بأدوات مثل sqlmap
3 (OS)Windows, Linuxفحص البورتات، Malware عبر بورتات مفتوحة
2 (Network)Routers / SwitchesMAC Flooding يحوّل Switch لـ Hub ← Sniffing

02هجمات الـ Web Applications (التهديدات)

قائمة هجمات الـ Web Application

Web-based Timing Attacks

النوعالشرح
Direct Timing Attackقياس الوقت التقريبي لمعالجة السيرفر لطلب POST لاستنتاج وجود اسم مستخدم
Cross-site Timing Attackإرسال حزم طلب مصمَّمة للموقع عبر JavaScript لقياس وقت الاستجابة
Browser-based Timing Attackاستغلال التسرّبات الجانبية في المتصفح لتقدير وقت معالجة الموارد — مثل Cache Storage Timing Attack لقياس حجم الاستجابة من وقت تحميل القرص

XML External Entity (XXE) Attack

هجوم SSRF يحدث لما محلّل XML بإعدادات خاطئة يسمح بمعالجة إدخال XML من مصدر غير موثوق. المهاجم يُضمِّن إشارةً لكيان خارجي في الإدخال الخبيث، فبعد معالجته يقدر يصل لملفات وخدمات محميّة من السيرفرات أو الشبكات المتصلة.

Unvalidated Redirects and Forwards

النوعالأثر
Unsafe Redirectsتنصيب Malware أو خداع الضحايا للكشف عن كلمات مرور ومعلومات حسّاسة
Unsafe Forwardsتجاوز Access Control → Session Fixation أو Security Management Exploits أو Failure to Restrict URL Access
نوع الـ Redirectionالشرح
Open Redirectionثغرة تسمح بإضافة Parameters للـ URL لتحويل المستخدمين من مواقع موثوقة لمواقع خبيثة — Credential Sniffing وXSS
Header-Based Open Redirectionتعديل HTTP Location Header لتحويل المستخدم لصفحة خبيثة بدون علمه
JavaScript-Based Open Redirectionحقن JavaScript في استجابة صفحة ويب — يُستخدَم كثيرًا في التصيّد

Magecart Attack وWatering Hole Attack

الهجومالآلية
Magecart (Web Skimming)حقن كود خبيث في موقع تجارة إلكتروني لجمع بيانات بطاقات الائتمان — يستهدف مواقع بإضافات أو برمجيات قديمة
Watering Hole Attackتحديد المواقع التي يزورها الهدف ← اختبار ثغراتها ← حقن كود خبيث يُعيد توجيه الصفحة أو يُحمِّل Malware. يُسمّى "Watering Hole" لأن المهاجم ينتظر الضحية تقع في الفخ

CSRF وCookie/Session Poisoning

الهجومالآلية
CSRF (One-Click / Session Riding)استغلال ثغرات صفحة ويب لإجبار متصفح المستخدم على إرسال طلبات خبيثة — الضحية عنده جلسة نشطة مع موقع موثوق ويزور موقعًا خبيثًا يحقن HTTP Request للموقع الموثوق في جلسته
Cookie Poisoningتعديل محتوى الـ Cookie على جهة العميل قبل إرسال الطلب للسيرفر — يسمح بالتلاعب بالـ Session State وUser ID وبيانات هوية أخرى. Cookie تُعدَّل بـ JavaScript أو Proxy

Insecure Deserialization

الـ Serialization يحوّل كائنات البيانات لتنسيق خطي للنقل. المهاجم يحقن كودًا خبيثًا في البيانات المُسلسَلة ويُرسِلها للضحية. عند إلغاء التسلسل (Deserialization) يُنفَّذ الكود الخبيث المحقون ويخترق النظام أو الشبكة.

Web Service Attacks

الهجومالشرح
Web Service Footprintingاستخدام Universal Business Registry (UBR) — سجل عام يعمل بـ UDDI وSOAP — لجمع معلومات عن الـ Web Services (مشابه لـ Whois)
XML Poisoningحقن كود XML خبيث في طلبات SOAP لتلاعب في عقد XML أو تسميم مخطّط XML — يُولِّد أخطاء في منطق تحليل XML ويُعطِّل منطق التنفيذ. يؤدّي لـ DoS أو كشف معلومات سرية
SOAPAction Spoofingالتلاعب في عملية SOAPAction Header دون الحاجة لـ XML Parsing — أداة WS-Attacker
WS-Address Spoofingإرسال رسالة SOAP تحتوي بيانات WS-Address مزوَّرة — Header ReplyTo يحتوي عنوان المهاجم بدل عنوان العميل
XML Poisoning مقابل SQL Injection

XML Poisoning مشابه لـ SQL Injection لكن بمعدّل نجاح أعلى في بيئة Web Service. المهاجم يسمِّم حركة البيانات بين السيرفر والمتصفح بإنشاء مستندات XML خبيثة تُغيِّر آليات التحليل مثل SAX وDOM.

DNS Rebinding Attack

تجاوز قيود Same-Origin Policy بتقنية DNS Rebinding — المهاجم ينشئ موقعًا خبيثًا ويسجّل دومينه مع سيرفر DNS يتحكّم فيه، ويضبط استجابات DNS بقيم TTL قصيرة جدًا لتجنّب الـ Caching. هذا يُتيح للموقع الخبيث التواصل وإرسال طلبات عشوائية للدومينات المحلية.

Clickjacking Attack

المهاجم يخدع الضحية للنقر على عنصر ويب خبيث مُوضَع بشكل شفّاف فوق صفحة موثوقة. هو مجموعة متنوّعة من تقنيات UI Redress Attacks — يستغل ثغرات HTML iframes أو الإعداد الخاطئ لـ X-Frame-Options Header.

MarioNet Attack

هجوم مبني على المتصفح يُشغِّل كودًا خبيثًا داخله — العدوى تستمرّ حتى بعد إغلاق صفحة الاختراق أو التصفّح بعيدًا عنها. المهاجم يُسجِّل ويُفعِّل Service Worker API عبر موقع يتحكّم فيه. عند تصفّح الضحية للموقع، يتفعّل Service Worker تلقائيًا ويشتغل بصمت في الخلفية. يُستخدَم لإنشاء Botnet وشنّ هجمات مثل Cryptojacking وDDoS وClick Fraud وكسر كلمات المرور الموزَّع.

هجمات أخرى

الهجومالشرح
Cookie Snoopingتحليل عادات تصفّح الضحية وبيع المعلومات لمهاجمين آخرين أو استخدامها لشنّ هجمات
RC4 NOMORE Attackهجوم على RC4 Stream Cipher يستغل ثغرات في السيرفر لفكّ تشفير Web Cookies المحميّة بـ HTTPS وحقن حزم عشوائية
Buffer Overflowالفشل في حماية الـ Buffer والسماح بالكتابة خارج حجمه الأقصى
CAPTCHA Attacksاستهداف الاختبارات التحقّقية لتجاوزها رغم تصميمها كمقاومة للآلات
DoSتقليل أو تقييد أو منع وصول المستخدمين الشرعيين لموارد النظام
DMZ Protocol Attacksاختراق نظام يسمح بالوصول لبروتوكولات DMZ أخرى يُعطي وصولًا للأنظمة الداخلية

03منهجية اختراق الـ Web Application

منهجية الاختراق الكاملة تمرّ بـ 13 مرحلة:

1 — Footprint Web Infrastructure

المهمّةالأدوات / التقنية
Server Discovery (Whois & DNS)Netcraft، Whois Lookup، Batch IP Converter — DNSRecon، DNS Records، Domain Dossier، DNSdumpster
Port & Service DiscoveryNmap، NetScanTools Pro، Advanced Port Scanner، Open Port Scanner
Detect WAF & ProxiesWAFW00F (يكشف WAF بالكوكيز والـ Response Codes والـ Drop Action)، WhatWaf، Nmap — HTTP/1.1 TRACE للكشف عن الـ Proxy
Hidden Content DiscoveryWeb Spidering بـ OWASP ZAP وBurp Suite وWebScarab — User-Directed Spidering (مراقبة حركة الموقع)
Load Balancer Detectiondig، lbd (load balancing detector) — يحلّل الفروق في Server: وDate: Headers
Web App TechnologiesWappalyzer، BuiltWith — CMS وPlatforms وPayment Processors
WebSockets EnumerationSTEWS: python3 STEWS-fingerprint.py -1 -k -u <Target URL>
أهمية Footprinting

Footprinting هي الخطوة الأولى وتُتيح: Server Discovery، Service Discovery، Server Identification (Banner Grabbing)، WAF & Proxy Detection، Hidden Content Discovery، Load Balancer Detection، Web App Technologies Detection، وWebSocket Enumeration.

2 — Analyze Web Applications

التقنيةالهدف
Website Mirroringتحميل الموقع كاملًا للتصفّح Offline وفهم البنية — HTTrack، Cyotek WebCopy
Server-Side Technologiesفحص امتدادات الـ URLs والـ Error Messages والـ Session Tokens (JSESSIONID=Java، ASPSESSIONID=IIS، PHPSESSID=PHP) بأدوات httprint وWhatWeb
Extracting Website LinksOctoparse لاستخراج النصوص والروابط وURLs الـ JS وCSS
Wordlist Gatheringجمع كلمات من الموقع وعناوين البريد الإلكتروني لاستخدامها في هجمات لاحقة
Metadata Extractionاستخراج Metadata من مستندات PDF وWord للحصول على عنوان الصفحة والكلمات المفتاحية
Monitoring Changesمراقبة تحديثات الموقع لاكتشاف تغييرات في صفحات الدخول أو إصدارات البرمجيات
Directory EnumerationGobuster (Go-based Directory Scanner)، GNU Wget

3 — Bypass Client-Side Controls

Attack Hidden Form Fields

تطبيقات e-Commerce تستخدم Hidden HTML Form Fields لتخزين الأسعار. المهاجم يحفظ الـ Source Code، يحدّد الحقل المخفي، يعدّل قيمة السعر (حتى قيم سالبة لاسترداد المبلغ)، ثم يُعيد التحميل. يُستخدَم Burp Suite لاعتراض الطلب وتعديله.

4 — Attack Authentication Mechanisms

الهجومالتقنية
Username Enumerationرسائل خطأ مفصَّلة، أسماء مستخدمين متوقَّعة
Cookie ExploitationCookie Poisoning، Cookie Sniffing، Cookie Replay
Password AttacksPassword Guessing، Brute-force، Dictionary Attack، هجمات Password Reset
Session AttacksSession Prediction، Session Brute-forcing، Session Poisoning
Bypass SSO (SAML)SAML Messages مشفَّرة بـ Base64 قابلة للفكّ — أداة SAML Raider
Bypass Rate Limitتجربة إصدارات مختلفة للـ Endpoints، إضافة Blank Characters مثل %00، تعديل Headers مثل X-Forwarded-For
Bypass MFAاستغلال ثغرات في تنفيذ التحقّق الثنائي

هجوم Password Reset Poisoning

1
جمع معلومات الهدف

المهاجم يحصل على عنوان البريد الإلكتروني للهدف بالـ OSINT والهندسة الاجتماعية.

2
تعديل Host Header

إرسال طلب إعادة تعيين كلمة المرور بـ Host Header معدَّل — السيرفر يُنشئ رابط إعادة التعيين بناءً على الـ Host Header. مثال: Host: badhost.com فيُنشَأ رابط https://badhost.com/reset-password.php?token=87654321

3
انتظار الضحية

المهاجم ينتظر الضحية تضغط الرابط الخبيث في البريد.

4
سرقة الـ Token

بعد الضغط على الرابط، المهاجم يستخرج Password Reset Token وينفّذ أنشطة خبيثة.

5 — Attack Authorization Schemes

6 — Attack Access Controls

أسلوب الهجومالشرح
Parameter-Based Access Controlالـ Access يُحدَّد بناءً على Cookies أو Query String Parameters — المهاجم يحدّد بارامترات الـ Admin ويضيفها لطلباته
Referer-Based Access Controlالـ HTTP Referer عدم الموثوقية — المهاجم يتلاعب فيه لأي قيمة
Location-Based Access Controlتحديد الموقع الجغرافي عبر IP Address — المهاجم يتجاوزه بـ VPN أو Proxy
Attack with Different AccountsBurp Suite لمقارنة سياقين مختلفين — Broken Access Control يسمح بوصول عير مصرَّح
Attack Static Resourcesطلب مباشر لـ URLs المحمية للتحقّق من منح وصول للمستخدمين غير المصرَّح لهم
Attack Direct Access to Methodsاستغلال ضعف Access Control في Direct Access Methods للـ Server-Side APIs
Attack HTTP Methodsاختبار GET وPOST وPUT وDELETE وTRACE وOPTIONS — تعديل HTTP Methods لتجاوز Access Controls

7 — Attack Session Management

المرحلةالشرح
Session Token Predictionالمهاجم يلاحظ نمطًا حتميًا بين Session IDs — يحصل على IDs السابق والتالي وينتحل هوية المستخدم
Session Token Tamperingبعد الحصول على IDs يتلاعب ببيانات الجلسة
MITMاعتراض الاتصال وتقسيمه لـ Client-Attacker وAttacker-Server
Session Hijackingسرقة User Session ID من موقع موثوق
Session Replayالحصول على Session ID وإعادة استخدامه للوصول للحساب

8 — Perform Injection/Input Validation Attacks

نوع الـ Injectionالشرح
Web Scripts Injectionلو الإدخال يُستخدَم في كود يُنفَّذ ديناميكيًا، إدخال مُصمَّم يكسر السياق المقصود وينفّذ أوامر على السيرفر
OS Command Injectionحقن كود خبيث في حقول الإدخال عندما التطبيق يستخدم المدخل في أمر على مستوى النظام
SMTP Injectionحقن أوامر SMTP عشوائية لتوليد كميات كبيرة من Spam Email
SQL Injectionإدخال استعلامات SQL خبيثة للتلاعب المباشر في قاعدة البيانات
LDAP Injectionاستغلال ثغرات عدم التحقّق للوصول المباشر لقواعد البيانات عبر فلاتر LDAP
Local File Inclusion (LFI)ثغرة تسمح بإضافة ملفات على السيرفر عبر المتصفح — تحدث عند إضافة ملفات بدون تحقّق سليم من المسار

9 — Attack Application Logic Flaws

معظم ثغرات المنطق بسبب إهمال المطوّرين أو افتراضات خاطئة. مثال: في تطبيقات التجزئة، المطوّر يفترض أن العميل سيتبع مراحل الطلب بالتسلسل (اختيار المنتج ← تأكيد الطلب ← الدفع ← التسليم). المهاجم يستخدم Burp Suite لـ Forced Browsing — القفز من المرحلة 2 للمرحلة 4 متجاوزًا الدفع.

10 — Attack Database Connectivity

نوع الهجومالشرح
Connection String Injectionحقن بارامترات في Connection String بإلحاقها بعد فاصلة منقوطة ; — يحدث عند بناء Connection Strings ديناميكيًا من مدخلات المستخدم
CSPP — Hash Stealingاستبدال قيمة Data Source بـ Rogue SQL Server — يعمل Sniff لـ Windows Credentials عند محاولة الاتصال
CSPP — Port Scanningتغيير قيمة الـ Port في Connection String لاكتشاف بورتات مفتوحة
CSPP — Hijacking Credentialsمحاولة الاتصال بالـ Database بحساب Web Application System بدل بيانات المستخدم
Connection Pool DoSإنشاء استعلامات SQL ضخمة متعددة في وقت واحد لاستهلاك كل الاتصالات في الـ Pool — في ASP.NET الحد الأقصى 100 اتصال ومهلة 30 ثانية

04الـ Web API والـ Webhooks

Web API

الـ Web API واجهة برمجية توفّر خدمات ويب لتطبيقات جانب العميل لاسترداد وتحديث بيانات من مصادر متعدّدة عبر الإنترنت. يُوصَل إليها عادةً عبر HTTP.

نوع الـ APIالشرح
SOAP APIبروتوكول اتصال يُمكِّن التفاعل بين منصّات مختلفة عبر XML وHTTP — يُولِّد ويُعدِّل ويحذف السجلات
REST APIأسلوب معماري يعمل كوسيط اتصال بين الأنظمة عبر الويب
RESTful APIREST مبني على مبادئ REST وبروتوكولات HTTP — يستخدم PUT وPOST وGET وDELETE. يجعل التطبيقات مستقلّة لتحسين الأداء والـ Scalability

Webhooks

الـ Webhooks HTTP Callbacks مُعرَّفة من المستخدم تُطلَق بناءً على أحداث مُحدَّدة (مثل تلقّي تعليق أو Push لكود). تُسمّى أحيانًا "Reverse APIs" — تُبلِّغ التطبيقات الأخرى بآخر المعلومات فور حدوثها بدون حاجة لاستعلام دوري.

WebhooksAPIs
الاتجاهمن الموقع للسيرفر (Automated Push)من السيرفر للموقع (Request-based)
متى تعملHTTP POST فقط عند تحديث جديدتُجري طلبات بغضّ النظر عن التحديثات
البياناتReal-time عند الحدثتحتاج تنفيذًا إضافيًا للـ Real-time
التحكّمأقل تحكّمًا في تدفّق البياناتتحكّم سهل في تدفّق البيانات

منهجية اختراق Web API

1
تحديد الهدف

تحليل HTTP Headers وMessage Formats (JSON لـ REST، XML لـ SOAP). API Enumeration بأداة Kiterunner — أداة متقدّمة للمسح السياقي لـ APIs.

2
تحديد Attack Surface

فحص API Metadata (Paths وParameters وMessage Formats) — REST يستخدم Swagger وRAML وAPI-Blueprint، SOAP يستخدم WSDL/XML-Schema. لو لا Metadata، مراقبة وتسجيل الاتصال بين API والعميل.

3
تنفيذ الهجمات

Fuzzing (Fuzzapi)، Invalid Input Attacks، Malicious Input Attacks، Injection Attacks، Insecure SSL Config، IDOR، Insecure Session/Authentication Handling، API DDoS Attacks.

ثغرات API وIDOR

الثغرةالشرح
Insecure SSL Configشهادات Self-Signed تسمح بـ MITM — المهاجم يراقب أو يتلاعب بالحركة المشفَّرة
IDOR (Insecure Direct Object References)مراجع مباشرة للكائنات دون تطبيق حقوق الوصول — المهاجم يتعداد القيم الممكنة عبر API Metadata
Insecure Session/Auth Handlingإعادة استخدام Session Tokens، Tokens تسلسلية، Timeout طويل، Token غير مشفَّر أو في الـ URL
API DDoSإغراق API بحركة ضخمة من Botnet لتأخير الخدمة للمستخدمين الشرعيين رغم Rate Limiting
Bypassing IDOR via Parameter Pollution

IDOR ثغرة تنشأ عندما يكشف المطوّرون مراجع للكائنات الداخلية (مفاتيح قواعد البيانات والمجلدات والملفات). المهاجم يعدّل المراجع للوصول لبيانات غير مصرَّح بها.

Secure API Architecture — أفضل الممارسات

أفضل ممارسات تأمين Webhooks


05أمان الـ Web Applications — اختبار وتشفير وإجراءات مضادة

أنواع اختبار أمان الـ Web Application

النوعالوصفالأدوات
Manual Testingاختبار يدوي ببيانات مصمَّمة يدويًا وكود مخصَّص وأدوات مستعرضSecApps، Selenium، Apache JMeter
Automated Testingأتمتة عملية الاختبار ودمجها في كل مرحلة من التطويرRanorex Studio، TestComplete، Leapwork
SAST (Static — White-box)النظام والـ Source Code معروف للمختبِر — يحلّل الكود بدون تشغيلهCodacy، JFrog، Klocwork
DAST (Dynamic — Black-box)يُنفَّذ مباشرةً على الكود الشغّال لاكتشاف مشاكل الواجهات والـ Sessions والـ InjectionsInvicti، Acunetix، HCL AppScan
Fuzz Testing (Black-box)توليد كميات ضخمة من بيانات عشوائية (Fuzz) واختبارها ضد التطبيق لاكتشاف Buffer Overflow وDoS وXSS وSQL InjectionWebScarab، Burp Suite، AppScan Standard، Defensics، ffuf

خطوات Fuzz Testing

1
تحديد النظام الهدف

2
تحديد المدخلات

3
توليد بيانات Fuzz

4
تنفيذ الاختبار ببيانات الـ Fuzz

5
مراقبة سلوك النظام

6
تسجيل العيوب

AI-Powered Fuzzing

AI-powered Fuzz Testing يستخدم Machine Learning لتصميم مدخلات متنوّعة معقّدة بدلًا من البيانات العشوائية التقليدية — يتعلّم من الاختبارات السابقة ويتنبّأ بالمدخلات الفعّالة لاستكشاف مسارات الكود الأعمق.

أنواع ترميز البيانات (Encoding Schemes)

النوعالشرحمثال
URL Encodingتحويل URL لتنسيق ASCII صالح لنقل آمن عبر HTTP%20 = مسافة
HTML Encodingتمثيل الأحرف غير العادية بشكل آمن داخل مستند HTML& = &
Unicode Encoding (16-bit)استبدال أحرف Unicode غير عادية بـ %u متبوعًا بـ Codepoint بالـ Hex%u2215 = /
UTF-8ترميز متغيّر الطول يعبّر عن كل بايت بالـ Hex مسبوقًا بـ %%c2%a9 = ©
Base64يمثّل أي بيانات ثنائية بأحرف ASCII قابلة للطباعة — يُستخدَم لمرفقات البريد وبيانات الاعتمادcake → Y2FrZQ==
Hex Encodingيستخدم القيمة الست عشرية لكل حرفHello = 48 65 6C 6C 6F

Application Whitelisting مقابل Blacklisting

Application WhitelistingApplication Blacklisting
التعريفقائمة بمكوّنات مسموح بتنفيذها (Libraries، Plugins، Extensions)قائمة بالتطبيقات أو البرمجيات الخبيثة غير المسموح بتنفيذها
النهجالكل محجوب إلا ما هو مسموحالكل مسموح إلا ما هو محجوب
الحمايةمنع تشغيل برامج غير مُعتمَدة — أفضل ضد Ransomware/Malwareتحديد وحجب التطبيقات الخبيثة المعروفة
الضعفيتطلّب إدارة مستمرّة للقائمةلا يكشف التهديدات الحديثة غير المعروفة — يتطلّب تحديثًا منتظمًا

الإجراءات المضادة لهجمات الـ Web Application (OWASP Top 10)

الفئةالإجراءات المضادة
Broken Access Controlفحص Access Control قبل التحويل للمورد، تجنّب IDs غير آمنة، Session Timeout، تقييد صلاحيات الملفات
Insecure DesignThreat Modelling، Secure SDLC، فحوصات موثوقية دورية
Cryptographic Failuresعدم استخدام خوارزميات تشفير ضعيفة، توليد مفاتيح Offline وتخزينها بأمان، AES-256 للتشفير المتماثل وRSA-2048 للغير متماثل
Security Misconfigurationضبط كل آليات الأمان وتعطيل الخدمات غير المستخدَمة، تعطيل الحسابات الافتراضية، فصل بيئات التطوير والاختبار والإنتاج
XXEعدم معالجة XML يحتوي مراجع خارجية، تكوين XML Unmarshaller بأمان، استخدام Static Local DTD وتعطيل DTD المُعلَن في الـ XML
Vulnerable Componentsفحص إصدارات المكوّنات بانتظام، مراقبة NVD، تطبيق Security Patches، أدوات Dependency Management
Authentication FailuresSSL للأجزاء المصادَق عليها، تخزين Credentials بصيغة Hash، IAM وسياسات كلمات مرور قوية، Session IDs طويلة وعشوائية، Rate Limiting

Cheat Sheet مرجعي

مقارنة أنواع Web Service APIs

النوعالبروتوكولFormatالميزة الرئيسية
SOAP APISOAP عبر HTTPXMLأمان مدمَج — WS-Security — مناسب للبيئات المؤسسية
REST APIHTTPJSON أو XMLمرونة عالية — أسرع — أكثر شيوعًا
RESTful APIHTTP + REST PrinciplesJSONHTTP Methods (PUT/POST/GET/DELETE) — مستقلّ عن التطبيق

أنواع Encoding — مرجع سريع

الترميزالاستخداممثال
URL EncodingURLs لـ HTTPمسافة = %20
HTML Encodingمستندات HTML> = > — & = &
Base64مرفقات البريد وCredentialsHello = SGVsbG8=
HexHTML وبيانات ثنائيةHello = 48 65 6C 6C 6F
Unicode (16-bit)أحرف Unicode خاصة/ = %u2215
UTF-8أحرف Unicode متغيّرة© = %c2%a9

أنواع اختبار الأمان — مقارنة

النوعالمعرفةيُشغَّل علىالأدوات
SAST (White-box)كامل — Source Code متاحكود ثابت بدون تشغيلCodacy، JFrog، Klocwork
DAST (Black-box)لا معرفة مسبقةكود شغّال في RuntimeInvicti، Acunetix، HCL AppScan
Fuzzing (Black-box)لا معرفة مسبقةكود شغّال في RuntimeWebScarab، Burp Suite، ffuf
Manualحسب السياقأي مرحلةSecApps، Selenium، Burp Suite

Vulnerability Stack — ملخّص

الطبقةمثال الهجوم
L7 — Business LogicXSS، Input Validation Bypass
L6 — 3rd Party Componentsاختراق المزوّد الخارجي
L5 — Web ServerBanner Grabbing، CVE Exploitation
L4 — DatabaseSQL Injection بـ sqlmap
L3 — OSPort Scanning، Malware Injection
L2 — NetworkMAC Flooding، Sniffing

الخلاصة العامة للموديول

الموديول ناقش مفاهيم الـ Web Application وWeb Services وطبقات الـ Vulnerability Stack الست، وأكثر من 25 نوع هجوم، ومنهجية الاختراق الكاملة في 13 مرحلة. ثم تطرّق لمفاهيم Web API وWebhooks ومنهجية اختراقها، وأنواع اختبار الأمان (SAST وDASTوFuzzing) وأنواع الترميز والإجراءات المضادة.

$ cat ./module14_summary.txt

الـ Web Application ليست مجرّد موقع — هي نظام طبقات. كلّ طبقة من الـ 6 (Vulnerability Stack) تقدّم نافذة مختلفة للمهاجم: من SQL Injection في قاعدة البيانات، لـ XSS في منطق الأعمال، لـ Banner Grabbing في السيرفر. الدفاع الحقيقي يبدأ بفهم هذه الطبقات والتحقّق السليم من كل مدخل في كل مستوى.

Exam Tip

أسئلة هذا الموديول تُركِّز على: الفرق بين SOAP وREST وRESTful، مكوّنات Web Service Architecture (UDDI وWSDL وWS-Security)، طبقات Vulnerability Stack، الفرق بين SAST وDASTوFuzzing، أنواع Encoding (Base64 وURL وHex)، آلية Magecart Attack وWatering Hole وMarioNet وXXE، وخطوات Password Reset Poisoning.


نهاية نوتس الموديول الرابع عشر — Hacking Web Applications