VAmPI:一个包含了OWASP Top10漏洞的REST API安全学习平台

1656167923_62b71df33e81fe47f39bc

关于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

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM

主题测试文章,只做测试使用。发布者:1869,转转请注明出处:https://community.anqiangkj.com/archives/20000

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年7月16日 上午11:29
下一篇 2022年7月17日 下午3:13

相关推荐