0x00 overview
structure
It clears that there is a struct named O.

member name has 24 bits size, send name from our input to 0->name
checksec

nice! Many knowledge can be learned through these process: (BOF, FSB, UAF).
0x01 Buffer overflow & Shellcode
exploit condition
NX disabled
overwrite 0x20 + 8(rbp) + shellcode
But find id size only 8.