ciscn_2019_s_4 附件 步骤: 例行检查,32位程序,开启了nx保护 本地试运行一下,看看大概的情况,两次输入,让人联想到栈迁移 32位ida载入,找到关键函数,只可以溢出8字节,没法构造太长的rop, 程序最后是用leave和retn还原现场的,首先想到的就是栈迁移 leave实质 上是move esp,ebp和pop ebp,将栈底地址赋给栈顶,然后在重新设置栈底地址,我的理解是重新开栈 retn实质上是pop rip,设置下一条执行指令的地址 利用思路 利用第一个输入点来泄露e…