Full Stack Web Attack (Java Edition) - Syllabus


Please note: This syllabus is subject to change at the discretion of the instructor.

Day 1

Introduction

  • Java language fundamentals
  • Debugging Java applications

Framework Overview

  • Spring MVC
  • Struts v1/2

Authentication Bypasses

  • Auditing Servlet Filters
  • Auditing Interceptors
  • Common authentication bypass patterns

Java deserialization primer

  • Serializable interface
  • Externalizable interface
  • Unmarshalling vs Deserialization, whats the difference?
  • Understanding Reflection
  • Reflection in practice

Java deserialization exploitation

  • Pivot gadgets
  • Building upon ysoserial
  • Custom gadget chain creation

Day 2

JNDI Injection

  • RMI and JRMP overview
  • Remote class loading
  • DGC deserialization
  • Local object exploitation
  • Application specific exploitation

Analyzing the Struts Framework

  • Action Mappings
  • Dynamic Method Invocation
  • Interceptor Stacks
  • Case study: Do I even exist? - Analyzing an edge-case RCE vulnerability
  • Case study: Devil in the details - Analyzing a TOCTOU framework vulnerability

Day 3

JDBC Injection

  • Common drivers and their exploitation primitives
  • Discovering your own driver primitives

Server-side template injection

  • Analyzing and exploiting CVE-2022-22954

Java Bean Validation - Attacking Custom Validators

  • Analyzing and exploiting CVE-2022-31700