File | Technique | Glibc-Version | Applicable CTF Challenges |
---|---|---|---|
first_fit.c | Demonstrating glibc malloc’s first-fit behavior. | ||
fastbin_dup.c | Tricking malloc into returning an already-allocated heap pointer by abusing the fastbin freelist. | ||
fastbin_dup_into_stack.c | Tricking malloc into returning a nearly-arbitrary pointer by abusing the fastbin freelist. | latest | 9447-search-engine, 0ctf 2017-babyheap |
fastbin_dup_consolidate.c | Tricking malloc into returning an already-allocated heap pointer by putting a pointer on both fastbin freelist and unsorted bin freelist. | latest | Hitcon 2016 SleepyHolder |
unsafe_unlink.c | Exploiting free on a corrupted chunk to get arbitrary write. | < 2.26 | HITCON CTF 2014-stkof, Insomni’hack 2017-Wheel of Robots |
house_of_spirit.c | Frees a fake fastbin chunk to get malloc to return a nearly-arbitrary pointer. | latest | hack.lu CTF 2014-OREO |
poison_null_byte.c | Exploiting a single null byte overflow. | < 2.26 | PlaidCTF 2015-plaiddb |
house_of_lore.c | Tricking malloc into returning a nearly-arbitrary pointer by abusing the smallbin freelist. | < 2.26 | |
overlapping_chunks.c | Exploit the overwrite of a freed chunk size in the unsorted bin in order to make a new allocation overlap with an existing chunk | < 2.26 | hack.lu CTF 2015-bookstore, Nuit du Hack 2016-night-deamonic-heap |
overlapping_chunks_2.c | Exploit the overwrite of an in use chunk size in order to make a new allocation overlap with an existing chunk | latest | |
house_of_force.c | Exploiting the Top Chunk (Wilderness) header in order to get malloc to return a nearly-arbitrary pointer | latest | Boston Key Party 2016-cookbook, BCTF 2016-bcloud |
unsorted_bin_into_stack.c | Exploiting the overwrite of a freed chunk on unsorted bin freelist to return a nearly-arbitrary pointer. | < 2.26 | |
unsorted_bin_attack.c | Exploiting the overwrite of a freed chunk on unsorted bin freelist to write a large value into arbitrary address | < 2.26 | 0ctf 2016-zerostorage |
large_bin_attack.c | Exploiting the overwrite of a freed chunk on large bin freelist to write a large value into arbitrary address | < 2.26 | 0ctf 2018-heapstorm2 |
house_of_einherjar.c | Exploiting a single null byte overflow to trick malloc into returning a controlled pointer | < 2.26 | Seccon 2016-tinypad |
house_of_orange.c | Exploiting the Top Chunk (Wilderness) in order to gain arbitrary code execution | < 2.26 | Hitcon 2016 houseoforange |
tcache_dup.c | Tricking malloc into returning an already-allocated heap pointer by abusing the tcache freelist. | > 2.25 | |
tcache_poisoning.c | Tricking malloc into returning a completely arbitrary pointer by abusing the tcache freelist. | > 2.25 | |
tcache_house_of_spirit.c | Frees a fake chunk to get malloc to return a nearly-arbitrary pointer. | > 2.25 |
first_fit.c
1 |
|
1 | output: |
—————————————————————————————————————————————————
fastbin_dup.c
1 |
|
1 | output: |
—————————————————————————————————————————————————
fastbin_dup_into_stack.c
1 |
|
1 | output: |
fastbin_dup_consolidate.c
1 |
|
1 | output: |
unsafe_unlink.c
1 |
|
1 | output: |