
웹 애플리케이션 보안 학습을 위해 의도적으로 취약하게 만든 웹 애플리케이션입니다.
OWASP WebGoatPHP는 OWASP WebGoat를 PHP 및 MySQL/SQLite 데이터베이스로 포팅한 것입니다. 목표는 챌린지 형태의 레슨을 제공하여 웹 애플리케이션 보안을 위한 대화형 교육 환경을 만드는 것입니다. 각 챌린지에서 사용자는 취약점을 악용하여 해당 주제에 대한 이해를 입증해야 합니다.
WebGoatPHP는 단일 모드(single mode), 워크숍 모드(workshop mode), 콘테스트 모드(contest mode), 보안 코딩 모드(secure coding mode) 등 네 가지 모드를 지원합니다.
프로젝트 제안서는 여기에서 확인할 수 있습니다.
단일 사용자 모드:

워크숍 모드:

git clone https://github.com/shivamdixit/WebGoatPHP.gitguest:guest새 챌린지를 추가하는 것은 매우 간단합니다. 모든 챌린지는 'challenges' 디렉터리에 있어야 하며 'BaseLesson' 클래스를 확장해야 합니다. 템플릿은 template/SampleLesson에 제공됩니다. 디렉터리의 이름은 index.php에 있는 클래스의 이름과 동일해야 합니다. 이미지, 스크립트 등과 같은 정적 콘텐츠는 레슨 디렉터리 내부의 'static' 하위 디렉터리에 배치해야 합니다.
레슨에서 구현해야 하는 메서드는 start(), getTitle(), getCategory(), reset() 등이 있습니다.
레슨을 추가한 후 애플리케이션 상단의 "Refresh List" 버튼을 클릭하면 레슨이 목록에 표시됩니다.
https://www.owasp.org/index.php/WebGoatPHP
질문이 있으시면 메일링 리스트에서 토론에 참여하거나 shivam.dixit[at]owasp.org로 이메일을 보내주세요.