问题描述
我对缓冲区溢出和类似利用技术的理解是,如果您能够将比分配给缓冲区的数据更多的数据放入缓冲区,则可以写入不打算写入的内存区域。如果您使用类似 C 字符串函数(例如,gets())写入数据,那么数据将按升序写入,最终超出缓冲区的末尾,然后到达内存区域返回地址被存储,可以在其中修改,但这不会发生在升序堆栈上。在升序堆栈上,数据将延伸到缓冲区的末尾,然后到达未使用的内存而不是返回地址,因此攻击者不可能注入他们选择的返回地址。我对堆栈和缓冲区溢出漏洞的理解是否正确?如果是这样,如果降序堆栈会导致漏洞,为什么要使用降序堆栈?仅仅是因为遗留问题吗?还是因为有防御措施可以防止缓冲区溢出漏洞?或者是否有可用于对抗升序堆栈的等效攻击?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)