Course Code: bspowaspdev
Duration: 28 hours
Prerequisites:

Bespoke course for GK/Kirstee Taylor

Course Outline:

Module. The Structure of a Modern Web Application

Modern Versus Legacy Web Applications

REST APIs

JavaScript Object Notation

JavaScript

Understanding the Browser DOM

SPA Frameworks usage

Authentication and Authorization Systems

Web Servers

Server-Side Databases

Client-Side Data Stores

Module. API Analysis

Endpoint Discovery

The Authentication Mechanisms

Module. Identifying Third-Party Dependencies

Detecting Client-Side Frameworks

Detecting SPA Frameworks

Detecting JavaScript Libraries

Detecting CSS Libraries

Detecting Server-Side Frameworks

Header Detection

Default Error Messages and 404 Pages

Database Detection

Module. Identifying Weak Points in Application Architecture

Secure Versus Insecure Architecture Signals

Multiple Layers of Security

Adoption and Reinvention

Module. Cross-Site Scripting (XSS)

XSS Discovery and Exploitation

Stored XSS

Reflected XSS

DOM-Based XSS

Mutation-Based XSS

Module. Defending Against XSS Attacks

Anti-XSS Coding Best Practices

Sanitizing User Input

DOMParser Sink

SVG Sink

Blob Sink

Sanitizing Hyperlinks

HTML Entity Encoding

CSS

Content Security Policy for XSS Prevention

Script Source

Unsafe Eval and Unsafe Inline

Implementing a Content Security Policy

Module. Cross-Site Request Forgery (CSRF)

Query Parameter Tampering

Alternate GET Payloads

CSRF Against POST Endpoints

Module. Defending Against CSRF Attacks

Header Verification

CSRF Tokens

Stateless CSRF Tokens

Anti-CRSF Coding Best Practices

Stateless GET Requests

Application-Wide CSRF Mitigation

Module. XML External Entity (XXE)

Direct XXE

Indirect XXE

Module. Defending Against XXE

Evaluating Other Data Formats

Advanced XXE Risks

Module. Injection

SQL Injection

Code Injection

Command Injection

Module. Defending Against Injection

Mitigating SQL Injection

Detecting SQL Injection

Prepared Statements

Database-Specific Defenses

Generic Injection Defenses

Potential Injection Targets

Principle of Least Authority

Whitelisting Commands

Module. Denial of Service (DoS)

regex DoS (ReDoS)

Logical DoS Vulnerabilities

Distributed DoS

Module. Defending Against DoS

Protecting Against Regex DoS

Protecting Against Logical DoS

Protecting Against DDoS

DDoS Mitigation

Module. Securing Modern Web Applications

Defensive Software Architecture

Comprehensive Code Reviews

Vulnerability Discovery

Vulnerability Analysis

Vulnerability Management

Regression Testing

Mitigation Strategies

Applied Recon and Offense Techniques

Module. Secure Application Architecture

Analyzing Feature Requirements

Authentication and Authorization

Secure Sockets Layer and Transport Layer Security

Secure Credentials

Hashing Credentials

Module. Reviewing Code for Security

How to Start a Code Review

Archetypical Vulnerabilities Versus Custom Logic Bugs

Where to Start a Security Review

Secure-Coding Anti-Patterns

Blacklists

Boilerplate Code

Trust-By-Default Anti-Pattern

Client/Server Separation

Module. Vulnerability Discovery

Security Automation

Static Analysis

Dynamic Analysis

Vulnerability Regression Testing

Responsible Disclosure Programs

Bug Bounty Programs

Third-Party Penetration Testing

Module. Vulnerability Management

Reproducing Vulnerabilities

Ranking Vulnerability Severity

Common Vulnerability Scoring System

CVSS: Base Scoring

CVSS: Temporal Scoring

CVSS: Environmental Scoring

Advanced Vulnerability Scoring

Beyond Triage and Scoring