gpt4 book ai didi

C 获取代码在 Windows 7 上不会出现段错误

转载 作者:行者123 更新时间:2023-11-30 18:53:55 25 4
gpt4 key购买 nike

请勿使用易受攻击的代码

#include <stdio.h>
int main(int argc, char **argv)
{
char buf[8]; // buffer for eight characters
gets(buf); // read from stdio (sensitive function!)
printf("%s\n", buf); // print out data stored in buf
return 0; // 0 as return value
}

我正在使用上面的代码(来自 OWASP https://www.owasp.org/index.php/Buffer_overflow_attack ),它根本不会出现段错误。

我执行了 OWASP 输入显示的操作,但 cmd 只是将其打印出来并退出。无段错误。 Windows 是否隐藏了异常?

最佳答案

如果您尝试访问不允许程序读/写的内容,则只会出现段错误。由于您的数组是在堆栈上分配的(IIRC 这是实现定义的,但可能是),因此您可能有合理的空间量,可以在出现段错误之前缓冲溢出。

关于C 获取代码在 Windows 7 上不会出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31613140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com