Skip to main content

How to Contribute

We welcome contributions to DVWA! Whether you want to fix bugs, add features, or help translate the project, your contributions help keep this project updated and useful for the security community.

Ways to Contribute

You can contribute to DVWA in several ways:
  • Bug Fixes: Help fix installation issues or problems in the vulnerabilities
  • Feature Development: Add new vulnerabilities or improve existing ones
  • Translations: Translate the README into other languages
  • Documentation: Improve setup guides and troubleshooting information

Translation Process

If you would like to contribute a translation of the README, please submit a PR.
Do not simply run the document through Google Translate and submit that - those will be rejected.

How to Submit a Translation

  1. Create a new file named README.xx.md where xx is the two-letter code of your desired language based on ISO 639-1
  2. Translate the content carefully, ensuring technical accuracy
  3. Submit a pull request with your translated version

Currently Available Languages

DVWA README is available in:
  • Arabic: README.ar.md
  • Chinese: README.zh.md
  • French: README.fr.md
  • Korean: README.ko.md
  • Persian: README.fa.md
  • Polish: README.pl.md
  • Portuguese: README.pt.md
  • Spanish: README.es.md
  • Turkish: README.tr.md
  • Indonesian: README.id.md
  • Vietnamese: README.vi.md
  • Italian: README.it.md
  • Ukrainian: README.uk.md
  • Russian: README.ru.md

GitHub Workflow

Supported Versions

Support will only be given for users running the latest pull of code from GitHub. This means:
  • Not a tagged release
  • Not a pre-installed app
  • Not a ZIP you got from someone else
Always use the latest code from the master branch:
git clone https://github.com/digininja/DVWA.git
```bash

Or [download a ZIP of the files](https://github.com/digininja/DVWA/archive/master.zip).

### Creating Pull Requests

If you have an idea, some kind of improvement, or want to collaborate:

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request with a clear description of your changes

Feel free to send your PR - you are welcome to contribute and participate in the project.

## Submitting Issues

Before raising a bug or issue, please follow these guidelines to ensure your issue can be resolved quickly.

### Before You Submit

1. **Read the README thoroughly** - especially if your bug relates to configuring the database
2. **Check existing issues** - both open and closed tickets at [https://github.com/digininja/DVWA/issues](https://github.com/digininja/DVWA/issues)
3. **Ensure you're running the latest code** - pull the latest from the master branch (not a release)
4. **Review troubleshooting documentation** - many common issues are already documented

<Warning>
Issues will be closed if the answer is in the README and no obvious attempts have been made to follow it.
</Warning>

### Required Information for Bug Reports

When submitting a ticket, please include at least:

#### System Information
- **Operating System** (e.g., Windows, Ubuntu, Kali)
- **Database and Version** (e.g., MariaDB 10.5.12)
- **PHP Version** (e.g., 7.4.25)
- **Installed PHP modules**

#### Log Files
Include the last 5 lines from the web server error log directly after the error occurred:

```sh
tail -n 5 /var/log/apache2/access.log /var/log/apache2/error.log

Problem Description

  • What is going wrong - clear and specific description
  • Expected behavior - what you expected to happen
  • Steps to reproduce - detailed steps to recreate the issue
  • What you’ve tried - research done and attempts to fix it
“Login broken” is not enough information. Provide full details about the problem and what you’ve tried.

Database Authentication Issues

If reporting database authentication problems:
  1. Go through the database setup steps
  2. Screenshot each step
  3. Screenshot the database credentials section in config/config.inc.php
  4. Submit screenshots along with your issue

Installation Issues Template

For installation problems, include:
  • Where you installed DVWA
  • Installation method used
  • Apache log files (last 5 lines)
  • Any error messages received
  • Screenshots if applicable

Vulnerability Issues Template

For problems with specific vulnerabilities:
  • DVWA installation OS
  • Database type and version
  • PHP version
  • Browser OS and type
  • Proxy tool (e.g., Burp, ZAP)
  • Detailed reproduction steps

Getting Help When Stuck

If you’re stuck exploiting a vulnerability, questions may or may not be answered depending on quality. To increase your chances: Read: Asking For Technical Help The more details you provide, the better chance of getting an answer. Include:
  • Where you got DVWA from
  • OS you’re installing on
  • Last five lines from web server logs
  • The error you encountered
  • What you’ve tried to fix it

Code of Conduct

Be Respectful

  • Treat all contributors with respect
  • Provide constructive feedback
  • Be patient with those learning

Quality Standards

  • Test your changes thoroughly
  • Follow existing code style
  • Provide clear commit messages
  • Document new features

Scope of Contributions

Remember that DVWA is intentionally vulnerable. When contributing:
  • Don’t “fix” the intentional vulnerabilities
  • Focus on improving installation, configuration, and usability
  • Add new vulnerability examples that serve educational purposes

Recognition

Thanks for all your contributions and keeping this project updated! All contributors are recognized in the project. You can view all contributors at the DVWA Contributors page.

License

This file is part of Damn Vulnerable Web Application (DVWA). Damn Vulnerable Web Application (DVWA) is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. For more details, see https://www.gnu.org/licenses/.

Build docs developers (and LLMs) love