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

目录

缓冲区溢出攻击

缓冲区溢出攻击实例

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

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


缓冲区溢出攻击

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

缓冲区溢出攻击实例

字符串的安全输入方法

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

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

相关推荐
是隼人3 小时前
buuctf-pwn xdctf2015_pwn200题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
布莱克6056 小时前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
hongmai6668886 小时前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
多弗朗皮卡丘6 小时前
C语言梦开始的地方19:文件操作
c语言·开发语言
万法若空7 小时前
C/C++ 类型别名定义方式对比
java·c语言·c++
一直C10 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
春风解人意10 小时前
从零开始学习嵌入式P28----线程
c语言·学习·算法
luj_176810 小时前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法
一直C11 小时前
Linux系统编程|信号进阶 + SystemV IPC(消息队列、共享内存)
linux·c语言·开发语言·算法·青少年编程·vim
新时代牛马11 小时前
SPL-TPL 链式启动:spl.c 与CONFIG_TPL 三阶段加载
c语言·开发语言