Overview
DVWA comes with five pre-configured user accounts in the database. These accounts are created during the database setup process and are used for various security exercises, particularly brute force attacks, SQL injection, and access control testing.Default User Accounts
The following accounts are automatically created when you run the database setup:| User ID | Username | Password | First Name | Last Name | Role |
|---|---|---|---|---|---|
| 1 | admin | password | admin | admin | admin |
| 2 | gordonb | abc123 | Gordon | Brown | user |
| 3 | 1337 | charley | Hack | Me | user |
| 4 | pablo | letmein | Pablo | Picasso | user |
| 5 | smithy | password | Bob | Smith | user |
Administrator Account
Username:adminPassword:
passwordRole:
admin
Characteristics
- Primary login account for accessing DVWA
- Full administrative privileges
- Used to configure security levels and system settings
- Target for privilege escalation exercises
- Can be reset at any time via database setup
Usage
- Initial login to DVWA
- Database setup and configuration
- Security level management
- Administrative tasks
- Testing authorization bypass vulnerabilities
Standard User Accounts
The four non-admin accounts serve different purposes in security exercises:gordonb (Gordon Brown)
Password:abc123
- Common, simple password
- Good target for dictionary attacks
- Demonstrates weak password choices
1337 (Hack Me)
Password:charley
- Username suggests a hacker persona
- Password is a common name
- Tests username enumeration
pablo (Pablo Picasso)
Password:letmein
- Classic weak password example
- One of the most common passwords
- Perfect for demonstrating password cracking
smithy (Bob Smith)
Password:password
- Same password as admin (intentional)
- Tests password reuse scenarios
- Useful for access control exercises
User Roles and Permissions
DVWA implements a basic role-based access control system:Admin Role
- Access to all functionality
- Can view security logs and access logs
- Can perform administrative actions
- Required for system configuration
User Role (Default)
- Standard access to vulnerability modules
- Limited access to certain features
- Cannot access administrative functions
- Used in Broken Access Control (BAC) exercises
The role column was added to support the Broken Access Control vulnerability module, where users attempt to access resources they shouldn’t have permission to view.
Password Storage
Passwords in DVWA are stored using MD5 hashing:Broken Access Control (BAC)
Goal: Access resources belonging to other users- View files/data of other users
- Bypass role-based restrictions
- Understand horizontal privilege escalation
- Test vertical privilege escalation (user to admin)
Authorization Bypass
Goal: Bypass authentication mechanisms- Manipulate user data
- Access functionality without proper authentication
- Change other users’ information
- Understand authentication vs. authorization
Account-Related Database Tables
DVWA creates several tables related to user management:users Table
Main user account storage:security_log Table
Tracks security events:Session Hijacking
- Log in as different users
- Examine session cookies
- Test session fixation
- Understand session management flaws
Privilege Escalation
- Log in as regular user
- Attempt to access admin functionality
- Modify role via SQL injection
- Test horizontal and vertical escalation
User Avatars
Each user has an associated avatar image:- File inclusion exercises
- Path traversal testing
- Understanding file upload contexts
Security Lessons
Weak Passwords
All five accounts demonstrate common password mistakes:- Using “password” (admin, smithy)
- Simple sequences (abc123)
- Common words (charley, letmein)
- No complexity requirements
Password Reuse
- admin and smithy share the same password
- Demonstrates risks of password reuse
- Shows importance of unique passwords per account
Predictable Usernames
- Simple names (admin, pablo, smithy)
- Numeric usernames (1337)
- Easy to enumerate
- Common in real-world systems
Insufficient Protection
- No multi-factor authentication
- Weak hashing (MD5)
- No password complexity requirements
- No password expiration
Next Steps
- Learn about Security Levels to understand how account protection varies
- Try the Brute Force module to practice password attacks
- Use SQL Injection to extract account data
- Test the Broken Access Control module to understand authorization
- Review Getting Started for navigation tips
