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

目录

缓冲区溢出攻击

缓冲区溢出攻击实例

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

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


缓冲区溢出攻击

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

缓冲区溢出攻击实例

字符串的安全输入方法

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

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

相关推荐
gugucoding8 小时前
28. 【C语言】通用数据操作:`void *` 与类型无关编程
c语言·开发语言
凉、介8 小时前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
灯厂码农1 天前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法
wuyk5551 天前
24. C 语言模块化:不是拆几个.c 文件那么简单
c语言·开发语言·stm32·单片机
qq_241585611 天前
可用在中断中浮点数打印类似printf
c语言
C语言小火车1 天前
C++ 快速排序(Quick Sort)深度精讲:分治思想、Lomuto 分区法及三数取中优化,面试手撕必会
c语言·开发语言·c++·面试·排序算法·快速排序
aaaameliaaa1 天前
进制练习题【找出只出现一次的数字、交换两个变量(不创建临时变量)、统计二进制中1的个数、打印整数二进制的奇数位和偶数位、求两个数二进制中不同位的个数】
c语言·数据结构·笔记·算法
灯厂码农1 天前
C语言内存管理——内存对齐与共用体union
linux·服务器·c语言
伏 念1 天前
AI Coding 零基础实战教程
c语言·进程·预处理
你家人养牛1 天前
OOC Relation Plugin:C 语言面向对象 开发的高效辅助工具
c语言·vscode