【发布时间】:2013-04-30 22:19:02
【问题描述】:
我一直在通过一个将字符串作为参数的 c 程序来试验缓冲区溢出。然后它(我认为?不是很熟悉所讨论的漏洞)将 strcpy 调用为长度为 64 的字符串,而不检查参数字符串的长度,因此超过我的 64 值的部分将覆盖堆栈的其他部分。
我相信每个有问题的字符都被转换为 ASCII 中的十六进制对应字符,然后写入堆栈。但是,由于 ASCII 只能达到 7E,那么有人如何将 7F 和 9F 之间的任何值放入堆栈?
我知道我并不真正理解这个话题,如果有人想澄清他们的答案到底发生了什么,那将非常受欢迎。
【问题讨论】: