SQL Injection: exemplo prático com PHP + MySQL

0
17943
  1. SQL Injection

SQL Injection (ou Injeção SQL) é o nome dado a uma falha no código de uma aplicação qualquer que possibilita, por meio de uma entrada qualquer, a manipulação de uma consulta SQL.

Exemplo prático – PHP + MySQL

PHP + HTML

Insira em seu arquivo .php o seguinte código:

Lembre-se de setar o IP do seu servidor web, usuário e senha na função mysql_connect, nessa ordem.

Lembre-se de setar o nome da base de dados na função mysql_select_db.

OBS: Lembrar que esse código é para fins didáticos. O recomendado atualmente é utilizar PDO para conexões com banco de dados no PHP.

MySQL

Inicialmente crie uma database nova para testes chamada injection.

Comando:

Após isso utilize o comando USE para utilizar essa database:

Após isso, cole o seguinte script:

OBS: Lembrar que esse script é para fins didáticos. Utilizamos uma tabela sem chave primária e sem hash na senha, o que não é recomendado.

Pronto. Basta acessar a página e fazer o teste final.

demonstrando sql injection

Para conseguir ‘burlar’ a validação simulando assim um ataque SQL Injection, utilize no campo senha: ' or ''=' 

Após clicar em logar, é dado a mensagem: “Logado com sucesso”, validando o SQL Injection.