Sign inSign up

trapdoorsec/dvwapi

By trapdoorsec

•Updated 10 months ago

Intentionally vulnerable REST API for security testing. Practice API hacking safely.

Image
Security
API management
0

756

trapdoorsec/dvwapi repository overview

⁠DVWAPI - Damn Vulnerable Web API

āš ļø INTENTIONALLY VULNERABLE - FOR SECURITY TESTING ONLY āš ļø

A deliberately insecure REST API built in Rust for learning and practicing API security testing. Perfect for training, CTFs, and testing security tools.

⁠Quick Start

docker pull trapdoorsec/dvwapi:latest
docker run -d -p 7341:7341 trapdoorsec/dvwapi

API available at http://localhost:7341

⁠What's Included

3 API versions with different response formats, each containing:

CategoryEndpointsVulnerabilities
Debug/api/v{1,2,3}/debug/config, /api/v{1,2,3}/envSecrets exposure, credential leaks
Admin/api/v{1,2,3}/adminMissing authentication
Files/api/v{1,2,3}/.envSensitive file disclosure
Actuator/actuator/*Spring Boot misconfig (env, heapdump, shutdown)
GraphQL/graphqlIntrospection, unrestricted mutations, secrets query
Swagger/swagger/*RCE via spec generation
Command Injection/api/{version}/version-infoOS command execution

⁠Vulnerabilities

  • šŸ”“ Missing authentication on sensitive endpoints
  • šŸ”‘ Hardcoded secrets & credentials exposure
  • šŸ’‰ Command injection via path/query parameters
  • šŸ“Š GraphQL introspection + secrets disclosure
  • āš™ļø Spring Boot Actuator misconfiguration
  • šŸ›‘ Unauthenticated shutdown endpoint
  • šŸ“ Environment variable dumps
  • 🧠 Simulated heap dumps with sensitive data

⁠Use Cases

  • šŸŽÆ API fuzzer development & testing
  • šŸŽ“ Security training & education
  • šŸ“ CTF challenges
  • šŸ” Penetration testing practice
  • šŸ› ļø Security tool validation

⁠Configuration

# Custom port and debug logging
docker run -d -p 8080:8080 trapdoorsec/dvwapi --port 8080 --log-level debug

# All options
--ip <IP>           # Bind address (default: 0.0.0.0)
--port <PORT>       # Port (default: 7341)
--log-level <LEVEL> # trace|debug|info|warn|error
--colored <BOOL>    # Colored output (default: true)

⁠Tags

  • latest - Most recent stable release
  • 0.1.0 - Specific versions (semver)

ā āš ļø Security Warning

DO NOT deploy on public networks or production systems. This application is intentionally vulnerable and will compromise your host if exposed to the internet.


License: AGPL-3.0 | Built with: Rust + Axum

Tag summary

Content type

Image

Digest

sha256:c5cc647a3…

Size

35.9 MB

Last updated

10 months ago

docker pull trapdoorsec/dvwapi