小编Max*_* S.的帖子

缓冲区溢出仍然存在?

我正在观看有关缓冲区溢出的大学讲座,教授最后说道

即使我们能够使用漏洞利用代码填充缓冲区并跳转到该代码,我们仍然无法执行它.

他提到的原因是:

  1. 程序员避免使用导致溢出的函数.

  2. 随机堆栈偏移:在程序开始时,在堆栈上分配随机的空间量,使得难以预测插入代码的开始.

  3. 使用技术来检测堆栈损坏.

  4. 不可执行的代码段:仅允许代码从内存的"文本"部分执行.

现在我想知道,现在缓冲区溢出攻击是否仍然存在?或者它已经过时了.

详细解答将非常感谢!

c linux security buffer-overflow

2
推荐指数
1
解决办法
1101
查看次数

为什么sizeof unsigned char数组[10]是10

char的大小是1个字节,维基百科说:

sizeof用于计算任何数据类型的大小,以表示类型所需的字节数来度量.

但是,我可以在0..10中存储11个字节unsigned char array[10]但是当我这样做时sizeof(array)我得到10个字节.有人可以解释这个行为吗?

注意:我在int数据类型上尝试了这个,sizeof(数组)是40,我希望它是44.

c sizeof

1
推荐指数
2
解决办法
4632
查看次数

标签 统计

c ×2

buffer-overflow ×1

linux ×1

security ×1

sizeof ×1