إنتقل إلى المحتوى الرئيسي

الأسبوع 7 — ثغرات الويب (OWASP Top 10)

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

  • فهم منطق كل فئة من فئات الـ Top 10، لا حفظها.
  • استخدام Burp Suite في الاعتراض وفي repeater بفعالية.
  • كتابة دليل استغلال واضح: طلب، استجابة، أثر.

فئات 2021 في جملة واحدة لكل منها​

الفئةالفكرة المحورية
A01 – كسر ضوابط الوصوليسمح التطبيق بما يجب أن يمنعه.
A02 – إخفاقات التشفيربيانات حساسة مشفَّرة بشكل سيّئ أو بنص صريح.
A03 – الحقنبيانات مستخدم تُنفَّذ كأنها شيفرة (SQL، LDAP، نظام التشغيل).
A04 – تصميم غير آمنعيب في التصميم، لا في الشيفرة.
A05 – إعداد خاطئقيم افتراضية، إسهاب في الرسائل، ترويسات مفقودة.
A06 – مكوّنات ضعيفةتبعيات غير محدَّثة.
A07 – التعريف / المصادقةجلسات ضعيفة، كلمات مرور ضعيفة، غياب MFA.
A08 – سلامة البرمجياتسلسلة توريد مخترَقة.
A09 – تسجيل غير كافٍلا شيء يُرى وهو يمر.
A10 – SSRFيُقاد الخادم نحو الداخل.

Burp Suite عمليًا​

  1. اضبط Firefox لاستخدام Burp كوكيل (proxy) (127.0.0.1:8080)، وثبِّت شهادة Burp.
  2. Proxy → Intercept : التقط طلبًا مثيرًا للاهتمام (إرسال نموذج، استدعاء API).
  3. Repeater : أرسل الطلب وأعد تشغيله، مع تغيير معامل واحد في كل مرة.
  4. Intruder : حمولات معلمنة. نقطة إدراج واحدة في كل مرة للبقاء واضحًا.

مثالان يجب إتقانهما​

حقن SQL — التحقق الحقيقي​

لا تكتفِ بـ ' OR 1=1 -- الذي «يعرض أسطرًا أكثر». أكِّد عبر استخراج مضبوط:

GET /produits?id=42 UNION SELECT null, current_database(), null --

يجب أن تحتوي الاستجابة على اسم قاعدة بيانات منطقي. بلا هذا الدليل، إنها مجرد فرضية.

XSS مخزَّنة — أثر ملموس​

يُثبت <script>alert(1)</script> التخزين، لا الأثر. العرض المتوقَّع في التقرير: سرقة جلسة نحو نقطة نهاية يتحكم بها المهاجم، أو فعل مفروض قسرًا عبر fetch('/api/user/delete', {method:'POST', credentials:'include'}).

بداية TP2​

تختار تطبيقًا واحدًا ضعيفًا من المختبر (Juice Shop، DVWA أو ما يعادلهما). التسليم للأسبوع 9:

  • ثلاث ثغرات من الـ Top 10 مُستغَلة، كل واحدة مع طلب، استجابة، أثر.
  • علاج ملموس لكل ثغرة.