freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

VAmPI:一个包含了OWASP Top10漏洞的REST API安全学习平台
2022-06-25 22:41:01
所属地 广西


关于VAmPI

VAmPI是一个包含了OWASP Top10漏洞的REST API安全学习平台,该平台基于Flask开发,该工具的主要目的是通过一个易受攻击的API来评估针对API安全检测工具的有效性,并帮助广大研究人员学习和了解API安全。

功能介绍

1、基于OWASP Top10漏洞专门设计的REST API;

2、包含了OpenAPI3规范和Postman Collection;

3、提供了全局开关,可以控制环境漏洞是否启用;

4、基于令牌的身份验证(就可以在app.py中进行调整);

工作机制

在VAmPI中,未注册的用户可以看到API中包含的虚拟用户的最少信息。 用户可以注册,然后使用登录期间收到的令牌登录以发布一本书。对于一本发布的书,接受的数据是书名和该书的机密信息。每本书对每个用户都是唯一的,只有书的所有者才可以查看该机密信息。

下面给出的是该工具所包含的全部操作及说明:

操作

路径

描述

GET

/createdb

使用虚拟数据创建并填充数据库

GET

/

VAmPI首页

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}

通过标题和机密信息检索书籍

关于OpenAPI规范的相关内容,可以查看项目中的openapi_specs目录。

VAmPI包含的漏洞

SQL注入

未经授权的密码更改

不安全的直接对象引用(IDOR)

大量赋值

通过调试终端暴露过多数据

用户名和密码枚举

RegexDoS(拒绝服务)

缺乏资源和速率限制

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/erev0s/VAmPI.git

接下来,使用pip3命令并通过requirements.txt文件来安装该工具所需的依赖组件:

pip3 install -r requirements.txt

接下来,直接运行app.py命令即可开启VAmPI:

python3 app.py

除此之外,我们也可以通过Docker或Docker-Compose来使用VAmPI。

使用Docker运行

构建镜像:

docker build -t vampi_docker:latest .

镜像运行:

docker run -d -p 5000:5000 vampi_docker:latest

使用Docker-Compose运行

假设你已经完成了镜像构建,现在我们就可以使用下列命令运行一个单独的安全实例(端口5001)和一个不安全的实例(端口5002):

docker compose up -d

开启或关闭漏洞环境

Docker运行命令样例如下:

docker run -d -e vulnerable=0 -e tokentimetolive=300 -p 5000:5000 vampire_docker:latest

此时,我们会运行两个实例,我们可以通过“vulnerable=1”来控制哪一个实例包含漏洞。

在Dockerfile中,我们也可以通过设置“ENV vulnerable=1”和“ENV tokentimetolive=60”来管理环境是否包含漏洞以及令牌超时时间。

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

VAmPI:【GitHub传送门

参考资料

https://erev0s.com/blog/vampi-vulnerable-api-security-testing/

https://editor.swagger.io/

https://www.freepik.com/vectors/party

# API # rest api # API安全评估核查 # API接口
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录