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