PHASE 1 – JAVASCRIPT FUNDAMENTALS
- Variables (var, let, const)
- Data Types (string, number, boolean, null, undefined, object, array, symbol)
- Type Conversion & Type Coercion
- Operators (arithmetic, comparison, logical, ternary)
- Conditionals (if, else, switch)
- Loops (for, while, do-while, for…of, for…in)
- Functions (declaration, expression, arrow functions)
- Parameters & Return values
- Scope (global, function, block)
- Hoisting
- Closures
- The “this” keyword
- Execution Context
- Call Stack
- Error Handling (try, catch, finally, throw)
PHASE 2 – OBJECTS & ARRAYS
- Objects (creation, properties, methods)
- Object Destructuring
- Spread Operator (…)
- Rest Parameters
- Arrays (creation & indexing)
- Array Methods (map, filter, reduce, forEach, find, some, every)
- JSON (JSON.parse, JSON.stringify)
- Prototypes
- Prototype Chain
- ES6 Classes
- Constructor Functions
PHASE 3 – ASYNCHRONOUS JAVASCRIPT
- Synchronous vs Asynchronous
- Callbacks
- Callback Hell
- Promises
- Promise Chaining
- async / await
- Event Loop
- Microtasks vs Macrotasks
- setTimeout / setInterval
PHASE 4 – DOM & BROWSER ENVIRONMENT (CRITICAL FOR BUG BOUNTY)
- DOM Tree Structure
- document object
- getElementById
- getElementsByClassName
- querySelector / querySelectorAll
- innerHTML vs textContent
- createElement
- appendChild / removeChild
- Event Listeners
- Event Bubbling & Capturing
- Prevent Default
- window object
- location object
- history object
- navigator object
- localStorage
- sessionStorage
- Cookies
- document.cookie
- fetch API
- XMLHttpRequest (XHR)
- Form handling in JS
- File uploads in JS
PHASE 5 – WEB SECURITY RELATED JAVASCRIPT
- DOM-based XSS
- Reflected XSS
- Stored XSS
- innerHTML injection risks
- eval() risks
- setTimeout string execution risk
- PostMessage API
- CORS
- CSRF basics
- JWT structure & decoding
- Token storage (localStorage vs cookies)
- Same Origin Policy
- Open Redirect via JS
- Client-side validation bypass
- Race Conditions in JS
- Clickjacking basics
PHASE 6 – ADVANCED & MODERN JAVASCRIPT
- Modules (import/export)
- ES6+ features
- Dynamic Imports
- Source Maps
- Minified Code Reading
- Debugging in DevTools
- Breakpoints
- Network Tab Analysis
- Extracting API Endpoints from JS
- Understanding SPA (Single Page Applications)
- Client-side Routing
- REST APIs
- GraphQL basics
- Prototype Pollution
- Object.assign risks
- Deep merge vulnerabilities
PHASE 7 – FRAMEWORK AWARENESS (Basic Understanding Only)
- React basics
- Angular basics
- Vue basics
- State management concepts
- Component lifecycle
- Virtual DOM concept
PHASE 8 – PRACTICAL SKILLS
- Reading large JS files
- Beautifying JS code
- Finding hidden parameters
- Understanding business logic in JS
- Identifying trust boundaries
- Mapping frontend to backend APIs
- Intercepting requests with Burp Suite
- Replaying API requests
- Modifying JSON requests
END GOAL:
Be able to read any production JavaScript file and understand:
- What data is sent
- Where it is sent
- How it is validated
- What can be manipulated
