Post

PerfectRoot CTF 2025 Heap Heap Hooray 1/2 write up

In December 2025, i participated to PerfectRoot CTF with my team Where we finish 3rd over 500+ competitors team. I learnt a lot of thing during this Capture the flag . Especially Heap exploitation after doing two challenges about Heap Exploit.

This article is a writeup about Heap Heap Hooray and Heap Heap Hooray 2. Two challenges about Heap exploitation that help me to learn a lot of things about heap exploitation

The exploits path of those challenge were like this:

  • Heap Heap Hooray 1: ```sh
  • Exploit Use After Free (UAF) to leak heap mangled adress
  • Calulate the original adress from the mangled adress to bypass heap Safe-linking
  • Exploit Heap Buffer Overflow to overwrite Struct function pointer to replace it with admin_notify function
  • Trigger the program Call admin_notify to ritrieve the flag ```

  • Heap Heap Hooray 2: On this version, the purspose was not to call admin function but use UAF and Heap Boof to overwrite return address of function on stack. The exploit path is Below ```sh
  • Exploit UAF to read address of main_arena on unsorted bin
  • Use main arena_address to compute libc address
  • After getting Libc Address, Read libc environ pointer to get stack address,
  • Create rop chain on the stack to call system and get a shell ```
This post is licensed under CC BY 4.0 by the author.