【发布时间】:2019-02-07 18:23:57
【问题描述】:
我目前正在学习缓冲区溢出攻击。 我知道这个想法是覆盖返回地址。
返回地址指向函数调用之后的语句。我想知道的是:这个指针是否指向程序的文本段?还是它指向堆或其他东西?
非常感谢您的帮助!
【问题讨论】:
-
这是高度特定于平台的。返回地址甚至不一定在堆栈上。
-
@EugeneSh。事实上,除了 x86(_64) 之外的大多数架构都使用链接寄存器
-
@GovindParmar 确实(虽然不确定“大多数”)。但显然他们仍然使用堆栈进行嵌套调用。
-
“缓冲区溢出”的目的不是“覆盖返回地址”。这就是缓冲区溢出利用的目的;否则溢出本身只是一个运行时错误。
-
这里的program是什么意思?文本段?我正在考虑这个数字:google.com/…:
标签: c return buffer-overflow exploit