WebGoat란
OWASP에서 제공되는 웹 보안 취약성을 내포한 웹 어플리케이션이다. XSS, Injection, Backdoor 등 각 웹 보안 취약성을 이해하고 공격 방법을 이해할 수 있도록 만들어져 있으며, 각 단계별로 풀어나가면서 웹 취약성에 대해 이해하고 대응할 수 있도록 도움을 준다.
설치순서
1. CentOS 시스템 업데이트
$ sudo yum install epel-release
$ sudo yum update -y && sudo reboot
2. WebGoat 다운
wget https://github.com/WebGoat/WebGoat/releases/download/7.1/webgoat-container-7.1-exec.jar
3. Java 설치
yum install java-1.8.0-openjdk-devel.x86_64
Java 설치 확인
4. Tomcat 설치
- Apache Tomcat을 위한 사용자 생성
보안상의 이유로 tomcat을 위한 non-root 사용자와 그룹을 생성해서 사용
$ sudo groupadd tomcat
$ sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
해당 방법으로 ‘tomcat’그룹에 속한 ‘tomcat’사용자를 작성합니다. 해당 사용자로는 시스템에 로그인 할 수 없습니다. 홈 디렉토리는 /opt/tomcat이며 Apache Tomcat 프로그램이 위치하게 될 디렉토리입니다.
-Apache Tomcat 다운로드 및 설치
$ cd ~
$ wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.46/bin/apache-tomcat-8.5.46.tar.gz
$ sudo tar -zxvf apache-tomcat-8.5.46.tar.gz -C /opt/tomcat --strip-components=1
- 권한 설정하기
Apache Tomcat을 구동하기 전 알맞은 권한 설정이 필요합니다.
$ cd /opt/tomcat
$ sudo chgrp -R tomcat conf
$ sudo chmod g+rwx conf
$ sudo chmod g+r conf/*
$ sudo chown -R tomcat logs/ temp/ webapps/ work/
$ sudo chgrp -R tomcat bin/ lib/
$ sudo chmod g+rwx bin
$ sudo chmod g+r bin/*
- Apache Tomcat을 위한 Systemd 파일 설정
시스템에 등록하여 톰캣을 시작프로그램에 등록하고 명령어로 시작/정지/재시작을 할 수 있도록 설정합니다.
$ sudo vi /etc/systemd/system/tomcat.service
아래의 내용을 tomcat.service에 입력 후 저장합니다.
Xms와 Xmx같은 옵션들은 서버에 맞게 수정하여줍니다.
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
:wq를 입력하여 저장 후 종료합니다.
- Apache Tomcat 실행 및 테스트
Apache Tomcat을 실행한 뒤 시작 프로그램에 등록합니다
$ sudo systemctl start tomcat.service
$ sudo systemctl enable tomcat.service
firewall-cmd를 이용하여 8080포트를 열어 서버에 접근할 수 있도록 합니다.
$ sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
$ sudo firewall-cmd --reload
서버의 IP를 8080포트로 접속하면 Tomcat Welcome 페이지를 확인할 수 있습니다.
로컬에서 테스트중인 경우 localhost로 접속이 가능합니다.
http://[your-Vultr-server-IP]:8080
5. WebGoat 실행
systemctl stop tomcat
systemctl status tomcat
java -jar webgoat-container-7.1-exec.jar
http://localhost:8080
'모의해킹 > 웹해킹' 카테고리의 다른 글
[Web Hacking] WebGoat SQL Injection(advanced) 5 문제풀이 (0) | 2020.02.24 |
---|---|
[Web Hacking] WebGoat SQL Injection(advanced) 3 문제풀이 (0) | 2020.02.22 |
[Web Hacking] WebGoat SQL Injection 문제풀이 (0) | 2020.02.21 |
[Web Hacking] OWASP A1 인젝션 종류 (0) | 2020.02.14 |
[Web Hacking] OWASP Top 10 (0) | 2020.02.12 |