gpt4 book ai didi

c - 随机大小缓冲区的缓冲区溢出? (得到)

转载 作者:行者123 更新时间:2023-11-30 19:41:22 28 4
gpt4 key购买 nike

我正在尝试了解有关在程序中利用/防止缓冲区溢出的方法的更多信息。我知道如果大小是恒定的,下面的代码很容易受到攻击,但是如果大小每次都是随机的怎么办?是否还有办法从堆栈中获取它并以某种方式动态改变溢出字符的数量?

void vulnFunc(int size){
char buffer[size];
gets(buffer);
// Arbitrary code
}

最佳答案

考虑 fgets(buf, sizeof(buf)-1, stdin);

使用标准输入和与您的缓冲区匹配的大小。会很安全的。还有其他可能性,例如使用 getc(stdin) 循环:当数据变得大于您的缓冲区可以重新分配()。

关于c - 随机大小缓冲区的缓冲区溢出? (得到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33622989/

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