مراجعة نهائية: سيناريو كامل، وإنت رايح فين

جارٍ التحميل…

01 / ملخص الدرس

مراجعة نهائية: سيناريو كامل، وإنت رايح فين

نربط كل الكورس في سيناريو واحد على متجر أونلاين، من الـ Scope لحد الـ finding، والكورس الجاي في المسار.

02 / شرح الدرس مكتوبًا

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

أهلاً بيك في آخر درس. النهاردة مش هنتعلم حاجة جديدة. هنمشي على سيناريو واحد كامل، ونشوف كل اللي اتعلمناه بيشتغل مع بعض.

شركة اسمها ShopEasy طلبت اختبار على المتجر بتاعها. Planning: اتفقنا على الـ Scope، المتجر والـ API بس. النوع: Gray Box، معانا حساب user عادي. Rules of Engagement: ممنوع DoS، والاختبار بالليل. Reconnaissance: لقينا subdomain اسمه dev. بس هو مش في الـ Scope… فكتبنا ملاحزة، وبلّغنا العميل، وما لمسناهوش. Scanning: الـ ports المفتوحة eighty و four forty three بس. Enumeration: عملنا login بالحساب بتاعنا، ولقينا صفحة الأوردرات فيها id في الـ URL. وهنا اشتغل تفكير المهاجم: الـ server بيِسِق في الرقم ده؟ غيّرنا الرقم… وشفنا أوردر عميل تاني باسمه وعنوانه.

Exploitation: أكّدنا الثَّغْرة على حسابين إحنا عاملينهم، من غير ما نسحب بيانات عملا حقيقيين. النوع: IDOR، يعني غلطة في الـ Authorization. ودي بتضرب الـ Confidentiality. وفي الآخر Reporting. نكتب الـ finding، ونحسب الخطورة، ونكتب الإصلاح. نشغّل…

main.py
finding = {
    "title": "IDOR in /orders",
    "cia": "C",
    "likelihood": 4,
    "impact": 4,
    "fix": "check order owner on the server",
}

score = finding["likelihood"] * finding["impact"]
level = "High" if score >= 15 else "Medium" if score >= 8 else "Low"

print(finding["title"], "-", level)
print("Fix:", finding["fix"])

المخرجات

IDOR in /orders - High
Fix: check order owner on the server

شفت؟ كل درس في الكورس بان في السيناريو ده. الويب والـ HTTP، و CIA، والـ Risk، والـ Authorization، وتفكير المهاجم، والـ Scope، والمنهجية. دورك: ضيف finding تاني: الموقع بيبعت الباسورد على HTTP من غير S. حدّد الـ CIA والاحتمال والأسَر والإصلاح.

تمرين

غيّر الـ finding لـ Password sent over HTTP، وحط cia و likelihood و impact و fix.

الحل: الباسورد ممكن يتقري في النص، يعني Confidentiality، والإصلاح HTTPS. نشغّل…

main.py
finding = {
    "title": "Password sent over HTTP",
    "cia": "C",
    "likelihood": 3,
    "impact": 5,
    "fix": "force HTTPS with HSTS",
}

score = finding["likelihood"] * finding["impact"]
level = "High" if score >= 15 else "Medium" if score >= 8 else "Low"

print(finding["title"], "-", level)
print("Fix:", finding["fix"])

المخرجات

Password sent over HTTP - High
Fix: force HTTPS with HSTS

مبروك… خلّصت أول كورس في الرحلة. بقيت فاهم الجهاز والشبكة والويب. وفاهم مفاهيم الحماية. وبتفكر زي المهاجم. وعارف منهجية الاختبار من الأول للآخر. الكورس الجاي: الـ Documentation وكتابة التقارير. هنتعلم إزاي ناخد ملاحزات أسناء الشغل، ونجمع الأدلة، ونكتب تقرير محترف العميل يفهمه ويصلّح منه. يلا بينا.

03 / دروس المسار (23)
  1. 01أهلاً بيك — يعني إيه أمن سيبراني؟
  2. 02الكمبيوتر بيشتغل إزاي من جُوّه؟
  3. 03نظام التشغيل: المدير اللي بيدير كل حاجة
  4. 04الملفات والـ Users والصلاحيات
  5. 05صفر وواحد: Binary و Hex و Encoding
  6. 06الشبكات والـ IP Address
  7. 07الـ Ports والـ Protocols
  8. 08الـ DNS والـ HTTP: إزاي الموقع بيفتح؟
  9. 09تطبيق الويب: Client و Server و Database
  10. 10مفاهيم الحماية: CIA Triad
  11. 11Vulnerability و Threat و Risk
  12. 12Authentication و Authorization
  13. 13Least Privilege و Defense in Depth
  14. 14الـ Hashing: إزاي نحفَظ الباسورد صح
  15. 15الـ Encryption: Symmetric و Asymmetric و HTTPS
  16. 16تفكير المهاجم: الثقة والمدخلات
  17. 17الـ Attack Surface والـ Attack Vectors
  18. 18الـ Social Engineering والـ Phishing
  19. 19أنواع المهاجمين، والأخلاق، والقانون
  20. 20أنواع الاختبار والـ Scope والـ Rules of Engagement
  21. 21مراحل اختبار الاختراق
  22. 22جهّز الـ Lab بتاعك
  23. 23مراجعة نهائية: سيناريو كامل، وإنت رايح فينانت هنا