
Aplicação web PHP/MariaDB intencionalmente vulnerável para praticar vulnerabilidades de segurança web comuns em vários níveis de dificuldade em um ambiente legal e controlado.
Damn Vulnerable Web Application (DVWA) é um aplicativo web em PHP/MySQL que é extremamente vulnerável. Seu principal objetivo é auxiliar profissionais de segurança a testar suas habilidades e ferramentas em um ambiente legal, ajudar desenvolvedores web a entender melhor os processos de segurança de aplicações web e auxiliar tanto estudantes quanto professores a aprender sobre segurança de aplicações web em um entorno controlado em sala de aula.
O objetivo do DVWA é permitir a prática de algumas das vulnerabilidades web mais comuns, com vários níveis de dificuldade, por meio de uma interface simples e direta. Tenha em mente que existem vulnerabilidades documentadas e não documentadas neste software. Isso é intencional. Encorajamos você a tentar descobrir o maior número possível de problemas.
DVWA é muito vulnerável! Não a carregue na pasta pública html do seu provedor de hospedagem ou em qualquer servidor voltado para a Internet, pois eles serão comprometidos. É recomendável usar uma máquina virtual (como VirtualBox ou VMware), configurada no modo de rede NAT. Dentro da máquina virtual, você pode baixar e instalar o XAMPP para o servidor web e banco de dados.
Não nos responsabilizamos pela forma como alguém utiliza esta aplicação (DVWA). Deixamos claro os objetivos da aplicação e não deve ser utilizada maliciosamente. Foram fornecidos avisos e medidas para evitar que os usuários instalem o DVWA em servidores web ativos. Se o seu servidor web for comprometido através da instalação do DVWA, não é de nossa responsabilidade, mas sim da pessoa(s) que o instalou.
Este arquivo faz parte do Damn Vulnerable Web Application (DVWA).
Damn Vulnerable Web Application (DVWA) é um software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU, publicada pela Free Software Foundation, na versão 3 da Licença ou (em sua opção) qualquer versão posterior.
Damn Vulnerable Web Application (DVWA) é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO. Consulte a Licença Pública Geral GNU para obter mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com o Damn Vulnerable Web Application (DVWA). Se não recebeu, consulte https://www.gnu.org/licenses/.
Este arquivo está disponível em vários idiomas.
Se você deseja contribuir com uma tradução, por favor envie uma solicitação de pull. No entanto, isso não significa apenas executar a tradução pelo Google Translate e enviar, pois essas serão rejeitadas. Envie a versão traduzida adicionando um novo arquivo 'README.xx.md' onde xx é o código de duas letras do idioma desejado (com base no ISO 639-1).
Enquanto existem várias versões do DVWA disponíveis, a única versão suportada é a última do código-fonte do repositório oficial do GitHub. Você pode cloná-lo do repositório:
git clone https://github.com/digininja/DVWA.git
The easiest way to install DVWA is to download and install XAMPP if you do not already have a web server setup.
XAMPP is a very easy to install Apache Distribution for Linux, Solaris, Windows and Mac OS X. The package includes the Apache web server, MySQL, PHP, Perl, a FTP server and phpMyAdmin.
This video walks you through the installation process for Windows but it should be similar for other OSs.
DVWA vem com uma cópia fictícia do seu arquivo de configuração que você precisa copiar para o local correto e fazer as alterações apropriadas. No Linux, supondo que você esteja no diretório do DVWA, isso pode ser feito da seguinte forma:
cp config/config.inc.php.dist config/config.inc.php
No Windows, isso pode ser um pouco mais difícil se você estiver ocultando as extensões de arquivo. Se você não tem certeza disso, este post de blog explica mais sobre o assunto:
How to Make Windows Show File Extensions
Se você estiver usando uma distribuição Linux baseada em Debian, será necessário instalar os seguintes pacotes (ou seus equivalentes):
É recomendado fazer uma atualização antes disso para garantir que você vai obter a versão mais recente de tudo
apt update
apt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php
Embora o site possa funcionar com MySQL, recomendamos fortemente o uso do MariaDB, já que ele é compatível sem necessidade de ajustes adicionaisr.
Para configurar o banco de dados, basta clicar no botão Setup DVWA no menu principal e, em seguida, clicar no botão Create / Reset Database. Isso irá criar/reconfigurar o banco de dados para você com alguns dados.
Se você receber um erro ao tentar criar seu banco de dados, verifique se suas credenciais do banco de dados estão corretas dentro de ./config/config.inc.php. Isso difere do config.inc.php.dist, que é um arquivo de exemplo.
Por padrão, as variáveis são definidas da seguinte maneira:
$_DVWA[ 'db_server'] = '127.0.0.1';
$_DVWA[ 'db_port'] = '3306';$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
$_DVWA[ 'db_database' ] = 'dvwa';
Observação: se você estiver usando o MariaDB em vez do MySQL (o MariaDB é o padrão no Kali), você não pode usar o usuário root do banco de dados, você deve criar um novo usuário de banco de dados. Para fazer isso, conecte-se ao banco de dados como usuário root e use os seguintes comandos:
mysql> create database dvwa;
Query OK, 1 row affected (0.00 sec)
mysql> create user dvwa@localhost identified by 'p@ssw0rd';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on dvwa.* to dvwa@localhost;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Alguns ferramentas não funcionam bem com autenticação e não podem ser usadas com o DVWA. Para contornar isso, há uma opção de configuração para desativar a verificação de autenticação. Para fazer isso, basta definir o seguinte no arquivo de configuração:
$_DVWA[ 'disable_authentication' ] = true;
Você também precisará definir o nível de segurança que seja apropriado para os testes que deseja realizar:
$_DVWA[ 'default_security_level' ] = 'low';
Nesse estado, você pode acessar todos os recursos sem precisar fazer login ou definir cookies.