DVWA Solution — SQL Injection

Rafael Renovaci
3 min readApr 30, 2019

--

Low

Digite 1 e envie e veja que conseguimos : id, nome e sobrenome.

Digite 2 e envie e veja que conseguimos : id, nome e sobrenome, do user com ID = 2.

Agora vamos ver o código fonte para baixa segurança, podemos ver que é uma consulta muito simples, sem qualquer segurança.

Como sabemos vamos verificar vulnerabilidades sql utilizando o ‘ por exemplo, php? id = 1 .

Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à sua versão do servidor MySQL para a sintaxe correta para usar perto de ‘’ 1 ‘’ ‘na linha 1

Agora vamos escrever em na caixa de texto a injeção

1' or '1' = '1

então ‘enviar’

Medium

Através da injeção no parâmetro ID durante a interceptação do Burp e possível a alteração 1 or 1= 1.

podemos também testar a seguinte injeção.

1 or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users

High

Código principal do lado do servidor

Como você pode ver, comparado ao código de nível Médio , o nível Alto adiciona apenas LIMIT 1 à instrução de consulta SQL , esperando controlar apenas um resultado.

Embora LIMIT 1 tenha sido adicionado , podemos comentar por # . Como o processo de injeção manual é basicamente o mesmo que o nível baixo , a etapa final é demonstrar os dados do download.

Vamos identificar a pagina para efetuar o envio da nossa injeção.

http://192.168.56.101/DVWA/vulnerabilities/sqli/session-input.php#

Vamos utilizar a injeção

1' union select group_concat(user_id,first_name,last_name),group_concat(password) from users; #

--

--