以下哪个开发要求可以防止内存操作缓冲区溢出攻击
答案: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、数据和文本段组成静态内存:在程序运行之前这些段的大小已经固定。程序运行时虽然可以更改个别变量,但不能将数据分配到这些段中。
程序运行时,其内存里面一般都包含这些部分:
(1)程序参数和程序环境;
(2)程序堆栈(堆栈则比较特殊,主要是在调用函数时来保存现场,以便函数返回之后能继续运行),它通常在程序执行时增长,一般情况下,它向下朝堆增长。
(3)堆,它也在程序执行时增长,相反,它向上朝堆栈增长;
(4)BSS 段,它包含未初始化的全局可用的数据(例如,全局变量);
(5)数据段,它包含初始化的全局可用的数据(通常是全局变量);
(6)文本段,它包含只读程序代码。
BSS、数据和文本段组成静态内存:在程序运行之前这些段的大小已经固定。程序运行时虽然可以更改个别变量,但不能将数据分配到这些段中。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯