PWN|醍醐灌顶之栈的理解

之前做题目,一直有一些在栈上似懂非懂的感觉,经过大佬指点现在懂了

Posted by Elli0t on 2020-04-25

推荐两个很好的学习网站, swing 大大大佬推荐的:
练习 ROP :https://ropemporium.com/
libc 数据库查找版本:https://libc.blukat.me/

分清两个概念:

  1. 函数调用栈
  2. 变量在函数调用栈中的储存位置和形式

buf

IDA 中变量右边的[rsp+0h] [rbp-80h]指的是同一个地方
这个就是说明 buf 在栈上的布局,所以栈溢出的偏移就是 0x88 + 0x4 = 140。
esp 是从高地址往低地址发展,但是变量的写入顺序(是高到低还是低到高)是由标志寄存器的 DF 决定的,后面👴调试的时候也证实了这一点。

参考链接

https://blog.csdn.net/huhaoxuan2010/article/details/77154341