API Bug Hunting

دربارهی دوره
بهرهبرداری از API (Application Programming Interface) در تعامل بین نرمافزارها و یکپارچهسازی آنها مزایای زیادی برای سازمانها به همراه دارد. با استفاده از API، نرمافزارهای کاربردی مختلف بدون اینکه نیازی به آگاهی از شیوهی پیادهسازی یکدیگر داشته باشند، میتوانند به راحتی با هم یکپارچه شوند. این مزایا در کنار رشد زیرساختهای ابری در سالهای اخیر، سبب شده تا شرکتهای نرمافزاری و ابری مختلف در سراسر دنیا APIهای متنوعی را با هدف ایجاد امکان تعامل راحتتر بین سرویسها و محصولاتشان با سامانههای مربوط به مشتریان و شرکای تجاری، پیادهسازی کنند. اهمیت این مساله تا جایی است که حتی در برخی از کسبوکارها تعداد و قابلیت APIهای موجود در محصولات آن، بهعنوان یکی از مهمترین مزیتهای رقابتی آن کسبوکار مطرح میشود.
APIها در بسیاری از صنایع امروزی کاربرد وسیعی دارند که از بین آنها میتوان به صنایع خدمات مالی و بانکی، رایانش ابری، IoT، شهرهای هوشمند و موبایل اشاره کرد. در ایران نیز با توجه به رشد استارتاپها و زیرساختهای ابری در سالهای اخیر، بسیاری از شرکتها محصولات خود را به APIهای مختلف مجهز کردهاند. اما یکی از نکات مهمی که شاید کمتر به آن پرداخته میشود، امنیت API این محصولات در برابر حملات سایبری است. API در کنار مزایایی که برای افراد و کسبوکارها ایجاد میکند، تهدیداتی را نیز به همراه دارد و هدف جذابی برای مهاجمین سایبری به حساب میآید. نقض شدن امنیت API میتواند دسترسی غیر مجاز مهاجمین به دادههای سازمان یا مشتریان آن، ایجاد اختلال در سرویسدهی و بسیاری تبعات دیگر را برای یک کسبوکار به دنبال داشته باشد. همین امر سبب گردیده تا شکار آسیبپذیری API در برنامههای باگبانتی دنیا با استقبال بالایی، هم از سوی کسبوکارها و هم از سوی نفوذگران مواجه شود.
در این دوره فرآیند تست و ارزیابی یک API از دید یک شکارچی باگ بررسی میشود. در بخش ابتدایی دوره بررسی معماری امنیت API و مفاهیم آن آموزش داده میشود. در بخش بعد روشهای جمعآوری اطلاعات و شناسایی برای API به صورت عملی شرح داده خواهد شد، همچنین به صورت اصولی یاد میگیرید که چگونه اطلاعات و API Endpointهای مورد نظرتان را استخراج کنید. نهایتا در بخش سوم به بررسی انواع آسیبپذیریهای فنی و منطقی در بستر API و شیوهی شکار و هک آنها پرداخته خواهد شد .
مدت زمان دوره
مدت این کارگاه ۲۴ ساعت است که در طی هفت جلسهی سه ساعته به صورت آنلاین از ساعت ۱۷ تا ۲۰ برگزار میشود. این دوره در روزهای فرد بوده و از تاریخ ۱۲ بهمن آغاز خواهد شد
این دوره به چه افرادی توصیه میشود؟
- کارشناسان ارزیابی امنیت و تست نفوذ
- کارشناسان امنیت سایبری در سازمانها و شرکتها
- کارشناسان فعال در زمینهی Bug Bounty
برای حضور در این دوره چه دانشهایی باید داشته باشم؟
- آشنایی با مفاهیم توسعهی وب و API
- حداقل یک سال تجربهی کار در زمینههای مرتبط
- آشنایی با آسیب پذیریهای رایج وب و سرفصلهای دورهی SEC542
- حداقل یکسال تجربه ی کاری در زمینه ی تست نفوذ وب
برای ثبتنام در این دوره میتوانید از اینجا اقدام کنید.
سرفصلهای دوره
Chapter 1: Introduction to API Security
1.1 Understanding Web APIs
1.2 Security Review of APIs
1.3 Core APIs vs Third-Party APIs
1.4 API & ORM
1.5 Course Deliverables
1.6 Course Lab & Real World Targets
Chapter 2: API Reconnaissance
2.1 Recon in API Context
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 Automating Enumeration (Bug Bounty Tip)
2.3.2.3 Hidden API Endpoints Enumeration
2.3.2.4 Fuzzing for Hidden API Endpoints
2.3.2.5 Creating a 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 & JWT Components
3.5.2 JWT Attack Scenarios
2.5.2.1 Basic Cryptography for Bug Hunter
2.5.2.2 JWT Simple Attack Scenarios
2.5.2.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 Finding SQL, NOSQL & ORM Injection
3.8.2 Finding File Inclusion Vulnerabilities
3.8.3 Finding OS Command Injection
3.8.4 Finding XXE
3.8.5 Automating Burp to Find Injection-Based Vulnerabilities
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 Exploiting Response Limit
3.11.10 GraphQL Vulnerabilities
3.11.10.1 Injection-Based Attack Scenarios
3.11.10.2 Request-Forgery Attack Scenarios
3.11.10.3 Nested Queries & DOS
3.11.10.4 Node-Based & Edge-Based Access Control
3.11.10.5 Mutation-Based Attacks
ویژگی های دوره
- عناوین 3
- امتحانات 0
- مدت 21 ساعت
- سطح مهارت پیشرفته
- زبان فارسی و انگلیسی
- دانشجویان 0
- گواهی بله
- ارزیابی ها بله
-
سرفصلهای این دوره