就目前遇到的栈溢出题目而言,使用ida就可以完成便宜的计算。
这些栈溢出题目,基本上不需要调试,ida本身提供的栈空间数据就可以实现偏移的计算。
BUUCTF:bjdctf_2020_babystack2
这道题目,我们看ida:
具体做法不细说,主要看偏移:
buf和nbyte
看栈空间:
下方没有s只有r,而r就是返回地址
给了后门函数,那就利用read函数,达到缓冲区溢出的目的。
+0x8-(-0x10)=0x18=24
偏移就是二十四。
以上只是本人拙见,栈溢出偏移困扰了我很久,希望这次不会再出错。