Extended Web application security in Python (EWASEC-PY) – Outline

Detailed Course Outline

Day 1

  • Cyber security basics
    • What is security?
    • Threat and risk
    • Cyber security threat types – the CIA triad
    • Consequences of insecure software
  • The OWASP Top Ten 2021
    • The OWASP Top 10 2021
    • A01 - Broken Access Control
      • Access control basics
      • Failure to restrict URL access
      • Confused deputy
      • File upload
      • Cross-site Request Forgery (CSRF)
    • A02 - Cryptographic Failures
      • Information exposure
      • Cryptography for developers

    Day 2

    • A03 - Injection
      • Input validation
      • Injection
      • SQL injection
      • Parameter manipulation
      • Code injection
      • HTML injection - Cross-site scripting (XSS)

    Day 3

    • A04 - Insecure Design
      • The STRIDE model of threats
      • Secure design principles of Saltzer and Schroeder
      • Client-side security
    • A05 - Security Misconfiguration
      • Configuration principles
      • Server misconfiguration
      • Python configuration best practices
      • Cookie security
      • XML entities
    • A06 - Vulnerable and Outdated Components
      • Using vulnerable components
      • Assessing the environment
      • Hardening
      • Untrusted functionality import
      • Malicious packages in Python
      • Vulnerability management

    Day 4

    • A07 - Identification and Authentication Failures
      • Authentication
      • Session management
      • Password management
    • A08 - Software and Data Integrity Failures
      • Integrity protection
      • Subresource integrity
    • A09 - Security Logging and Monitoring Failures
      • Logging and monitoring principles
      • Insufficient logging
      • Case study – Plaintext passwords at Facebook
      • Logging best practices
      • Monitoring best practices
    • A10 - Server-side Request Forgery (SSRF)
      • Server-side Request Forgery (SSRF)
      • Case study – SSRF and the Capital One breach
    • Web application security beyond the Top Ten
      • Denial of service
    • Wrap up
      • Secure coding principles
      • And now what?