DVWA Solution — SQL Injection
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; #