Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
NodeGoat — OWASP NodeGoat 프로젝트는 Node.js로 개발된 웹 애플리케이션에 OWASP Top 10 보안 위험이 어떻게 적용되는지, 그리고 이를 효과적으로 해결하는 방법을 배울 수 있는 환경을 제공합니다. | Kitploit
도구/GitHubGitHub/owasp/nodegoat
Vulnerability AnalysisWeb SecurityPenetration TestingLearning & EducationLearning Paths & CoursesLabs & PracticeLabs & Practice #6위
GitHubowasp/nodegoat

NodeGoat

OWASP NodeGoat 프로젝트는 Node.js로 개발된 웹 애플리케이션에 OWASP Top 10 보안 위험이 어떻게 적용되는지, 그리고 이를 효과적으로 해결하는 방법을 배울 수 있는 환경을 제공합니다.

2.1k2.8k73년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
웹사이트
공유

NodeGoat

Node.js는 가볍고 빠르며 확장성이 뛰어나 웹 애플리케이션 개발에 널리 채택되고 있는 플랫폼입니다. 이 프로젝트는 Node.js로 개발된 웹 애플리케이션에 OWASP Top 10 보안 위험이 어떻게 적용되는지, 그리고 이를 효과적으로 해결하는 방법을 배울 수 있는 환경을 제공합니다.

시작하기

Node.js 웹 애플리케이션을 위한 OWASP Top 10:

알아보기!

이 애플리케이션에는 OWASP Top 10 취약점과 이를 해결하는 방법을 설명하는 튜토리얼 페이지가 포함되어 있습니다.

애플리케이션이 실행되면 http://localhost:4000/tutorial (또는 설정한 포트)에서 튜토리얼 페이지에 접근할 수 있습니다.

실습하기!

닌자를 위한 취약한 Node.js 앱을 공격하고, 파괴하고, 수정해 보세요. 취약점을 수정하고 테스트하기 위해 앱의 사본을 직접 설정하고 싶을 수도 있습니다. 힌트: 소스 코드에서 주석을 찾아보세요.

기본 사용자 계정

데이터베이스에는 시드 데이터의 일부로 생성된 다음 사용자 계정이 미리 채워져 있습니다.

  • 관리자 계정 - u:admin p:Admin_123
  • 사용자 계정 (u:user1 p:User1_123), (u: p:)
user2
User2_123
  • 가입 페이지를 사용하여 새 사용자를 추가할 수도 있습니다.
  • NodeGoat 사본을 설정하는 방법

    옵션 1 - 자신의 컴퓨터에서 NodeGoat 실행

    1. Node.js 설치 - NodeGoat는 Node v8 이상이 필요합니다

    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 이상"으로 설정하세요. 그러면 다음 형식의 연결 문자열이 제공됩니다:
          root@kitploit:~
          mongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majority
          
          <username> 및 <password> 필드는 앞서 추가한 데이터베이스 사용자의 세부 정보로 채워야 합니다. <dbname> 필드는 nodegoat가 클러스터에서 사용할 데이터베이스 이름을 설정합니다(예: "nodegoat"). 나머지 필드는 클러스터에 맞는 올바른 세부 정보로 이미 채워져 있습니다.
    6. 앱에 필요한 시드 데이터로 MongoDB를 채웁니다:

      root@kitploit:~
      npm run db:seed
      

      기본적으로 "development" 구성이 사용되지만, 필요한 경우 원하는 구성을 인자로 전달할 수 있습니다.

    7. 서버를 시작합니다. node 또는 nodemon을 사용하여 서버를 실행할 수 있습니다:

      • node로 서버를 시작합니다. 그러면 http://localhost:4000/에서 NodeGoat 애플리케이션이 시작됩니다:
        root@kitploit:~
        npm start
        
      • nodemon으로 서버를 시작합니다. nodemon은 코드를 변경하면 애플리케이션을 자동으로 다시 시작합니다. 그러면 http://localhost:5000/에서 NodeGoat 애플리케이션이 시작됩니다:
        root@kitploit:~
        npm run dev
        

    기본 애플리케이션 구성 사용자 지정

    기본적으로 애플리케이션은 4000 포트에서 호스팅되고 localhost:27017의 MongoDB 인스턴스에 연결됩니다. 이를 변경하려면 PORT 및 MONGODB_URI 환경 변수를 설정하세요.

    다른 설정은 구성 파일을 업데이트하여 변경할 수 있습니다.

    옵션 2 - Docker에서 NodeGoat 실행

    이 저장소에는 앱과 DB 인스턴스를 설정하고 서로 연결하는 데 필요한 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. 앱을 실행합니다. 그러면 http://localhost:4000/ 에서 NodeGoat 애플리케이션이 시작됩니다:

      root@kitploit:~
      docker-compose up
      

    옵션 3 - Heroku에 배포

    이 옵션은 무료($0/월) Heroku Node 서버를 사용합니다.

    필수는 아니지만, 이 저장소를 포크한 후 포크한 저장소를 배포하는 것이 좋습니다. 그러면 자신의 포크 버전에서 취약점을 수정한 뒤 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 이상"으로 설정합니다. 그러면 다음 형식의 연결 문자열이 제공됩니다:

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

      <username> 및 <password> 필드는 앞서 추가한 데이터베이스 사용자의 세부 정보로 채워야 합니다. <dbname> 필드는 nodegoat가 클러스터에서 사용할 데이터베이스 이름을 설정합니다(예: "nodegoat"). 나머지 필드는 클러스터에 맞는 올바른 세부 정보로 이미 채워져 있습니다.

    버그 신고, 피드백, 의견

    • 새 이슈를 열거나 Slack 채팅에 참여하여 팀에 연락하세요. 또는 Join the chat at https://gitter.im/OWASP/NodeGoat

    기여하기

    기여 가이드를 따라주세요.

    행동 강령(CoC)

    이 프로젝트는 행동 강령을 따릅니다.

    기여자

    NodeGoat 프로젝트에 기여한 멋진 기여자들입니다.

    지원

    • 이 프로젝트를 구축하는 데 훌륭한 WebStorm IDE 라이선스를 제공해 준 JetBrains에 감사드립니다.

    라이선스

    코드는 Apache License v2.0.에 따라 라이선스가 부여됩니다.

    도구 다운로드