crAPI - 存在漏洞的API项目

admin 2025年5月26日09:57:00评论2 views字数 1520阅读5分4秒阅读模式

crAPI 是一个OWASP提供的故意设计存在漏洞的API项目,通过这个项目,可以安全地运行并训练自己识别和利用API中的安全漏洞。

项目概述

crAPI 模拟了一个汽车维修服务的B2C应用,采用微服务架构构建。用户可以通过Web界面进行注册、管理车辆、联系技师、购买配件以及在社区中互动。

主要功能

  • 用户认证系统:包含注册、登录、密码重置等功能,故意设计存在认证漏洞
  • 车辆管理:添加车辆、查看车辆位置、联系技师维修
  • 在线商店:购买汽车配件,使用优惠券,管理订单
  • 社区功能:发布帖子、评论互动
  • 漏洞挑战:内置15+个安全挑战,涵盖OWASP API安全十大风险

技术架构

crAPI 采用微服务架构,包含以下组件:

服务名称
技术栈
功能描述
web
OpenResty
主入口服务,Web界面
identity
Java
用户认证和授权管理
community
Go
社区博客和评论功能
workshop
Python
车辆维修工单管理
mailhog
-
邮件模拟服务
mongo
MongoDB
NoSQL数据库
postgres
PostgreSQL
SQL数据库

结构图如下:

crAPI - 存在漏洞的API项目

安装指南

系统要求

  • Docker 和 docker-compose (版本1.27.0或更高)
  • 推荐配置:t2.micro机器(1 CPU, 1GB内存)

快速启动

使用预构建镜像:

# Linuxcurl -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zipunzip /tmp/crapi.zipcd crAPI-main/deploy/dockerdocker compose pulldocker compose -f docker-compose.yml --compatibility up -d# Windowscurl.exe -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.ziptar -xf .crapi.zipcd crAPI-maindeploydockerdocker compose pulldocker compose -f docker-compose.yml --compatibility up -d

配置覆盖

可以通过修改.env文件或直接在命令中设置环境变量来覆盖默认配置:

LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d

使用说明

  1. 访问Web界面:http://localhost:8888
  2. 注册新账户
  3. 探索各项功能并尝试发现漏洞

示例API调用

获取用户车辆信息:

curl -X GET "http://localhost:8888/identity/api/v2/user/dashboard" -H "Authorization: Bearer YOUR_JWT_TOKEN"

漏洞挑战

crAPI 内置了多个安全挑战,涵盖以下漏洞类型:

  1. BOLA (Broken Object Level Authorization)

    • 访问其他用户的车辆详情
    • 查看其他用户的维修报告
  2. 认证漏洞

    • 重置其他用户密码
    • JWT令牌伪造
  3. 数据过度暴露

    • 查找泄露敏感信息的API端点
    • 发现视频的内部属性
  4. 速率限制

    • 通过"联系技师"功能实施DoS攻击
  5. BFLA (Broken Function Level Authorization)

    • 删除其他用户的视频

完整挑战列表请参阅挑战文档(challenges.md)

项目链接地址:https://github.com/OWASP/crAPI.git

原文始发于微信公众号(网络安全技术点滴分享):crAPI - 存在漏洞的API项目

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月26日09:57:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   crAPI - 存在漏洞的API项目https://cn-sec.com/archives/4097995.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息