Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
railsgoat — Уязвимая версия Rails, соответствующая OWASP Top 10 | Kitploit
Инструменты/GitHubGitHub/owasp/railsgoat
Статический анализАнализ уязвимостейАнализ КодаВеб-безопасностьCTFТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubowasp/railsgoat

railsgoat

Уязвимая версия Rails, соответствующая OWASP Top 10

Репозиторий
923820521 день назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

RailsGoat

RailsGoat — это намеренно уязвимое веб-приложение, созданное на Ruby on Rails. Оно демонстрирует реальные уязвимости безопасности из OWASP Top 10 и служит практической обучающей платформой для разработчиков и специалистов по безопасности.

Что такое RailsGoat?

RailsGoat — это намеренно небезопасное Rails-приложение, предназначенное для обучения безопасности веб-приложений. Исследуя и эксплуатируя его уязвимости, вы научитесь:

  • Как распространённые недостатки безопасности проявляются в Rails-приложениях
  • Как выявлять уязвимости с помощью анализа кода и тестирования
  • Как внедрять надлежащие средства контроля безопасности и стратегии устранения уязвимостей

Текущая версия: Rails 8.0 с Ruby 3.4.1

Включённые уязвимости

RailsGoat демонстрирует реальные уязвимости безопасности из OWASP Top 10, включая SQL-инъекции, межсайтовый скриптинг (XSS), проблемы аутентификации, небезопасные прямые ссылки на объекты и другие.

Полный список уязвимостей с подробными объяснениями и учебными материалами см. в RailsGoat Wiki.

Быстрый старт

Предварительные требования

  • Ruby 3.4.1
  • Git
  • SQLite3 (входит в комплект по умолчанию)
  • MySQL (необязательно, требуется для некоторых демонстраций SQL-инъекций)

Новичок в Ruby? Следуйте руководству по настройке на GoRails для вашей операционной системы.

Установка

  1. Клонируйте репозиторий:

    root@kitploit:~
    git clone https://github.com/OWASP/railsgoat.git
    cd railsgoat
    
  2. Установите зависимости:

    root@kitploit:~
    gem install bundler
    bundle install
    
  3. Настройте базу данных:

    root@kitploit:~
    rails db:setup
    
  4. Запустите сервер:

    root@kitploit:~
    rails server
    
  5. Откройте браузер: Перейдите по адресу http://localhost:3000 и начинайте исследовать!

Другие версии Rails

Ветка main использует Rails 8. Для более старых версий переключите ветку:

root@kitploit:~
git checkout rails_3_2  # Rails 3.2
git checkout rails_4_2  # Rails 4.2
git checkout rails_5    # Rails 5.x

Путь обучения

1. Режим обучения (рекомендуется для обучающихся)

Запустите набор тестов на уязвимости, чтобы увидеть, какие недостатки безопасности существуют:

root@kitploit:~
rails training

Каждый падающий тест указывает на уязвимость. Вывод теста содержит ссылку на учебное пособие в вики, объясняющее:

  • Как работает уязвимость
  • Как её эксплуатировать
  • Как её исправить

Для запуска конкретного теста уязвимости:

root@kitploit:~
rails training SPEC=spec/vulnerabilities/sql_injection_spec.rb

2. Изучите приложение

  • Создайте учётную запись и войдите
  • Изучите различные функции
  • Попробуйте получить доступ к данным других пользователей
  • Попробуйте различные инъекционные атаки
  • Изучите исходный код, чтобы понять уязвимости

3. Учитесь по вики

Посетите RailsGoat Wiki для получения подробных учебных материалов по каждой уязвимости, включая:

  • Объяснение уязвимости
  • Методы эксплуатации
  • Примеры кода
  • Шаги по устранению

Дополнительные темы по безопасности

Дополнительная документация, охватывающая продвинутые и современные концепции безопасности Rails:

  • Бонус: зашифрованные секреты и учётные данные в Rails 5.1+

Установка с помощью Docker

Требования: Docker и Docker Compose 1.6.0+

Для Mac на Apple Silicon (ARM64): должна быть установлена Rosetta

root@kitploit:~
docker-compose build
docker-compose run web rails db:setup
docker-compose up

Приложение будет доступно по адресу http://localhost:3000

Устранение неполадок: Если контейнер завершает работу с сообщением «A server is already running», удалите tmp/pids/server.pid из рабочего каталога и попробуйте снова.

Дополнительная конфигурация

Окружение MySQL

Некоторые уязвимости SQL-инъекций требуют MySQL. Чтобы запустить с MySQL:

root@kitploit:~
# Create and migrate the database
RAILS_ENV=mysql rails db:create
RAILS_ENV=mysql rails db:migrate

# Start the server
RAILS_ENV=mysql rails server

Тестирование электронной почты

RailsGoat использует MailCatcher для перехвата электронных писем:

root@kitploit:~
gem install mailcatcher
mailcatcher

Просматривайте письма по адресу http://localhost:1080

Для контрибьюторов и сопровождающих

Запуск тестов в режиме сопровождающего

Установите переменную окружения RAILSGOAT_MAINTAINER, чтобы проверить, что уязвимости всё ещё существуют:

root@kitploit:~
RAILSGOAT_MAINTAINER="yes" bundle exec rspec

В режиме сопровождающего тесты проходят, когда уязвимости реализованы корректно (в отличие от режима обучения).

Участие в разработке

Мы приветствуем вклад! Подробнее см. в наших правилах участия.

Поддержка

Нужна помощь?

  • Присоединяйтесь к каналу OWASP в Slack
  • Загляните в Wiki за учебными материалами
  • Откройте issue для сообщений об ошибках или вопросов

История проекта

RailsGoat был создан для демонстрации уязвимостей безопасности в Rails-приложениях и обучения практикам безопасного программирования. Он постоянно обновлялся через версии Rails 3, 4, 5, 6 и теперь 8, сохраняя актуальность по мере развития фреймворка.

Переход к OWASP Top Ten 2013 завершён в ноябре 2013 года.

Лицензия

Лицензия MIT (MIT)


Предупреждение: Это приложение содержит серьёзные уязвимости безопасности. Никогда не разворачивайте его на публичном сервере или в сети. Используйте только в изолированных учебных средах.

Скачать инструмент