【问题标题】:Buffer Overflow Stack Guard缓冲区溢出堆栈防护
【发布时间】:2013-02-16 01:17:42
【问题描述】:

我不确定我是否在适合此特定任务的位置发帖。但我希望有人能帮助我。

关于缓冲区溢出

http://nsfsecurity.pr.erau.edu/bom/Smasher.html

和:

http://nsfsecurity.pr.erau.edu/bom/StackGuard.html

你们会不会碰巧知道我如何让它显示“哦,麻烦”。这是关于 Stack Guard 和 Smasher 的。

我尝试输入“D”,因为它确实提示了 ACSII 0x44,但我迷路了。

【问题讨论】:

  • 你应该和你的助教/教授谈谈。
  • 究竟想做什么?
  • 基本上让它吐出“哦,麻烦”,其中“输入一些东西”区域用于框。

标签: buffer-overflow


【解决方案1】:

制作教程太长了。正如Computer Systems: A Programmer's Perspective中所述,基本上您需要覆盖返回地址,以便在函数返回时(在汇编语言中,ret%pc 计数器设置为某个地址(通常在堆栈上)。然后程序继续在那个错误的地址上执行,这样你就可以执行别的东西了。

您需要反汇编二进制文件并检查程序集。使用gdbntsd 单步执行可能会有所帮助。

【讨论】:

  • 我尝试了你提供的一切,但遗憾的是我没有得到“哦,麻烦”的回应。
【解决方案2】:

我知道这已经很晚了,但我才发现这个。 D 必须进入缓冲区溢出。例如,HELLOHOWARD 在缓冲区溢出时有 D。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多