缓冲区溢出-canary保护
发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,本文视频:如果文字过于枯燥,可观看在线视频:https://edu.51cto.com/sd/16514基础知识:我们知道在32位操作系统上,主要是溢出栈缓冲区,覆盖函数返回地址来达到劫持程序的木的,
千家信息网最后更新 2024年12月01日缓冲区溢出-canary保护
本文视频:
如果文字过于枯燥,可观看在线视频:https://edu.51cto.com/sd/16514
基础知识:
我们知道在32位操作系统上,主要是溢出栈缓冲区,覆盖函数返回地址来达到劫持程序的木的,那么Linux为了防御该问题,使用了canary来保护函数的返回地址。
canary保护是Linux众多保护机制的一种,主要的作用是防御溢出***。他的工作原理是在函数执行时,取gs:0x14的值放到某一位置中,我们假设叫A,那么在程序执行结束后,把A位置的值和gs:0x14的值进行异或如果结果为0说明没有被修改,否则被修改了。
下面我们来通过代码来查看效果
首先我们不使用canary防护:gcc -m32 -o0 canary.c -o canary
使用canary防护:gcc -fstack-protector-all -m32 -o0 canary.c -o canary
在截图中标红的是我们加入-fstack-protector-all带来的效果,在开头取gs:0x14的数据保存到ebp-exc的位置
第二个标红的地方是讲ebp-0xc位置的数据拿出来和gs:0x14的值进行比对,如果想要更改函数返回地址的值,必须要先覆盖canary的值,而canary的值是随机的,所以如果没有办法获取到canary的值,是没有办法做到溢出***的。
位置
函数
保护
地址
办法
效果
数据
程序
视频
防御
防护
缓冲区
缓冲
枯燥
操作系统
代码
作用
原理
在线视频
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术服务可以开推广费吗
数据库字段加密怎么查看
网络安全党的十
网络安全测试需要上门么
鹤庆培训网络技术学校
ghost 网络克隆服务器
国家网络安全宣传日黑板报
北京php软件开发是什么
闵行区个人软件开发
软件开发工程监理难点
软件开发与制作专业考研
网络安全专业学C
通达oa工作流数据库
如何在金仓数据库中创建表格
塔机自重标准载荷数据库
常州无线网络技术收费标准
阿里巴巴软件开发管理制度
mysql数据库登录
斗地主服务器端
网络安全证书要考什么
北京全时天地网络技术有限公司
关于网络安全的主持人串词
软件开发专业高级工程师
计算机网络技术的概念是什么
数据库中查密码是多少
杨卫方 中宣部网络技术中心
哪里学做软件开发
互联网软件和网络安全
大连软件开发前景
江阴品牌软件开发预算