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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
railsgoat — OWASP Top 10을 따르는 취약한 Rails 버전 | Kitploit
도구/GitHubGitHub/owasp/railsgoat
Static AnalysisVulnerability AnalysisCode AnalysisWeb SecurityCTFPenetration TestingLearning & EducationLabs & Practice
GitHubowasp/railsgoat

railsgoat

OWASP Top 10을 따르는 취약한 Rails 버전

저장소 보기
923820521일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

RailsGoat

RailsGoat는 Ruby on Rails로 구축된 의도적으로 취약하게 만든 웹 애플리케이션입니다. OWASP Top 10의 실제 보안 취약점을 시연하며, 개발자와 보안 전문가를 위한 실습형 교육 플랫폼 역할을 합니다.

RailsGoat란 무엇인가요?

RailsGoat는 웹 애플리케이션 보안을 교육하기 위해 설계된 의도적으로 불안전한 Rails 애플리케이션입니다. 취약점을 탐색하고 악용함으로써 다음을 배울 수 있습니다:

  • 일반적인 보안 결함이 Rails 애플리케이션에서 어떻게 나타나는지
  • 코드 검토와 테스트를 통해 취약점을 식별하는 방법
  • 적절한 보안 통제와 수정 전략을 구현하는 방법

현재 버전: Ruby 3.4.1 기반 Rails 8.0

포함된 취약점

RailsGoat는 SQL 삽입, 사이트 간 스크립팅(XSS), 인증 문제, 안전하지 않은 직접 객체 참조 등을 포함한 OWASP Top 10의 실제 보안 취약점을 시연합니다.

자세한 설명과 튜토리얼이 포함된 전체 취약점 목록은 RailsGoat 위키를 방문하세요.

빠른 시작

사전 요구 사항

  • Ruby 3.4.1
  • Git
  • SQLite3 (기본 포함)
  • MySQL (선택 사항, 특정 SQL 삽입 데모에 필요)

Ruby를 처음 사용하시나요? 운영 체제에 맞는 설치 가이드를 GoRails에서 확인하세요.

설치

  1. 저장소를 클론합니다:

    root@kitploit:~
    git clone https://github.com/OWASP/railsgoat.git
    cd railsgoat
    
  • 의존성을 설치합니다:

    root@kitploit:~
    gem install bundler
    bundle install
    
  • 데이터베이스를 설정합니다:

    root@kitploit:~
    rails db:setup
    
  • 서버를 시작합니다:

    root@kitploit:~
    rails server
    
  • 브라우저를 엽니다: 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 위키를 방문하세요. 다음을 포함합니다:

    • 취약점 설명
    • 악용 기법
    • 코드 예제
    • 수정 단계

    보너스 보안 주제

    고급 및 현대적인 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 채널에 참여하세요
    • 튜토리얼은 위키를 확인하세요
    • 버그나 질문은 이슈를 열어주세요

    프로젝트 역사

    RailsGoat는 Rails 애플리케이션의 보안 취약점을 시연하고 안전한 코딩 관행을 가르치기 위해 만들어졌습니다. 프레임워크가 발전함에 따라 관련성을 유지하면서 Rails 3, 4, 5, 6, 그리고 현재 8 버전을 통해 지속적으로 업데이트되었습니다.

    OWASP Top Ten 2013으로의 전환은 2013년 11월에 완료되었습니다.

    라이선스

    The MIT License (MIT)


    경고: 이 애플리케이션에는 심각한 보안 취약점이 포함되어 있습니다. 공용 서버나 네트워크에 절대 배포하지 마세요. 격리된 교육 환경에서만 사용하세요.

    도구 다운로드