pwnhard

cppub

miptctf

C++ vector iterator invalidation after erase() leads to OOB read. Fake std::string spray converts OOB into arbitrary read (heap leak, libc leak via unsorted bin, stack leak via environ). Tcache poisoning redirects allocation to stack for ROP chain. system('/bin/sh') gives shell. glibc 2.35, no __free_hook.

$ ls tags/ techniques/
iterator_invalidation_oobfake_std_string_arbitrary_readtcache_poisoning_stackenviron_stack_leaksafe_linking_decryptrop_chain_on_stack

🔒

Permission denied (requires tier.pro)

Sign in to access full writeups

Create a free account with GitHub, then upgrade to Pro.

$ssh [email protected]