Advanced

Log4j Exploit: A Technical Deep Dive

Log4Shell (rooted in CVE-2021-44228, with follow-on fixes across CVE-2021-45046 and CVE-2021-45105) demonstrated how a single logging-library feature — automatic JNDI lookup evaluation in...

Log4Shell affects any application that logs attacker-controlled input through a vulnerable version of the Apache Log4j logging library. The vulnerability is not tied to a single input field — it can be triggered through any field that ends up being written to a log message, such as an HTTP User-Agent header, a URI, a login field, or any custom application field that happens to pass through Log4j.

A critical detail is that this is a two-stage exploit: the initial malicious string being logged does not immediately execute anything. The application first has to make that external callout for the attack to complete. This delay between injection and execution is itself an important defensive control point, discussed later in the prevention section.

It is also important to understand that having Log4j present in an application does not automatically mean that application is exploitable — exploitability depends entirely on how the library is implemented and configured within that specific application. Every real-world attack still has to be customized against each specific vulnerable target.

Sign in to read this course

A free account unlocks all 514 courses. 20 are readable without one.

What's inside

6 sections
  1. 1 Table of Contents
  2. 2 Module 1: Log4Shell Recap and Core Exploitation Mechanics
  3. 3 Module 2: CVEs, Exploitation in the Wild, and Threat Actor Activity
  4. 4 Module 3: Hands-On Exploitation and Detection Walkthrough
  5. 5 Module 4: Prevention and Mitigation Strategies
  6. 6 Summary

More Vulnerability Briefings courses

View all 30

Interested in this course?

Contact us to book it or get a custom training plan for your team.