![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
[多选题]
关于缓冲区溢出的原理正确的是()。
A.缓冲区溢出是由编程错误引起的
B.如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,这时缓冲区溢出就会发生
C.一小部分数据或者一套指令的溢出就可能导致一个程序或者操作系统崩溃。
D.C语言具有检查边界的功能
查看答案
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
A.缓冲区溢出是由编程错误引起的
B.如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,这时缓冲区溢出就会发生
C.一小部分数据或者一套指令的溢出就可能导致一个程序或者操作系统崩溃。
D.C语言具有检查边界的功能
A.程序调用了没有进行边界检查的函数来访问(写操作)缓冲区
B.程序编译时在堆栈上分配了固定大小的缓冲区,并且在对缓冲区进行访问时没有提供边界检查
C.程序启用了GS检查
D.缓冲区开辟过大
A.缓冲区溢出攻击都是一次完成攻击代码植入和程序转向攻击代码两种功能
B.攻击者将目标定为具有溢出漏洞的自动变量,然后向程序传递超长的字符串,进而引发缓冲区溢出
C.C语言的缺点是缺乏类型安全
D.传统安全工具如防火墙对缓冲区溢出攻击方式无能为力
A.比特差错
B.发送缓冲区溢出
C.接收缓冲区溢出
D.发送器和接收器的冲突