Web application security in Java and C# (WASEC-JC#) – 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
      • Missing or improper authorization
      • Failure to restrict URL access
      • Confused deputy
      • File upload
      • Open redirects and forwards
      • Cross-site Request Forgery (CSRF)
    • A02 - Cryptographic Failures
      • Information exposure
      • Cryptography for developers

    Day 2

    • A02 - Cryptographic Failures (continued)
      • Cryptography for developers
    • A03 - Injection
      • Injection principles
      • Injection attacks
      • SQL injection
      • Parameter manipulation
      • Code injection
      • HTML injection - Cross-site scripting (XSS)

    Day 3

    • A03 - Injection (continued)
      • Input validation
    • 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
      • ASP.NET and IIS configuration best practices
      • Cookie security
      • XML entities
    • A06 - Vulnerable and Outdated Components
      • Using vulnerable components
      • Assessing the environment
      • Hardening
      • Untrusted functionality import
      • Vulnerability management

    Day 4

    • A07 - Identification and Authentication Failures
      • Authentication
      • Session management
      • Password management
    • A08 - Software and Data Integrity Failures
      • Integrity protection
      • Subresource integrity
      • Insecure deserialization
    • A09 - Security Logging and Monitoring Failures
      • Logging and monitoring principles
      • Log forging
      • Log forging – best practices
      • Case study – Log interpolation in log4j
      • Case study – The Log4Shell vulnerability (CVE-2021-44228)
      • Case study – Log4Shell follow-ups (CVE-2021-45046, CVE-2021-45105)
      • Logging best practices
    • A10 - Server-side Request Forgery (SSRF)
      • Server-side Request Forgery (SSRF)
      • Case study – SSRF and the Capital One breach
    • Wrap up
      • Secure coding principles
      • And now what?