JavaScript Security

دربارهی دوره (آنلاین)
JavaScript یکی از پرکاربردترین زبانهای برنامهنویسی در سامانههای تحت وب است. بهگونهای که کاربردهای وسیعی در پروژههای مختلف Front-End، Back-End و Full-Stack میتوان برای آن بر شمرد. همچنین بهترین زبان شناخته شده برای پیادهسازی بخشهای مختلف سمت کاربر است. این سطح از عمومیت JavaScript در وبسایتها، اهمیت ارزیابی کدهای نوشته شده توسط این زبان برنامهنویسی در راستای حفظ امنیت سامانههای آنلاین را بسیار بالا برده است.
از طرفی شکارچیان باگ نیز توجه ویژهای به آسیبپذیریهای ناشی از پیادهسازی نادرست JavaScript دارند. در واقع علاوه بر آسیبپذیریهایی که امکان دارد به صورت مستقیم و به دلیل پیادهسازی نادرست بخشهای مختلف یک وبسایت با استفاده از این زبان به وجود آید، شکارچیان باگ میتوانند با بهرهبرداری از ترکیب دانش خود از JavaScript با سایر آسیبپذیریهای مرتبط مانند XSS، به آسیبپذیریهای با سطح بالاتر دست پیدا کرده و در نتیجه جوایز بیشتری دریافت کنند. به همین دلیل است که از نظر خبرگان امنیت سایبری اعتقاد دارند دانش تست نفوذ یا هک بدون وجود دانش برنامهنویسی، هیچگاه شما را به یک هکر یا شکارچی تمامعیار تبدیل نخواهد کرد.
شما با شرکت در این دوره به مباحث زیر تسلط پیدا میکنید:
- ساختار کلی زبان جاوا اسکریپت
- ساختار مرورگرهای وب
- باگهای سمت کاربر
مدت زمان دوره
مدت زمان این دوره ۳۰ ساعت است که طی ۱۰ جلسهی ۳ ساعته، یکشنبه و چهارشنبهی هر هفته از ساعت ۱۸:۰۰ الی ۲۱:۰۰، به صورت آنلاین برگزار خواهد شد. شروع این دوره از روز یکشنبه ۱۱ دی ماه خواهد بود.
تخفیف ثبتنام زودهنگام
بلیط ثبتنام زودهنگام، بدون نیاز به وارد کردن کد تخفیف، در صفحهی ثبتنام دوره در پلتفرم ایوند تعریف شده است.
میزان تخفیف | فرصت ثبتنام | قیمت ثبتنام | ۲۰ درصد | تا یکشنبه ۴ دی | ۳,۲۰۰,۰۰۰ تومان |
---|
گواهینامهی دوره
برای دریافت گواهینامهی این دوره، ده روز پس از جلسهی پایانی، آزمونی برگزار خواهد شد که با قبولی در این آزمون، امکان صدور گواهینامهی دوره برای شما را خواهیم داشت. حضور در آزمون پایانی و دریافت گواهینامهی دوره برای شرکتکنندگان اختیاری است.
هزینهی چاپ و صدور گواهینامهی دوره: ۵۰ هزارتومان
این دوره به چه افرادی توصیه میشود؟
- کارشناسان ارزیابی امنیت/تست نفوذ/تیم قرمز
- متخصصین فعال در زمینهی Bug Bounty
- مشاورین امنیت سایبری
- برنامهنویسان وب (Front-End و Back-End)
برای حضور در این دوره چه دانشهایی باید داشته باشم؟
- آشنایی با مفاهیم امنیت وب
- آشنایی با یک زبان برنامهنویسی
- آشنایی با حملات سایبری پرکاربرد در زمینهی وب
سرفصلهای دوره
Chapter 1: JS Fundamentals
1.1 JS Basics
1.1.1 JS Environments
1.1.2 Parsing JavaScript
1.1.3 Variables
1.1.4 Data Types & Operators
1.1.5 Control Flow & Loops
1.1.6 Working with Reference Types
1.1.6.1 Objects
1.1.6.2 Arrays
1.1.6.3 Functions
1.1.7 Prototypes
1.1.8 Introduction to ES6
1.1.9 Encodings
1.2 Runtime Environments & Frameworks
1.2.1 NodeJS
1.2.1.1 NodeJS Architecture
1.2.1.2 NPM
1.2.1.3 NodeJS Modules
1.2.1.4 ExpressJS
1.2.2 AngularJS
1.2.2.1 AngularJS Architecture
1.2.2.2 AngularJS Expressions
1.2.2.3 AngularJS Modules
1.2.2.4 AngularJS Directives
1.2.3 VueJS
1.2.3.1 VueJS Architecture
1.2.3.2 VueJS Instances
1.2.3.3 VueJS Directives
1.2.4 ElectronJS
1.2.4.1 ElectronJS Architecture
1.2.4.2 The Native Node Modules
Chapter 2: Browser Under the Hood
2.1 Document Object Model
2.1.1 DOM Tree
2.1.2 DOM Manipulation
2.1.3 Event Handlers
2.2 Web APIs
2.3 Event Loop & Execution Flow
2.3.1 Asynchronous JavaScript
2.3.2 Task Queue
2.3.3 Callbacks
2.4 Cross-Window Messaging
2.5 Debugging in the Browser
2.6 Browser Security Mechanisms
Chapter 3: JS Recon
3.1 JS Files Use Cases
3.2 JS Files Enumeration
3.3 Static Analysis of JS Files
3.3.1 Identifying the Endpoints & Extend the Attack Surface
3.3.2 Identifying the Sensitive Tokens
3.3.3 Identifying the Vulnerable Components
3.3.4 Identifying the Unclaimed Dependencies
3.3.5 Identifying the Sources & Sinks
Chapter 4: XSS & CSRF
4.1 CSRF
4.1.1 Root Cause
4.1.2 Detection & Exploitation Techniques
4.2 XSS
4.2.1 Reflected XSS (RXSS)
4.2.1.1 Root Cause
4.2.1.2 Detection & Exploitation Techniques
4.2.2 Stored XSS
4.2.2.1 Detection & Exploitation Techniques
4.2.3 Blind XSS
4.2.3.1 Detection & Exploitation Techniques
4.2.3.2 Automation
4.2.4 Self-XSS
4.2.4.1 Self-XSS Chaining Scenarios
4.2.5 DOM XSS
4.2.5.1 Root Cause
4.2.5.2 Detection & Exploitation Techniques
4.2.6 Client-Side Race Condition to DOM XSS
4.2.7 DOM Clobbering
4.2.7.1 DOM Clobbering to DOM XSS
4.2.7.2 Multi-Level DOM Clobbering
4.2.8 Mutation XSS
4.2.9 Server-Side XSS (PDF Generators)
4.2.10 XSS to RCE in Electron Apps
4.2.11 CSP Bypass
4.2.12 Hunting Methodology
Chapter 5: Client-Side Template Injection
5.1 Root Cause
5.2 CSTI in AngularJS
5.3 CSTI in VueJS
5.4 Hunting Methodology
Chapter 6: Prototype Pollution
6.1 Root Cause
6.2 Prototype Pollution to DOM XSS
6.3 Prototype Pollution to RCE
6.4 Hunting Methodology
Chapter 7: Cross-Origin Attacks
7.1 CORS Misconfiguration
7.1.1 Detection & Exploitation Techniques
7.1.2 Hunting Methodology
7.2 postMessage Attack Scenarios
7.2.1 postMessage to DOM XSS
7.2.2 postMessage to Information Disclosure
7.2.3 postMessage Chaining Scenarios
7.2.4 Hunting Methodology
7.3 Insecure JSONP Calls
7.3.1 Detection & Exploitation Techniques
7.3.2 JSONP Chaining Scenarios
7.3.3 Hunting Methodology
Chapter 8: Server-Side JavaScript Injection
8.1 Root Cause
8.2 Detection & Exploitation Techniques
8.3 Developing a Custom WebShell
ویژگی های دوره
- درس 8
- آزمونها 1
- مدت زمان 30 ساعت
- سطح مهارت متوسط
- زبان فارسی و انگلیسی
- دانشجویان 25
- گواهی نامه بله
- ارزیابی بله