관리 메뉴

IT창고

WebGoat 설치법 (Docker 설치법 포함) 본문

보안/Web

WebGoat 설치법 (Docker 설치법 포함)

방구석여포 2019. 6. 30. 01:35

WebGoat는 웹 취약점을 공부할수있는 취약한 웹사이트로 JAVA 기반이며 OWASP TOP 10의 취약점들을 공부할수있습니다. 

WebGoat 프로그램을 실행하는 동안은 서버가 취약해지므로 외부망에 연결되지 않도록 주의해야 합니다.

WebGoat와 비슷한 웹 취약점 공부 웹사이트로 BeeBox, DVWA가 대표적입니다.

 

테스트 환경은 VMware 가상머신에서 CentOS 7.x 입니다. 

 

우선 리눅스 서버에 JDK가 설치되어있어야 합니다. 설치할 WebGoat는 8버전이며 Java 11이 권장입니다. 

여기 링크를 클릭하면 위의 JDK 설치파일 다운로드 홈페이지로 이동합니다. Window, Linux에 맞는 파일을 다운로드 합니다. 다운로드에는 오라클 계정이 필요하며 없다면 회원가입을 해야 합니다.

JDK의 설치방법은 아래의 글을 참고합니다.

2019/01/20 - [서버운영/WAS, DBMS] - CentOS 7 - JDK 설치

2019/02/10 - [서버운영/WAS, DBMS] - Linux JDK 바꾸기

 

JDK 11버전을 확인할 수 있습니다. 아래의 WebGoat 설치는 JDK11이 설치되어있다는 가정 하에 진행됩니다.

 

1번째 방법인 jar파일을 이용한 webgoat 프로그램 실행입니다.

(해당 방법은 WebWolf도 동일하게 적용됩니다.)

여기 링크를 클릭하면 WebGoat jar파일을 다운로드할수있는 웹페이지로 이동합니다. jar파일을 다운로드 받으면 테스트 리눅스로 FTP, lrzsz 등으로 파일을 옮겨줍니다. (wget도 가능)

 

java -jar webgoat파일 --server.port=8080 --server.address=localhost 명령어로 WebGoat프로그램을 실행시킵니다. port의 경우는 별도로 지정하지 않을 경우 8080 기본값으로 적용이 됩니다. 웹 브라우저에 접근하기 전에 WebGoat를 실행시키기 전에 설정한 포트를 방화벽 오픈해야만 합니다. 저는 테스트를 위해 잠시 방화벽을 꺼두었습니다. 

ex) service firewalld stop

 

웹 브라우저에서 http://서버ip:8080/WebGoat 로 접근이 가능합니다. 예전에 8080포트로 테스트한적이 있다면 웹 브라우저의 캐시를 지우고 다시 시도해보면 접근이 됩니다. 

 

초기 계정정보는 없으므로 Register new user에서 새로 계정을 만들어야 합니다. 

계정 생성은 얼마안걸리므로 금방 계정을 만들수있습니다.

 

생성한 계정정보로 WebGoat에 접근한걸 확인할 수 있습니다.

 

2번째 방법으로 Docker를 사용한 WebGoat 설치가 있습니다. 

Docker를 이용한 방법 또한 JDK 설치는 선행되어야 합니다.

docker에서 다운받을 수 있는 WebGoat 이미지들 입니다. 테스트는 최신 버전인 8버전으로 받도록 하겠습니다. 

docker pull webgoat/webgoat-8.0 명령어로 WebGoat 8버전 이미지를 다운받을수 있습니다.

WebGoat 도커 이미지를 다운받았다면 WebGoat를 위와 같이 실행합니다.

docker run -p 8080:8080 -t --name gskwebgoat webgoat/webgoat-8.0 명령어를 사용하면 WebGoat jar파일을 실행했을때와 같이 프로그램이 실행됩니다. 

리눅스에서 포트를 보면 8080포트가 개방된걸 확인할 수 있습니다. 웹 브라우저에 접근하기 전에 방화벽 오픈이 되어있어있다면 위와 같이 웹 브라우저에서 접근이 가능합니다.

Comments