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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/owasp/nodegoat
Vulnerability AnalysisWeb SecurityPenetration TestingLearning & EducationLearning Paths & CoursesLabs & Practice
GitHubowasp/nodegoat

NodeGoat

The OWASP NodeGoat project provides an environment to learn how OWASP Top 10 security risks apply to web applications developed using Node.js and how to effectively address them.

Репозиторий
2.1k2.8k2 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

NodeGoat

Будучи легковесным, быстрым и масштабируемым, Node.js становится широко используемой платформой для разработки веб-приложений. Этот проект предоставляет среду для изучения того, как риски безопасности OWASP Top 10 применяются к веб-приложениям, разработанным с использованием Node.js, и как эффективно их устранять.

Начало работы

OWASP Top 10 для веб-приложений на Node.js:

Знайте это!

Это приложение включает страницу руководства, которая объясняет уязвимости OWASP Top 10 и способы их исправления.

Как только приложение запущено, вы можете получить доступ к странице руководства по адресу http://localhost:4000/tutorial (или порту, который вы настроили).

Сделайте это!

Уязвимое приложение Node.js для ниндзя, чтобы эксплуатировать, поджарить и исправить. Возможно, вы захотите создать свою собственную копию приложения, чтобы исправить и протестировать уязвимости. Подсказка: ищите комментарии в исходном коде.

Учетные записи по умолчанию

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

  • Учетная запись администратора - u:admin p:Admin_123
  • Учетные записи пользователей (u:user1 p:User1_123), (u:user2 p:User2_123)
  • Новых пользователей также можно добавить через страницу регистрации.

Как создать свою копию NodeGoat

ВАРИАНТ 1 - Запуск NodeGoat на вашем компьютере

  1. Установите Node.js - NodeGoat требует Node версии 8 или выше.

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

    root@kitploit:~
    git clone https://github.com/OWASP/NodeGoat.git
    
  3. Перейдите в каталог:

    root@kitploit:~
    cd NodeGoat
    
  4. Установите пакеты node:

    root@kitploit:~
    npm install
    
  5. Настройте MongoDB. Вы можете установить MongoDB локально или создать удаленный экземпляр:

    • Использование локального MongoDB:

      1. Установите MongoDB Community Server
      2. Запустите mongod
    • Использование удаленного экземпляра MongoDB:

      1. Разверните кластер бесплатного уровня MongoDB Atlas (M0 Sandbox)
      2. Включите сетевой доступ к кластеру с вашего текущего IP-адреса
      3. Добавьте пользователя базы данных в кластер
      4. Установите переменную окружения MONGODB_URI в строку подключения вашего кластера, которую можно просмотреть в диалоге подключения. Выберите "Connect your application", установите драйвер "Node.js" и версию "2.2.12 or later". Это даст строку подключения вида:
        root@kitploit:~
        mongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majority
        
        Поля и необходимо заполнить данными пользователя базы данных, добавленного ранее. Поле задает имя базы данных, которую nodegoat будет использовать в кластере (например "nodegoat"). Остальные поля уже будут заполнены правильными данными для вашего кластера.

Настройка конфигурации приложения по умолчанию

По умолчанию приложение будет размещено на порту 4000 и подключаться к экземпляру MongoDB по адресу localhost:27017. Чтобы изменить это, установите переменные окружения PORT и MONGODB_URI.

Другие настройки можно изменить, обновив файл конфигурации.

ВАРИАНТ 2 - Запуск NodeGoat на Docker

Репозиторий включает Dockerfile и docker-compose.yml, необходимые для настройки приложения и экземпляра базы данных, а затем их соединения.

  1. Установите docker и docker compose

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

    root@kitploit:~
    git clone https://github.com/OWASP/NodeGoat.git
    
  3. Перейдите в каталог:

    root@kitploit:~
    cd NodeGoat
    
  4. Соберите образы:

    root@kitploit:~
    docker-compose build
    
  5. Запустите приложение, это запускает NodeGoat по адресу http://localhost:4000/:

    root@kitploit:~
    docker-compose up
    

ВАРИАНТ 3 - Развертывание на Heroku

Этот вариант использует бесплатный ($0/месяц) сервер Node на Heroku.

Хотя это не обязательно, рекомендуется форкнуть этот репозиторий и развернуть форкнутую копию. Это позволит вам исправлять уязвимости в своей форкнутой версии, а затем развернуть и протестировать ее на Heroku.

  1. Настройте публично доступный экземпляр MongoDB:

    1. Разверните кластер бесплатного уровня MongoDB Atlas (M0 Sandbox)
    2. Включите сетевой доступ к кластеру отовсюду (диапазон CIDR 0.0.0.0/0)
    3. Добавьте пользователя базы данных в кластер
  2. Разверните NodeGoat на Heroku, нажав кнопку ниже:

    Deploy

    В диалоговом окне Create New App установите конфигурационную переменную MONGODB_URI в строку подключения вашего кластера MongoDB Atlas. Ее можно просмотреть в диалоге подключения кластера. Выберите "Connect your application", установите драйвер "Node.js" и версию "2.2.12 or later". Это даст строку подключения вида:

    root@kitploit:~
    mongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majority
    

    Поля <username> и <password> необходимо заполнить данными пользователя базы данных, добавленного ранее. Поле <dbname> задает имя базы данных, которую nodegoat будет использовать в кластере (например "nodegoat"). Остальные поля уже будут заполнены правильными данными для вашего кластера.

Сообщить об ошибках, отзывы, комментарии

  • Откройте новый issue или свяжитесь с командой, присоединившись к чату в Slack или Join the chat at https://gitter.im/OWASP/NodeGoat

Вклад

Пожалуйста, следуйте руководству по внесению вклада

Кодекс поведения (CoC)

Этот проект регулируется Кодексом поведения.

Участники

Вот замечательные участники проекта NodeGoat.

Поддержка

  • Спасибо JetBrains за предоставление лицензий на фантастическую WebStorm IDE для создания этого проекта.

Лицензия

Код лицензирован в соответствии с Apache License v2.0.

Скачать инструмент
<username>
<password>
<dbname>
  • Заполните MongoDB начальными данными, необходимыми для приложения:

    root@kitploit:~
    npm run db:seed
    

    По умолчанию будет использоваться конфигурация "development", но при необходимости можно передать нужную конфигурацию в качестве аргумента.

  • Запустите сервер. Вы можете запустить сервер с помощью node или nodemon:

    • Запуск сервера с помощью node. Это запускает приложение NodeGoat по адресу http://localhost:4000/:
      root@kitploit:~
      npm start
      
    • Запуск сервера с помощью nodemon, который автоматически перезапускает приложение при внесении изменений. Это запускает приложение NodeGoat по адресу http://localhost:5000/:
      root@kitploit:~
      npm run dev