• دوره‌های آموزشی
  • مسیرهای آموزشی
  • خدمات سازمانی
    • آموزش سازمانی
      • دوره‌ی آگاهی‌رسانی امنیت سایبری
      • دوره‌ی امنیت سایبری برای مدیران کسب‌وکار
      • دوره‌ی Open Source Intelligence
      • دوره‌ی‌ فریم‌ورک MITRE ATT&CK
      • دوره‌ی JAVA Secure Coding
    • مشاوره‌ی امنیت سایبری
    • تحقیقات امنیت سایبری
  • وبلاگ
  • تقویم آموزشی
آکادمی راوینآکادمی راوین
  • دوره‌های آموزشی
  • مسیرهای آموزشی
  • خدمات سازمانی
    • آموزش سازمانی
      • دوره‌ی آگاهی‌رسانی امنیت سایبری
      • دوره‌ی امنیت سایبری برای مدیران کسب‌وکار
      • دوره‌ی Open Source Intelligence
      • دوره‌ی‌ فریم‌ورک MITRE ATT&CK
      • دوره‌ی JAVA Secure Coding
    • مشاوره‌ی امنیت سایبری
    • تحقیقات امنیت سایبری
  • وبلاگ
  • تقویم آموزشی

دوره‌های امنیت تهاجمی

  • خانه
  • همه دوره ها
  • دوره‌های امنیت تهاجمی
  • API Security Testing

API Security Testing

برنا نعمت‌زاده
برنا نعمت‌زاده
دوره‌های امنیت تهاجمی
0 ﷼
RAvin site-07
RAvin site-07
  • بررسی اجمالی
  • مدرس:

درباره‌ی دوره

بهره‌برداری از API (Application Programming Interface) در تعامل بین نرم‌افزارها و یکپارچه‌سازی آن‌ها مزایای زیادی برای سازمان‌ها به همراه دارد. با استفاده از API، نرم‌افزارهای کاربردی مختلف بدون این‌که نیازی به آگاهی از شیوه‌ی پیاده‌سازی یکدیگر داشته باشند، می‌توانند به راحتی با هم یکپارچه شوند. این مزایا در کنار رشد زیرساخت‌های ابری در سال‌های اخیر، سبب شده تا شرکت‌های نرم‌افزاری و ابری مختلف در سراسر دنیا APIهای متنوعی را با هدف ایجاد امکان تعامل راحت‌تر بین سرویس‌ها و محصولاتشان با سامانه‌های مربوط به مشتریان و شرکای تجاری، پیاده‌سازی کنند. اهمیت این مساله تا جایی است که حتی در برخی از کسب‌وکارها تعداد و قابلیت APIهای موجود در محصولات آن، به‌عنوان یکی از مهم‌ترین مزیت‌های رقابتی آن کسب‌وکار مطرح می‌شود.

APIها در بسیاری از صنایع امروزی کاربرد وسیعی دارند که از بین آن‌ها می‌توان به صنایع خدمات مالی و بانکی، رایانش ابری، IoT، شهرهای هوشمند و موبایل اشاره کرد. در ایران نیز با توجه به رشد استارتاپ‌ها و زیرساخت‌های ابری در سال‌های اخیر، بسیاری از شرکت‌ها محصولات خود را به APIهای مختلف مجهز کرده‌اند. اما یکی از نکات مهمی که شاید کمتر به آن پرداخته می‌شود، امنیت API این محصولات در برابر حملات سایبری است. API در کنار مزایایی که برای افراد و کسب‌وکارها ایجاد می‌کند، تهدیداتی را نیز به همراه دارد و هدف جذابی برای مهاجمین سایبری به حساب می‌آید. نقض ‌شدن امنیت API می‌تواند دسترسی غیر مجاز مهاجمین به داده‌های سازمان یا مشتریان آن، ایجاد اختلال در سرویس‌دهی و بسیاری تبعات دیگر را برای یک کسب‌وکار به دنبال داشته باشد. همین امر سبب گردیده تا شکار آسیب‌پذیری API در برنامه‌های باگ‌بانتی دنیا با استقبال بالایی، هم از سوی کسب‌وکارها و هم از سوی نفوذگران مواجه شود.

در این دوره فرآیند تست و ارزیابی یک API از دید یک شکارچی باگ بررسی می‌شود. در بخش ابتدایی دوره بررسی معماری امنیت API و مفاهیم آن آموزش داده می‌شود. در بخش بعد روش‌های جمع‌آوری اطلاعات و شناسایی برای API به صورت عملی شرح داده خواهد شد، همچنین به صورت اصولی یاد می‌گیرید که چگونه اطلاعات و API Endpointهای مورد نظرتان را استخراج کنید. نهایتا در بخش سوم به بررسی انواع آسیب‌پذیری‌های فنی و منطقی در بستر API و شیوه‌ی شکار و هک آن‌ها پرداخته خواهد شد .

مدت زمان دوره

مدت زمان این کارگاه ۲۷ ساعت است که از یک‌شنبه ۱۸ مهر، یک‌شنبه و پنج‌شنبه‌ی هر هفته، از ساعت ۱۷:۳۰ تا ۲۰:۳۰ به صورت آنلاین برگزار می‌شود.

این دوره به چه افرادی توصیه می‌شود؟

  • کارشناسان ارزیابی امنیت و تست نفوذ
  • کارشناسان امنیت سایبری در سازمان‌ها و شرکت‌ها
  • کارشناسان فعال در زمینه‌ی Bug Bounty

برای حضور در این دوره چه دانش‌هایی باید داشته باشم؟

  • آشنایی با مفاهیم توسعه‌ی وب و API
  • آشنایی با آسیب پذیری‌های رایج وب
  • حداقل یک سال تجربه‌ی کاری در زمینه‌ی تست نفوذ وب

سرفصل‌های دوره

Chapter 1: Introduction to API Security

1.1 Web APIs

1.2 Security Review of APIs

1.3 Core APIs vs Third-Party APIs

1.4 API & ORM

1.5 Course Deliverables

Chapter 2: API Reconnaissance

2.1 Environment Setup

2.2 Recon Methodology for API

2.3 API Endpoints Enumeration

2.3.1 API Documentation

2.3.2 Public vs Hidden API Endpoints

2.3.2.1 Public API Endpoints Enumeration

2.3.2.2 Bug Bounty Tip

2.3.2.3 Hidden API Endpoints Enumeration

2.3.2.4 Fuzzing for Hidden API Endpoints

2.3.2.5 Custom Wordlist

2.3.2.6 Fuzzing for GraphQL Object Types

2.4 API Attack Surface Analysis

2.5 Lab + Real World Example

Chapter 3: API Vulnerabilities

3.1 Excessive Data Exposure

3.1.1 Introduction to Data Exposure

3.1.2 Hunting for Data Exposure

3.1.3 Automating Burp to Find Data Exposure

3.1.4 False Positives

3.2 Mass Assignment

3.2.1 Mass Assignment in NodeJS & Rails

3.2.2 Hunting for Mass Assignment Vulnerabilities

3.2.3 Bypass Security Controls

3.3 Broken Object Level Authorization

3.3.1 Hunting for IDORs

3.3.2 Automating Burp to Find IDORs

3.4 Broken Function Level Authorization

3.4.1 Vertical vs Horizontal Access Control

3.4.2 Unprotected API Endpoints

3.4.3 Hunting for Broken Function Level

3.4.4 Automating Burp to Find Broken Function Level Bugs

3.5 Broken Authentication

3.5.1 Token-Based Authentication

3.5.2 OAuth 2 & SAML

3.5.3 JWT Attack Scenarios

3.5.3.1 Basic Cryptography for Bug Hunter

3.5.3.2 JWT Common Attack Scenarios

3.5.3.3 JWT Advanced Attack Scenarios

3.6 Lack of Resources & Rate Limiting

3.6.1 Exploiting Response Limit

3.6.2 Exploiting Request Rate

3.6.3 Bypass Techniques for Request Rate

3.6.4 Exploiting Request Payload

3.7 Security Misconfiguration

3.7.1 Exploiting CORS Misconfiguration

3.7.2 Unprotected Files & Directories

3.8 Injection-Based Attacks

3.8.1 SQL, NOSQL & ORM Injection

3.8.2 XXE Injection

3.8.3 OS Command Injection

3.9 Request-Forgery Attacks

3.10 Real World Example

3.11 GraphQL

3.11.1 GraphQL vs REST

3.11.2 GraphQL Schema

3.11.3 GraphQL Object Types

3.11.4 GraphQL Queries

3.11.5 GraphQL Mutations

3.11.6 GraphQL Subscriptions

3.11.7 Introspection

3.11.8 Fuzzing for Object Types

3.11.9 GraphQL Vulnerabilities

3.11.9.1 Injection-Based Attack Scenarios

3.11.9.2 Request-Forgery Attack Scenarios

3.11.9.3 Nested Queries & DOS

3.11.9.4 Node-Based & Edge-Based Access Control

3.11.9.5 Mutation-Based Attacks

ویژگی های دوره

  • درس 3
  • آزمونها 0
  • مدت زمان 27 ساعت
  • سطح مهارت پیشرفته
  • زبان فارسی و انگلیسی
  • دانشجویان 26
  • گواهی نامه بله
  • ارزیابی بله
برنا نعمت‌زاده
برنا نعمت‌زاده
    قبل از ورود به زمینه‌ی امنیت سایبری ، به برنامه‌نویسی سیستمی مشغول بودم و بعد از آشنایی با حوزه ی وب، به برنامه‌نویسی سمت سرور برای طراحی و پیاده‌سازی وب اپلیکیشن‌های مختلف پرداختم. با تکنولوژی‌های مختلف وب به صورت مفهومی آشنا شدم و سعی کردم زیرساخت وب اپلیکیشن‌های مختلف رو بهتر بشناسم تا بفهمم هر جز از این سیستم‌ها چطوری کار می‌کنه. بعد از مدتی ، این سوال در ذهنم پیش اومد که من یاد گرفتم یه سیستم رو طراحی و پیاده‌سازی کنم پس حالا چرا اجزای این سیستم رو هم نشکنم و هر جز رو مورد نفوذ و ارزیابی قرار ندم؟ این سوال باعث شد به تست نفوذ وب و اکسپلویت آسیب‌پذیری‌های مختلف وب بپردازم که بعد از مدتی به صورت حرفه‌ای در زمینه‌ی Bug Bounty و تست سرویس‌های تحت وب شرکت‌های بزرگ مشغول شدم و در حال حاضر هم فعالیت اصلیم در همین زمینه هست. در کنار تست نفوذ وب به دلیل علاقه ای که به رمزنگاری و ریاضیات دارم،‌ در این زمینه هم به صورت مستمر مطالعه می‌کنم.
    • بررسی اجمالی
    • مدرس:
    0 ﷼

    این دوره برگزار شده است.

    نظر بدهید لغو پاسخ

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    منابع

    • مسیرهای آموزشی
    • پرسش‌های رایج
    • تخفیف‌ها
    • وبینارها
    • پخش زنده
    • کتابچه

    همکاری با ما

    • تدریس در آکادمی راوین
    • همکاری در تولید محتوا
    • استخدام

    خدمات سازمانی

    • آموزش سازمانی
    • مشاوره‌ی امنیت سایبری
    • تحقیقات امنیت سایبری

    آکادمی راوین

    • خانه
    • درباره‌ی ما
    • تماس با ما

        

    info@ravinacademy.com
    Twitter
    Telegram
    Linkedin
    Instagram
    Github

    تمام حقوق این وب سایت به آکادمی راوین تعلق دارد.

    کسب اطلاعات بیشتر
    Modal title

    Message modal