bWAPP Guide: Docker Setup, Linux, Windows, Login, SSRF and Walkthrough
bWAPP Docker Install for Linux, Windows and Kali
buggy Web Application quick start

bWAPP Docker Install: Ubuntu, RHEL, Windows, Kali, Setup and Login

Run bWAPP locally with a community Docker image, complete the one-time database setup, sign in with the original training account, and keep every useful lifecycle command on one page.

bWAPP, short for buggy Web Application, is a legacy PHP and MySQL training app with more than one hundred intentionally vulnerable exercises. This guide uses the fastest practical community Docker image, clearly labels that dependency, completes the database setup, and keeps the login and lifecycle commands together.

What is bWAPP?

bWAPP is a deliberately insecure PHP application created for authorized web-security training. It includes a broad set of lessons covering injection, cross-site scripting, authentication, file handling, SSRF, XML, and other classic web weaknesses.

The original bWAPP source and bee-box VM are hosted on SourceForge and are now legacy releases. The Docker method below uses the community-maintained image because the original project does not publish a current official container. The page keeps that distinction visible so readers know exactly what they are running.

Download, install, run and test bWAPP

bWAPP is a legacy PHP and MySQL training application with more than one hundred deliberately vulnerable exercises. The original project does not publish a current official container, so the quickest cross-platform path below clearly uses a community image; the original SourceForge ZIP is also provided.

Use only a local, isolated training machine. The commands bind the lab to your computer wherever the project supports a localhost binding. Do not publish these applications to the Internet.
One-time database installhttp://127.0.0.1:8080/install.php
Loginhttp://127.0.0.1:8080/login.php — bee / bug

Ubuntu: complete Bash installation

Open a Bash terminal and paste the full block. It installs every required package, downloads the current project or image, starts the lab, tests the web service, and prints the browser address.

Ubuntu — copy all commandsBash; run from a normal user account
Copy the whole block into the named terminal.

RHEL, Rocky Linux or AlmaLinux: complete Bash installation

Open Bash and paste the full block. These commands use and the Docker RHEL repository.

RHEL-family Linux — copy all commandsBash; RHEL 8/9, Rocky Linux or AlmaLinux
Copy the whole block into the named terminal.

Windows 10 or 11: complete cmd.exe installation

Open Command Prompt as Administrator. The first block installs Docker Desktop. If Windows requests a restart, restart, reopen , and paste the same block again.

Windows — copy all commandscmd.exe, not PowerShell
Copy the whole block into the named terminal.

Original project ZIP and Podman alternatives

Download the original bWAPP 2.2 ZIPThe original source requires Apache or IIS, PHP and MySQL/MariaDB
Copy the whole block into the named terminal.
Run the same community image with PodmanLinux Bash
Copy the whole block into the named terminal.

pip: bWAPP is PHP-based and does not use pip.

bWAPP deliberately vulnerable web application training
From setup to safe practice

The installation view confirms that the local lab is ready. The next visual introduces the broader request and response context you should keep in mind before starting the guided bWAPP walkthrough below.

bWAPP SSRF and web vulnerability practice lab

A practical first bWAPP walkthrough

After the database is created, sign in and choose one simple lesson such as reflected input handling or authentication behavior. Keep the security level low for the first pass, then raise it and compare how the response changes. The application contains many older vulnerability examples, so connect each exercise to the underlying principle rather than assuming the exact implementation matches a modern framework.

For SSRF exercises, use only destinations that belong to your own local lab. The learning goal is to understand why a server should restrict outbound destinations, protocols, redirects, DNS resolution, and response handling.

Keep the lab on your own computer or an isolated training network. These applications are intentionally insecure and should never be published on an Internet-facing server.

Troubleshooting that actually helps

ProblemWhat to checkFix
install.php does not loadContainer and port mappingRun and confirm 127.0.0.1:8080 maps to container port 80.
Database creation failsContainer initializationWait ten seconds, reload install.php, and inspect .
bee / bug login failsDatabase not createdReturn to install.php and complete the database setup first.
Port 8080 is busyAnother local applicationStop the other service or change the host side of the port mapping.

How Ammune helps with production risks represented by bWAPP

bWAPP covers a very broad set of classic weaknesses. Ammune can map many of those lessons to real API request and response behavior, while infrastructure controls still remain necessary for risks such as server-side egress.

Runtime API visibility

Build an inventory from observed traffic and show which endpoints, methods, parameters, and response fields are actually in use.

Request and response context

Inspect both sides of an API transaction so analysts can see the input, returned data, status, identity context, and related behavior.

Operational response

Turn suspicious API activity into risk-ranked, SIEM-ready evidence that can support monitoring, investigation, and carefully controlled enforcement.

Training weaknessProduction API riskHow Ammune can help
SSRF-style URL parametersAn API accepts a URL or host value that causes the server to fetch an unintended destination.Identify suspicious URL-bearing parameters and response anomalies; network egress filtering and cloud metadata protection are still required to stop all SSRF paths.
Injection and XSSUntrusted parameters reach a query, interpreter, or returned page.Inspect payloads and responses, identify unusual structures, and provide endpoint context for investigation or policy decisions.
Weak authentication and sessionsPredictable or reused credentials and sessions enable API misuse.Correlate identity, token, endpoint, and behavior patterns to surface unusual login and session activity.
File and XML processingUnexpected files or XML structures reach sensitive parsers.Detect unusual content types, methods, payload shapes, parser-related errors, and response leakage around affected endpoints.

Related Ammune guidance: OWASP API SSRF API abuse detection API response data leakage OWASP Juice Shop Docker installation and login guide

A training lab demonstrates a weakness in isolation. Ammune is designed for production API environments, where protection depends on real traffic context, API behavior, identity, sensitive response data, and a safe deployment policy. No single control replaces secure coding, authorization design, egress controls, or incident response.

Verified project sources

The tutorial above is complete; these links are included for release history, project ownership, and future verification—not because you need to leave this page to finish the installation.

Frequently asked questions

Why is bWAPP considered a legacy lab?

Its original release is older and its dependencies reflect an earlier PHP and MySQL ecosystem, although its vulnerability lessons remain educational.

Is the community Docker image an official bWAPP release?

No. It is a convenience image maintained outside the original SourceForge project, so use it only in an isolated lab and verify the image source.

What does the bWAPP security level change?

It changes how much protection the application applies, letting learners compare weak and stronger handling of the same input.

Why is SSRF important beyond bWAPP?

Server-side request forgery can let an application reach internal services, metadata endpoints or destinations the user could not contact directly.

What should be modernized before using bWAPP in a class?

Keep it isolated, use disposable containers or a VM, avoid real credentials and reset the environment between groups.

How can Ammune help with related production behavior?

Ammune can identify unusual API destinations, parameters, response data and behavior patterns, while network egress controls remain essential for SSRF prevention.

Apply the lessons from bWAPP to real API traffic

Ammune helps security, DevSecOps, and SOC teams discover APIs, inspect requests and responses, identify abuse and data exposure, and turn runtime evidence into practical investigation or enforcement workflows.

© 2026 Ammune Security. Run deliberately vulnerable applications only in isolated, authorized training environments.