
Преднамеренно уязвимое микросервисное API, разработанное для практического обучения по OWASP API Security Top 10 рискам, со встроенными заданиями и реалистичным процессом покупки автомобиля.
cовершенно нелепый API (crAPI) поможет вам понять десять самых критичных рисков безопасности API. crAPI уязвим по замыслу, но вы сможете безопасно запускать его для обучения.
crAPI — это современное приложение, построенное на основе микросервисной архитектуры. Когда придёт время купить вашу первую машину, зарегистрируйтесь и начните своё путешествие. Чтобы узнать больше о crAPI, просмотрите обзор crAPI.
После настройки crAPI рекомендуется пройти по предусмотренному пользовательскому пути, чтобы понять, как должно работать приложение, прежде чем приступать к решению задач по безопасности.
-Рабочий процесс приложения (Happy Path)
Вам потребуется установить и запустить Docker и docker compose на вашей хост-системе. Версия docker compose должна быть 1.27.0 или выше. Проверьте версию docker compose с помощью:
docker compose version
Обновите версию docker compose, если получаете ошибки вида
ERROR: Invalid interpolation format for ...
Вы можете использовать предварительно собранные образы, созданные нашим CI-процессом, загрузив файлы docker compose и .env.
Для использования последней стабильной версии.
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
unzip /tmp/crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Чтобы переопределить конфигурации сервера, измените значения переменных в файле .env или добавьте соответствующие переменные в начало команды docker compose.
Например, чтобы открыть систему для всех сетевых интерфейсов.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
tar -xf .\crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Чтобы переопределить конфигурации сервера, измените значения переменных в файле .env или добавьте соответствующие переменные в начало команды docker compose.
Например, чтобы открыть систему для всех сетевых интерфейсов.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Для использования последней разрабатываемой версии
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
unzip /tmp/crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Чтобы переопределить конфигурации сервера, измените значения переменных в файле .env или добавьте соответствующие переменные в начало команды docker compose.
Например, чтобы открыть систему для всех сетевых интерфейсов.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
tar -xf .\crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Чтобы переопределить конфигурации сервера, измените значения переменных в файле .env или добавьте соответствующие переменные в начало команды docker compose.
Например, чтобы открыть систему для всех сетевых интерфейсов.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Посетите http://localhost:8888
Примечание: Все письма по умолчанию отправляются в сервис mailhog, и их можно проверить на http://localhost:8025 Вы можете изменить конфигурацию SMTP при необходимости, однако все письма с доменом example.com по-прежнему будут отправляться в mailhog.
Для настройки провайдера LLM чат-бота см. инструкции по установке.
Этот вариант позволяет запустить crAPI внутри виртуальной машины, изолируя его от вашей системы. Вам потребуется установить Vagrant и, например, VirtualBox.
$ git clone [REPOSITORY-URL]
$ cd deploy/vagrant && vagrant up
Примечание: Все письма отправляются в сервис mailhog, и их можно проверить на http://192.168.33.20:8025
Когда вы закончите работу с crAPI, вы можете полностью удалить его из вашей системы, выполнив следующую команду из корневого каталога репозитория
$ cd deploy/vagrant && vagrant destroy
Если вам нужна помощь с установкой и запуском crAPI, вы можете ознакомиться с этим руководством: Руководство по устранению неполадок crAPI. Если это не решит вашу проблему, пожалуйста, создайте issue в Github Issues.