Lab: FlagYard Lab 5 (PWN) · Points: 300
A stripped binary with a buffer overflow and a puts call we can abuse to leak a
libc address from the GOT. Classic ret2libc: leak puts → compute system and
/bin/sh → return into system("/bin/sh").
pop rdi; ret gadget + GOT entry of puts + puts@plt + main.pop rdi; ret + bin_sh + system.FlagY{aa78a3b3cfc9bf5b46b24e28d415246c984b186742bde392bd17d9ec6675d97c} — submitted, +300.
If you have any libc function leaking, you own the box. Always check for a
puts/printf GOT entry you can leak through.