永发信息网

以下哪个开发要求可以防止内存操作缓冲区溢出攻击

答案:1  悬赏:30  手机版
解决时间 2021-11-16 04:36
  • 提问者网友:暗中人
  • 2021-11-15 19:06
以下哪个开发要求可以防止内存操作缓冲区溢出攻击
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-11-15 20:28
C语言常用的strcpy、sprintf、strcat 等函数都非常容易导致缓冲区溢出问题。

程序运行时,其内存里面一般都包含这些部分:

(1)程序参数和程序环境;

(2)程序堆栈(堆栈则比较特殊,主要是在调用函数时来保存现场,以便函数返回之后能继续运行),它通常在程序执行时增长,一般情况下,它向下朝堆增长。
(3)堆,它也在程序执行时增长,相反,它向上朝堆栈增长;

(4)BSS 段,它包含未初始化的全局可用的数据(例如,全局变量);

(5)数据段,它包含初始化的全局可用的数据(通常是全局变量);

(6)文本段,它包含只读程序代码。

BSS、数据和文本段组成静态内存:在程序运行之前这些段的大小已经固定。程序运行时虽然可以更改个别变量,但不能将数据分配到这些段中。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯