ret2syscall checksec 查找溢出点 计算偏移量 1 手动计算 2 脚本 3 其实peda可以直接填充 systemcall 1 自动化脚本 2 手动构造 checksec 查找溢出点 计算偏移量 1 手动计算 0x8048e8f和0x8048e93这两行明显是为调用函数准备参数,把参数的地址给压栈。这个地址就是gets函数写入地址的起始地址,也就是eax,此时距基址的距离是EBP-EAX,由于是32位,所以返回地址在EBP-EAX+4的距离。 2 脚本 我们可以直接输入一个有序的长输出,然后观察EBP的基址是被哪一个下标的值所代替,之后根据该值返回去寻找下标来得到偏移量。 下断点 远程调试,输入一个长输入: