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

目录

缓冲区溢出攻击

缓冲区溢出攻击实例

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

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


缓冲区溢出攻击

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

缓冲区溢出攻击实例

字符串的安全输入方法

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

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

相关推荐
東隅已逝,桑榆非晚15 分钟前
深度解析数据内存存储与排布规则
c语言·笔记
weixin_4217252621 分钟前
C语言、C++与C#深度研究报告:从底层控制到现代企业级开发的演进
c语言·c++·c·内存管理·编译模型
zuowei28892 小时前
编程语言对比:C/C++/Java/C#/PHP
java·c语言·c++
IT搬砖客2 小时前
CC2340从机开发入门之OAD例程的选择
c语言·开发语言·单片机·嵌入式硬件
老花眼猫2 小时前
数学艺术图案画-曼陀罗单色版(1)
c语言·经验分享·青少年编程·课程设计
极地星光3 小时前
源码依赖 vs 预编译二进制包:C/C++ 项目依赖管理决策指南
c语言·开发语言·c++
Dlrb12113 小时前
C语言-Linux系统下的俄罗斯方块实现
linux·c语言·vim·终端·碰撞检测·俄罗斯方块·vt100
枕星而眠3 小时前
Linux 进程:虚拟内存、Fork原理、IPC通信与面试避坑
linux·运维·c语言·后端
码不停蹄Zzz4 小时前
多级指针使用方法
c语言
努力努力再努力wz4 小时前
【Redis入门系列】:Redis 内部编码机制与 String 深度解析:SDS 底层实现、三种编码与核心命令详解
c语言·开发语言·数据结构·数据库·c++·redis·缓存