أمان تطبيقات الويب: الخطوات التسع الرئيسية للانتقال من الصفر إلى التشغيل

أمان تطبيقات الويب: الأساسيات في مقال واحد — كود حقيقي، مخططات وخطوات ملموسة، مقتطفات من دورة مكونة من 45 درسًا.

أمان تطبيقات الويب: الخطوات التسع الرئيسية للانتقال من الصفر إلى التشغيل

يمكن للجميع تعلم Web Application Security — بشرط اتباع الخطوات بالترتيب الصحيح. لقد لخصنا دورة كاملة من 45 درسًا في مسار واضح، مع أكثر مقتطفات الكود فائدة.

tl;dr
  • مقدمة ومختبر
  • OWASP Top 10 والمنهجية
  • حقن SQL وNoSQL والأوامر
  • XSS Cross-Site Scripting
  • CSRF وSSRF وطلبات جانب الخادم
~$ cat ./parcours.md # Web Application Security — 10 فصول
01
مقدمة والمختبر
→ عرض الدورة ونظام أمان الويب البيئي→ تثبيت المختبر : DVWA, Juice Shop, WebGoat+ 1 دروس أخرى
02
OWASP Top 10 والمنهجية
→ OWASP Top 10 مشروح (كل فئة)→ المنهجية : recon, mapping, attack, exploit+ 2 دروس أخرى
03
حقن SQL NoSQL أوامر
→ حقن SQL كلاسيكي (UNION, error-based)→ Blind SQLi : boolean-based و time-based+ 2 دروس أخرى
04
XSS Cross-Site Scripting
→ Reflected, stored, DOM-based XSS→ Bypass de filtres et WAF (encodings, polyglotes)+ 2 دروس أخرى
05
CSRF SSRF وطلب جانب الخادم
→ CSRF : token, SameSite, double-submit→ SSRF basique واستغلال+ 2 دروس أخرى
06
المصادقة والجلسات
→ Brute force ذكي (Burp Intruder, Hydra)→ JWT : alg=none, نقاط ضعف تشفيرية, kid injection+ 2 دروس أخرى
07
أمان API REST و GraphQL
→ OWASP API Security Top 10→ BOLA و broken function level authorization+ 2 دروس أخرى
08
الثغرات الحديثة
→ Deserialization : PHP, Java, Python pickle→ Prototype pollution Node.js+ 2 دروس أخرى
🏁
المشروع النهائي (+ 2 فصول في الطريق)
→ تغادر مع مشروع ملموس وقابل للعرض

حقن SQL الكلاسيكي (UNION، error-based)

NOTEالهدف — فهم آلية حقن SQL، واكتشافها، ثم استغلالها باستخدام تقنيات UNION-based وerror-based الكلاسيكية لاستخراج بيانات من قاعدة البيانات.

الأهداف التعليمية

TIPعند إتمام هذه الوحدة
  • شرح سبب إمكانية حدوث SQLi
  • اكتشاف الحقن باستخدام علامة اقتباس بسيطة
  • استغلال UNION-based لقراءة جداول أخرى
  • استخدام رسائل الخطأ (error-based)
  • فهم الحل النهائي: الاستعلامات المُعَلَّمة

لماذا يوجد حقن SQL؟

يحدث حقن SQL عندما يتم دمج إدخال المستخدم مباشرة في استعلام SQL. لم يعد المحرك يميز بين الكود (الاستعلام) والبيانات (الإدخال). يقوم المهاجم بحقن SQL يتم تنفيذه.

الحمولةالسلوك المتوقع إذا كان هناك ثغرة
'خطأ SQL / 500
' OR '1'='1تجاوز المصادقة
1' AND '1'='2نتيجة فارغة (شرط خاطئ)
1' AND '1'='1نتيجة طبيعية (شرط صحيح)

UNION-based: قراءة جداول أخرى

يتيح المعامل UNION SELECT دمج نتائج استعلام ثانٍ مع الأول. الشروط: نفس عدد الأعمدة وأنواع متوافقة. نبدأ بتحديد عدد الأعمدة باستخدام ORDER BY.

OK مؤمن

WARNINGتنبيه: الهروب اليدوي لعلامات الاقتباس لا يكفي أبدًا (توجد طرق تحايل متعددة). الدفاع الوحيد الموثوق هو الاستعلام المُعَلَّم (prepared statement)، حيث يفصل المحرك بين الكود والبيانات.

JWT: alg=none، نقاط الضعف التشفيرية، حقن kid

NOTEالهدف — مهاجمة JSON Web Tokens: فهم بنيتها، استغلال الثغرات الكلاسيكية (alg=none، سر HS256 ضعيف، الخلط بين RS256/HS256، الحقن عبر رأس kid) وتطبيق أفضل ممارسات التحقق.

الأهداف التعليمية

TIPعند إتمام هذه الوحدة
  • فك تشفير وفهم بنية JWT
  • استغلال ثغرة alg=none
  • كسر سر HS256 ضعيف
  • فهم الخلط بين خوارزميتي RS256/HS256
  • استغلال الحقن عبر رأس kid

بنية JWT

يتكون JWT من ثلاثة أجزاء مشفرة بـbase64url، مفصولة بنقاط: header، payload، signature. يحدد الـheader الخوارزمية، ويحتوي الـpayload على الـclaims (البيانات)، وتضمن الـsignature السلامة.

الخوارزميةالتوقيعالتحقق
HS256سر مشتركنفس السر
RS256مفتاح خاصمفتاح عام
الخلطالمفتاح العام في HS256يتم التحقق خطأً من الخادم

الثغرة 4: الحقن عبر kid

يشير رأس kid (key ID) إلى المفتاح المستخدم. إذا استُخدم دون تنظيف لقراءة ملف أو الاستعلام عن قاعدة بيانات، يمكن حقن مسار (path traversal) أو SQL.

Burp Suite Community: التعامل الأول

NOTEالهدف — التعامل مع Burp Suite Community: إعداد الوكيل، اعتراض حركة HTTP/HTTPS، تثبيت شهادة CA، واستخدام التبويبات الأساسية (Proxy، Repeater، Target) لإعادة تشغيل وتعديل الطلبات.

الأهداف التعليمية

TIPعند إتمام هذه الوحدة
  • إعداد المتصفح للمرور عبر وكيل Burp
  • تثبيت شهادة CA لاعتراض HTTPS
  • اعتراض وتعديل وإرسال طلب
  • إعادة تشغيل طلب في Repeater
  • التنقل في الخريطة (تبويب Target)

ما هو Burp Suite؟

Burp Suite هو وكيل اعتراض يوضع بين متصفحك وخادم الويب. يمر كل حركة المرور عبره: يمكنك رؤيته وتعديله فورًا وإعادة تشغيله. إنه الأداة المركزية لكل مختبر اختراق ويب. الإصدار Community مجاني ويكفي تمامًا للتعلم.

Repeater

يعيد تشغيل الطلب عدة مرات مع إمكانية التعديل.

Target

يبني خريطة (sitemap) التطبيق الذي تمت زيارته.

إعداد الوكيل

افتراضيًا، يستمع Burp على 127.0.0.1:8080. يجب إخبار المتصفح بإرسال حركة المرور إليه. أبسط طريقة هي المتصفح المدمج في Burp (« Open Browser »)، المُعد مسبقًا. وإلا، قم بإعداد وكيل يدوي أو استخدم إضافة FoxyProxy.

الوكيل اليدوي (Firefox)

WARNINGتنبيه: هذه الشهادة خاصة بتثبيت Burp الخاص بك. لا تثبتها أبدًا على جهاز شخص آخر واحذفها عند الانتهاء: فهي تسمح بفك تشفير حركة HTTPS الخاصة بك.

سير العمل الأول: الاعتراض وإعادة التشغيل

إليك الإجراء الأساسي الذي ستكرره آلاف المرات.

الخطوةالإجراء
1تبويب Proxy → Intercept « on »
2التنقل إلى الهدف (مثل: DVWA login)
3يتم التقاط الطلب — اقرأه وعدّله
4انقر بزر الفأرة الأيمن → « Send to Repeater »
5في Repeater، غيّر معاملًا ثم انقر « Send »

مثال: تعديل معامل في Repeater

va-plus-loin

يغطي هذا المقال المقتطفات الأكثر فائدة — الدورة الكاملة Web Application Security (11 فصلاً، 45 درسًا، تمارين مع حلول ومشروع نهائي) تأخذك إلى النهاية.

./acceder-au-cours-complet cours gratuit : Maîtriser Claude Code

الأسئلة الشائعة

كم من الوقت يلزم لتعلم Web Application Security؟
مع تقدم منظم (11 فصلاً، 45 درسًا قصيرًا وعمليًا)، يمكن الوصول إلى مستوى تشغيلي في بضعة أسابيع بمعدل 30 إلى 60 دقيقة يوميًا. المهم هو تطبيق كل مفهوم فورًا.
هل هناك متطلبات سابقة؟
تكفي أساسيات الحاسوب. إذا كنت تعرف استخدام الطرفية وقراءة كود بسيط، فأنت جاهز.
من أين نبدأ عمليًا؟
طبّق الأوامر الواردة في هذا المقال، ثم تابع الدورة الكاملة Web Application Security: فهي تربط الـ45 درسًا بالترتيب مع تمارين ومشروع نهائي.

📬 هل تريد تلقي هذا النوع من الأدلة كل أسبوع؟ اشترك مجانًا — كود حقيقي، بدون كلام زائد.