Zum Inhalt

WebGoat Cheat Blatt

generieren

Überblick

WebGoat ist eine bewusst unsichere Web-Anwendung, die vom Open Web Application Security Project (OWASP) entwickelt wurde, um Web Application Security Konzepte interaktiv und ansprechend zu lehren. Im Gegensatz zu herkömmlichen Sicherheitstrainingsmaterialien bietet WebGoat eine praktische Lernumgebung, in der Nutzer die Möglichkeit nutzen können, Web Application Schwachstellen in einem sicheren, kontrollierten Umfeld zu identifizieren und auszunutzen. Die Anwendung ist als umfassende Bildungsplattform konzipiert, die die OWASP Top 10 Schwachstellen und viele zusätzliche Sicherheitskonzepte durch interaktive Lektionen und Herausforderungen abdeckt.

Die Plattform zeichnet sich durch ihren stundenbasierten Ansatz aus, bei dem jedes Sicherheitskonzept als strukturiertes Lernmodul mit klaren Zielen, Hintergrundinformationen und Schritt für Schritt Anleitung präsentiert wird. WebGoat enthält detaillierte Erläuterungen zu Schwachstellenmechanik, real-world-Kontext und Abhilfestrategien, so dass es für beide Anfänger, die Sicherheitsgrundsätze und erfahrene Profis lernen, um spezifische Angriffstechniken zu verstehen. Die Anwendung verfolgt den Nutzerfortschritt, liefert Hinweise bei Bedarf und bietet sofortiges Feedback zu bewährten Lösungen.

WebGoats Architektur ist auf modernen Web-Technologien aufgebaut und nutzt Spring Boot für das Backend und zeitgenössische Frontend-Rahmen für die Benutzeroberfläche. Diese moderne Grundlage stellt sicher, dass die nachgewiesenen Schwachstellen und Angriffstechniken für aktuelle Web-Anwendungsentwicklungspraktiken relevant sind. Die Plattform umfasst sowohl geführte Lektionen mit spezifischen Lernzielen als auch offene Herausforderungen, die es Benutzern ermöglichen, verschiedene Angriffsvektoren zu erkunden und zu experimentieren.

Der Bildungswert von WebGoat erstreckt sich über individuelles Lernen bis hin zu Unterrichts- und Unternehmenstrainingsprogrammen. Die Plattform unterstützt mehrere Benutzerkonten, Fortschrittsverfolgung und administrative Funktionen, die es für strukturierte Trainingsumgebungen geeignet machen. Viele Cybersicherheitserziehungsprogramme, Bootcamps und Corporate Security Sensibiling-Initiativen nutzen WebGoat als Kernbestandteil ihres Hand-on-Trainingslehrplans.

Installation

Docker Installation (empfohlen)

```bash

Pull WebGoat Docker image

docker pull webgoat/webgoat-8.0

Run WebGoat container

docker run -d -p 8080:8080 -p 9090:9090 --name webgoat webgoat/webgoat-8.0

Access WebGoat

Navigate to http://localhost:8080/WebGoat

WebWolf (support application): http://localhost:9090/WebWolf

Run with persistent data

docker run -d -p 8080:8080 -p 9090:9090 -v webgoat_data:/home/webgoat/.webgoat --name webgoat webgoat/webgoat-8.0

Stop container

docker stop webgoat

Remove container

docker rm webgoat

View logs

docker logs webgoat ```_

Docker komponiert Installation

```yaml

Create docker-compose.yml

cat << 'EOF' > docker-compose.yml version: '3.8'

services: webgoat: image: webgoat/webgoat-8.0 container_name: webgoat ports: - "8080: 8080" - "9090: 9090" volumes: - webgoat_data: /home/webgoat/.webgoat environment: - WEBGOAT_PORT=8080 - WEBWOLF_PORT=9090 restart: unless-stopped

volumes: webgoat_data: EOF

Start WebGoat

docker-compose up -d

View logs

docker-compose logs -f webgoat

Stop WebGoat

docker-compose down

Stop and remove volumes

docker-compose down -v ```_

Stehend JAR Installation

```bash

Download WebGoat JAR

wget https://github.com/WebGoat/WebGoat/releases/download/v8.2.2/webgoat-server-8.2.2.jar

Install Java (if not already installed)

Ubuntu/Debian

sudo apt update sudo apt install openjdk-11-jdk -y

CentOS/RHEL

sudo yum install java-11-openjdk -y

macOS

brew install openjdk@11

Run WebGoat

java -jar webgoat-server-8.2.2.jar

Run with custom port

java -jar webgoat-server-8.2.2.jar --server.port=9001

Run with custom configuration

java -jar webgoat-server-8.2.2.jar --server.address=0.0.0.0 --server.port=8080

Access WebGoat at http://localhost:8080/WebGoat

```_

Quellcode Installation

```bash

Install prerequisites

Java 11+, Maven 3.6+, Git

Clone repository

git clone https://github.com/WebGoat/WebGoat.git cd WebGoat

Build WebGoat

mvn clean install

Run WebGoat

mvn spring-boot:run

Build standalone JAR

mvn clean package java -jar webgoat-server/target/webgoat-server-*.jar

Run WebWolf separately

cd webwolf mvn spring-boot:run ```_

Kubernetes Bereitstellung

```yaml

Create webgoat-deployment.yaml

cat << 'EOF' > webgoat-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: webgoat labels: app: webgoat spec: replicas: 1 selector: matchLabels: app: webgoat template: metadata: labels: app: webgoat spec: containers: - name: webgoat image: webgoat/webgoat-8.0 ports: - containerPort: 8080 - containerPort: 9090 env: - name: WEBGOAT_PORT value: "8080" - name: WEBWOLF_PORT value: "9090"


apiVersion: v1 kind: Service metadata: name: webgoat-service spec: selector: app: webgoat ports: - name: webgoat port: 8080 targetPort: 8080 - name: webwolf port: 9090 targetPort: 9090 type: LoadBalancer EOF

Deploy to Kubernetes

kubectl apply -f webgoat-deployment.yaml

Check deployment status

kubectl get pods kubectl get services

Access WebGoat

kubectl port-forward service/webgoat-service 8080: 8080 ```_

Initial Setup und Konfiguration

Erst-Zeit-Setup

```bash

Access WebGoat

Navigate to http://localhost:8080/WebGoat

Create user account

Click "Register new user"

Username: your_username

Password: your_password

Login to WebGoat

Use created credentials

Access WebWolf (support application)

Navigate to http://localhost:9090/WebWolf

Use same credentials as WebGoat

```_

Benutzermanagement

```bash

Default admin account (if enabled)

Username: admin

Password: admin

Create additional users

Each user has separate progress tracking

Suitable for classroom environments

Reset user progress

Delete user data directory

Or use admin interface (if available)

Backup user progress

Copy .webgoat directory

Contains user data and progress

```_

Konfigurationsoptionen

```bash

Custom server configuration

Create application.properties

cat << 'EOF' > application.properties server.port=8080 server.address=0.0.0.0 logging.level.org.owasp.webgoat=DEBUG webgoat.user.directory=/custom/path EOF

Run with custom configuration

java -jar webgoat-server-*.jar --spring.config.location=application.properties

Environment variables

export WEBGOAT_PORT=8080 export WEBWOLF_PORT=9090 export WEBGOAT_SSLENABLED=false

JVM options

java -Xmx1024m -Xms512m -jar webgoat-server-*.jar ```_

Unterrichtskategorien und Module

Sicherheitsbewusstsein

```bash

HTTP Basics

- Understanding HTTP protocol

- Request/response structure

- Headers and methods

- Status codes

HTTP Proxies

- Proxy configuration

- Intercepting requests

- Modifying traffic

- Burp Suite integration

Developer Tools

- Browser developer tools

- Network tab analysis

- Console manipulation

- Source code inspection

```_

Authentication Flaws

```bash

Authentication Bypasses

Lesson: Bypass authentication mechanisms

Method 1: SQL Injection in login

Username: admin' -- Password: anything

Method 2: Logic flaws

Analyze authentication logic

Find bypass conditions

Method 3: Session manipulation

Modify session tokens

Predict session values

Password Reset Flaws

Lesson: Exploit password reset functionality

Method 1: Parameter manipulation

Change user parameter in reset request

Reset other users' passwords

Method 2: Token prediction

Analyze reset token generation

Predict valid tokens

Secure Passwords

Lesson: Password security concepts

- Password complexity

- Common passwords

- Brute force attacks

- Password storage

```_

Zugriffskontrolle Flaws

```bash

Insecure Direct Object References

Lesson: Access unauthorized resources

Method 1: Parameter manipulation

Change user ID in requests

Access other users' data

Method 2: Path traversal

Modify file paths

Access system files

Missing Function Level Access Control

Lesson: Access restricted functions

Method 1: URL manipulation

Access admin functions directly

Bypass menu restrictions

Method 2: Role manipulation

Modify role parameters

Escalate privileges

```_

Cross-Site Scripting (XSS)

```bash

Reflected XSS

Lesson: Execute JavaScript in victim's browser

Basic payload

Advanced payloads