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

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

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

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

工具目录

分类

查看所有分类
Loading categories
VAmPI — 存在漏洞的REST API,包含OWASP十大漏洞,用于安全测试 | Kitploit
工具/GitHubGitHub/erev0s/vampi
Web漏洞扫描器漏洞分析API安全测试学习与教育实验室与实践
GitHuberev0s/vampi

VAmPI

存在漏洞的REST API,包含OWASP十大漏洞,用于安全测试

查看仓库
1.3k5804个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

VAmPI

易受攻击的API (基于OpenAPI 3) vampi

Docker Image CI Docker Pulls

VAmPI 是一个用 Flask 构建的易受攻击的 API,它包含了 OWASP API 十大漏洞中的漏洞。创建它的初衷是为了有一个易受攻击的 API,用于评估检测 API 安全问题的工具的效率。它包含一个开关,可以在测试时启用或禁用漏洞。这有助于更好地覆盖误报/漏报的情况。VAmPI 也可用于学习或教学目的。你可以在 erev0s.com 找到有关这些漏洞的更多详细信息。

特性

  • 基于 OWASP API 十大漏洞。
  • 包含 OpenAPI3 规范和 Postman 集合。
  • 全局开关,可启用或禁用易受攻击的环境。
  • 基于令牌的身份验证(可从 app.py 调整生命周期)。
  • 提供 Swagger UI 以直接与 API 交互

VAmPI 的操作流程如下:未注册用户可以看到 API 中包含的虚拟用户的基本信息。用户可以注册,然后登录,使用登录时收到的令牌发布书籍。发布的书籍接受的数据包括书名和该书的一个秘密。每本书对每个用户都是唯一的,只有书的拥有者才应被允许查看秘密。

下表显示了包含的操作的简要说明:

操作路径详情
GET/createdb创建并用虚拟数据填充数据库
GET/VAmPI 首页
GET/me显示当前登录的用户
GET/users/v1显示所有用户及其基本信息
GET/users/v1/_debug显示所有用户的全部详细信息
POST/users/v1/register注册新用户
POST/users/v1/login登录 VAmPI
GET/users/v1/{username}根据用户名显示用户
DELETE/users/v1/{username}根据用户名删除用户(仅管理员)
PUT/users/v1/{username}/email更新单个用户的电子邮件
PUT/users/v1/{username}/password更新用户密码
GET/books/v1检索所有书籍
POST/books/v1添加新书籍
GET/books/v1/{book}根据书名检索书籍及其秘密

更多详情,你可以运行 VAmPI 并访问 http://127.0.0.1:5000/ui/,或者使用像 swagger editor 这样的服务,提供位于 openapi_specs 目录中的 OpenAPI 规范。

漏洞列表

  • SQLi 注入
  • 未经授权的密码更改
  • 损坏的对象级别授权
  • 批量赋值
  • 通过调试端点暴露过多数据
  • 用户和密码枚举
  • RegexDOS(拒绝服务)
  • 资源与速率限制不足
  • JWT 认证绕过(因弱签名密钥)

运行它

这是一个 Flask 应用程序,因此要运行它,你可以安装所有依赖,然后运行 app.py。 要安装所有依赖,只需运行 pip3 install -r requirements.txt,然后运行 python3 app.py。

或者,如果你愿意,也可以通过 Docker 或 docker compose 运行它。

通过 Docker 运行

  • 在 Dockerhub 上可用
root@kitploit:~
docker run -p 5000:5000 erev0s/vampi:latest

[注意:如果你在较新版本的 MacOS 上运行 Docker,请使用 -p 5001:5000 以避免与 AirPlay 接收器服务冲突。或者,你也可以在“系统偏好设置”->“共享”设置中禁用 AirPlay 接收器服务。]

通过 Docker Compose 运行

docker-compose 包含两个实例,一个在端口 5001 上运行安全配置,另一个在端口 5002 上运行不安全配置:

root@kitploit:~
docker-compose up -d

可用的 Swagger UI 🚀

访问运行 API 所在路径下的 /ui,将出现一个 Swagger UI 以帮助你快速上手!

root@kitploit:~
http://127.0.0.1:5000/ui/

自定义令牌超时和易受攻击环境设置

如果你想更改登录后创建的令牌的超时时间,或者想将环境设置为不易受攻击,则可以根据运行应用程序的方式使用几种方法。

  • 如果你使用 python3 app.py 正常运行,则需要编辑 app.py 中定义的 alive 和 vuln 变量。alive 变量以秒为单位,因此如果你设置为 100,则令牌在 100 秒后过期。vuln 变量类似于布尔值,如果你将其设置为 1,则应用程序易受攻击;如果设置为 0,则应用程序不易受攻击。
  • 如果你通过 Docker 运行,则必须将环境变量传递给 docker run 命令,或者编辑 Dockerfile 并重新构建。
    • Docker 运行示例:docker run -d -e vulnerable=0 -e tokentimetolive=300 -p 5000:5000 erev0s/vampi:latest

      • 这样运行的一个不错的功能是,你可以在另一个端口上启动第二个容器,设置 vulnerable=1,然后轻松地在两者之间切换。
    • 在 Dockerfile 中,你会看到两个环境变量被设置: 和 。在运行 docker build 命令之前,请随意更改它们。

常见问题

  • 访问端点时出现数据库错误!
    • 请确保先向端点 /createdb 发出请求,以填充数据库。

图片来自 freepik - www.freepik.com

下载工具
ENV vulnerable=1
ENV tokentimetolive=60