缓冲区溢出堆栈卫士
问题描述:
我不确定如果我在正确的位置发布此特定作业。但我希望有人能帮助我。缓冲区溢出堆栈卫士
这是关于缓冲区溢出
http://nsfsecurity.pr.erau.edu/bom/Smasher.html
和:
http://nsfsecurity.pr.erau.edu/bom/StackGuard.html
请问你们是否知道我怎么能得到它显示 “哦,麻烦”。这是关于Stack Guard和粉碎机。
我试过输入“D”,因为它确实说了ACSII 0x44的提示,但我迷失了方向。
答
这将是一个漫长的教程。如计算机系统:程序员的视角中所述,基本上,您需要覆盖返回地址,以便函数返回时(汇编语言中为ret
)%pc
计数器设置为某个地址(通常位于堆栈上)。然后该程序继续执行错误的地址,以便您可以执行其他操作。
您需要拆卸二进制文件并检查程序集。单步执行gdb
或ntsd
可能会有所帮助。
+0
我试过了你所给的一切,但可惜我没有得到“哦,麻烦”的回应。 – TrippedStackers 2013-02-19 01:06:02
答
我知道这是非常晚,但我只是发现了这一点。 D必须进入缓冲区溢出。例如,HELLOHOWARD在缓冲区溢出中有D。
你应该和你的助教/教授交谈。 – 2013-02-16 01:35:39
你想做什么_exactly_? – vonbrand 2013-02-16 01:42:08
基本上就是那个吐出“哦,打扰”的地方,“进入东西”区域是为了方块。 – TrippedStackers 2013-02-16 02:42:23