目录
缓冲区溢出攻击
缓冲区溢出攻击实例
字符串的安全输入方法编辑
防止缓冲区溢出的两个要点
缓冲区溢出攻击
网络黑客常针对系统和程序自身存在的漏洞,编写相应的攻击程序
对缓冲区溢出漏洞的攻击
——
最常见
几乎占到了网络攻击次数的一半以上
世界上第一个缓冲区溢出攻击
Internet
蠕虫
——
曾造成全球多台网络服务器瘫痪
何谓缓冲区溢出攻击?
利用缓冲区溢出漏洞进行的攻击
易引起缓冲区溢出攻击、不安全的函数
gets()
、
scanf()
、
strcpy()
、
strcat()
等不限制字符串长度,不
检查数组越界,易导致有用的堆栈数据被覆盖,给黑客攻击以可乘之机
对缓冲区溢出漏洞进行攻击的后果
程序运行失败、系统崩溃和重启等
利用缓冲区溢出,执行非授权指令,甚至取得系统特权,进而进行各种
非法操作
防止和检测缓冲区溢出攻击
成为防御网络入侵和入侵检测的重点之一
缓冲区溢出攻击实例
字符串的安全输入方法
防止缓冲区溢出的两个要点
使用更安全的字符串处理函数
用
fgets()
、
strncpy()
、
strncat()
代替
gets()
、
strcpy()
、
strcat()
等不限制字符串长度,不检查数组越界的函数
在向一块内存中写入数据之前确认这块内存是否可以写入,同时
检查写入的数据是否超过这块内存的大小