Sie sind auf Seite 1von 3

Damn Vulnerable Web App: aprenda a explorar falhas de segurana de aplicaes web

Aplicaes web so, hoje em dia, os alvos mais visados por hackers. Geralmente, este tipo de aplicao possui muitas falhas de segurana simples de se explorar e permitem que um spammer, por exemplo, utilize seu site para disseminar malware, spyware, phishing, etc. Por isso muito importante que voc desenvolva aplicaes web seguras. Mas, como entender estas falhas de maneira fcil? Utilizando aplicaes como o Damn Vulnerable Web App. O DVWA uma aplicao web que possui vrias falhas de segurana para voc poder explorar e entender como elas funcionam. Utilizando esta aplicao voc pode atacar o servidor tranquilamente, sem medo de estar fazendo algo errado e ainda aprender a defender o seu servidor de produo. Na verso 1.0.4 (a mais atual enquanto escrevo este texto), algumas das falhas que podem ser estudadas so: SQL injection XSS (Cross Site Scripting) LFI (Local File Inclusion) RFI (Remote File Inclusion) Execuo de comandos Upload de scripts Brute force em pgina de login Uma das caractersticas mais legais desse software, na minha opinio, a possibilidade de selecionar nveis de dificuldade. Assim, voc pode fazer com que o processo de explorar as falhas do software seja mais simples ou mais complexo, de acordo com o seu conhecimento. Alm disso, a aplicao toda OpenSource: voc pode analisar todo o cdigo e verificar como os erros foram introduzidos pelo programador. Neste artigo vou te ensinar a instalar o DVWA em uma mquina virtual CentOS Linux (mas no ser nada complicado adaptar o tutorial outras distribuies, a instalao deste software realmente simples). Se voc gosta de Windows, pode instalar a aplicao utilizando o XAMPP (esta configurao no ser abordada neste artigo):http://www.apachefriends.org/pt_br/xampp-windows.html. Obviamente, esta aplicao cheia de falhas de segurana e no deve, em hiptese alguma, ser instalada em um servidor que permita que ela seja acessada atravs da Internet. Nunca se esquea disso! Como dizem os desenvolvedores: Damn Vulnerable Web App is damn vulnerable!. Preparando o ambiente: Apache, PHP e MySQL Antes de instalar o DVWA voc deve ter um ambiente LAMP funcional. Nos prximos pargrafos, vou te mostrar como. Apache A instalao do Apache bem simples, basta: # yum install httpd httpd-manual Para instalar o servidor HTTPd e a documentao. Por padro, o diretrio onde voc deve adicionar os arquivos do DVWA o /var/www/html/algum-diretorio. O ltimo diretrio (algum-diretorio) deve ser criado por voc e opcional: serve apenas para deixar seu servidor um pouco mais organizado. Inicialize o servio httpd: # service httpd start PHP Voc pode fazer a instalao do PHP da seguinte maneira: # yum install php php-common php-devel php-gd php-mysql No PHP, no h configuraes a serem feitas.

MySQL A instalao do MySQL requer alguns passos adicionais, mas tambm bem simples: # yum install mysql mysql-devel mysql-server O pacote mysql-devel na verdade no necessrio, mas eu gosto de ter todos os arquivos de desenvolvimento junto com o pacote. Mania :) Se o servio mysqld no estiver startado, faa o seguinte: # service mysqld start Logo aps, defina uma senha de root utilizando o seguinte comando: # /usr/bin/mysqladmin -u root password senha No se esquea de colocar uma senha forte para o root. Pronto, MySQL tambm j est instalado e configurado. Lembre-se dessa senha, mais tarde ela ser necessria durante o processo de configurao do DVWA. Download e instalao do DVWA Com um ambiente LAMP operacional, podemos comear a instalao do DVWA sem dores de cabea :) O download do DVWA pode ser feito em http://sourceforge.net/projects/dvwa/. um download rpido, o arquivo tem apenas 1.4MB. Quando o download estiver finalizado, envie o arquivo para o diretrio /var/www/html da mquina onde voc ir instalar o aplicativo e faa o seguinte: # cd /var/www/html # unzip dvwa_v1.0.4.zip Ser criado um diretrio chamado dvwa. Devemos entrar nele e editar o arquivo includes/config.php. Neste arquivo vamos colocar o usurio e a senha do MySQL para que seja possvel criar o banco de dados para explorarmos as falhas de SQL Injection. O arquivo bem simples, em $user coloque o usurio que voc utiliza para acessar o BD (eu utilizei o root mesmo) e em $password voc deve colocar a senha que configurou no item anterior. # cd dvwa/includes # vim config.php Todo o resto da configurao ser feito atravs do seu navegador. Acesse a mquina onde voc instalou o DVWA atravs do endereo http://localhost/dvwa. Lembre-se de substituir localhost pelo IP da mquina onde voc instalou o software. A primeira tela que voc vai ver a seguinte:

Para configurar o MySQL para que voc possa executar ataques de SQL Injection, clique no link SQL Injection esquerda e clique em Click here para executar a configurao clique em Create database e pronto! O instalador ir fazer todo o resto automaticamente, considerando que o nome de usurio e a senha estejam corretos no arquivo /var/www/html/dvwa/includes/config.php.

Por padro, o nvel de segurana do DVWA est configurado para low (baixo). Se voc quiser alterar, basta clicar em Security Level no menu esquerda e selecionar o nvel desejado da caixinha de seleo direita. Concluso Se voc conseguiu chegar at aqui, voc j ter um ambiente DVWA pronto para ser estudado. No menu esquerda voc pode selecionar qual ataque quer executar clicando em algum dos links (Brute force, File inclusion, etc). Em cada um desses links, no rodap voc encontra referncias a textos explicando o que so e como explorar tais falhas (a maioria tambm ensina a corrigir os problemas). O nico porm que estes links so todos em ingls. Mas em portugus voc tambm consegue encontrar muito material de alta qualidade, basta procurar no Google. Espero que com isso voc aprenda a desenvolver aplicaes web mais seguras ou, se no desenvolvedor, que consiga testar e ensinar ao desenvolvedor do site da sua empresa (ou algum desenvolvedor amigo seu) a codificar de forma mais segura, contribuindo assim com uma web segura e com menos perigos para todos os usurios! Se voc tem alguma dvida ou sugesto, deixe um comentrio!