Lion Cipher Lab

Exploit the heap with the House of Force (and why modern glibc killed it)

Why it matters

House of Force is the most vivid lesson in heap exploitation history: a single unchecked subtraction inside malloc let an attacker turn one size overwrite plus one giant allocation request into an arbitrary write anywhere in memory. It ruled 2010s CTF and real-world heap exploitation — and then glibc 2.29 added one sanity check and killed it almost overnight. Learning it teaches two durable skills at once. First, the mechanic: how the top ('wilderness') chunk works and why unchecked pointer arithmetic on it is catastrophic. Second, and more importantly, the JUDGMENT: how a defensive change of…

What you'll learn

Steps in this lab

  1. The one-sentence idea: bully the wilderness
  2. When this applied — and the one bug it needs
  3. Legal and ethical line — read before you run anything
  4. Spin up an OLD-glibc container — the version is the whole game
  5. Get how2heap and compile house_of_force.c with the right flags
  6. Run it and watch the arbitrary write land
  7. Inspect the top chunk moving in a debugger
  8. Now watch it DIE on modern glibc — and understand why
  9. What attackers moved to — and the durable takeaway

Open the full interactive lab →