缓冲区溢出堆栈卫士

问题描述:

我不确定如果我在正确的位置发布此特定作业。但我希望有人能帮助我。缓冲区溢出堆栈卫士

这是关于缓冲区溢出

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

和:

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

请问你们是否知道我怎么能得到它显示 “哦,麻烦”。这是关于Stack Guard和粉碎机。

我试过输入“D”,因为它确实说了ACSII 0x44的提示,但我迷失了方向。

+1

你应该和你的助教/教授交谈。 – 2013-02-16 01:35:39

+0

你想做什么_exactly_? – vonbrand 2013-02-16 01:42:08

+0

基本上就是那个吐出“哦,打扰”的地方,“进入东西”区域是为了方块。 – TrippedStackers 2013-02-16 02:42:23

这将是一个漫长的教程。如计算机系统:程序员的视角中所述,基本上,您需要覆盖返回地址,以便函数返回时(汇编语言中为ret%pc计数器设置为某个地址(通常位于堆栈上)。然后该程序继续执行错误的地址,以便您可以执行其他操作。

您需要拆卸二进制文件并检查程序集。单步执行gdbntsd可能会有所帮助。

+0

我试过了你所给的一切,但可惜我没有得到“哦,麻烦”的回应。 – TrippedStackers 2013-02-19 01:06:02

我知道这是非常晚,但我只是发现了这一点。 D必须进入缓冲区溢出。例如,HELLOHOWARD在缓冲区溢出中有D。