C语言 指针——缓冲区溢出与缓冲区溢出攻击

目录

缓冲区溢出攻击

缓冲区溢出攻击实例

字符串的安全输入方法​编辑

防止缓冲区溢出的两个要点


缓冲区溢出攻击

网络黑客常针对系统和程序自身存在的漏洞,编写相应的攻击程序
对缓冲区溢出漏洞的攻击 ------ 最常见
几乎占到了网络攻击次数的一半以上
世界上第一个缓冲区溢出攻击
Internet 蠕虫 ------ 曾造成全球多台网络服务器瘫痪
何谓缓冲区溢出攻击?
利用缓冲区溢出漏洞进行的攻击
易引起缓冲区溢出攻击、不安全的函数
gets() 、 scanf() 、 strcpy() 、 strcat() 等不限制字符串长度,不
检查数组越界,易导致有用的堆栈数据被覆盖,给黑客攻击以可乘之机
对缓冲区溢出漏洞进行攻击的后果
程序运行失败、系统崩溃和重启等
利用缓冲区溢出,执行非授权指令,甚至取得系统特权,进而进行各种
非法操作
防止和检测缓冲区溢出攻击
成为防御网络入侵和入侵检测的重点之一

缓冲区溢出攻击实例

字符串的安全输入方法

防止缓冲区溢出的两个要点

使用更安全的字符串处理函数
用 fgets() 、 strncpy() 、 strncat() 代替 gets() 、 strcpy() 、
strcat() 等不限制字符串长度,不检查数组越界的函数
在向一块内存中写入数据之前确认这块内存是否可以写入,同时
检查写入的数据是否超过这块内存的大小

相关推荐
爱读书的小胖8 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
Code_Solitude9 小时前
c语言:关于qsoet函数知识点
c语言·数据结构·算法
鸽鸽程序猿9 小时前
【项目】【在线判题系统】c端:竞赛报名
c语言·开发语言
H.莓飛10 小时前
【Linux】自主 Shell
linux·运维·服务器·c语言·开发语言·visual studio
爱读书的小胖11 小时前
Codewars:Last digit of a large number(C)解题分析
c语言·开发语言·r语言
想做小南娘,发现自己是女生喵11 小时前
第二周学习文档 Linux C 文件操作
linux·c语言·学习
Bluetooth73011 小时前
c语言变量的存储类别
c语言
lhbweilai17 小时前
分析FreeRTOS内核对象API的源码实现(四)
c语言·stm32·单片机
inrichtt20 小时前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
wuminyu1 天前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++