O que é um SQL Injection Attack / Vulnerabilidade?

Este FAQ resposta foi escrito por k4thryn:

A injeção SQL vulnerabilidade pode ocorrer quando um mal-escrito programa usa os dados fornecidos por usuários em um banco de dados consulta sem primeiro validar a entrada. Esta é mais freqüentemente encontrados dentro de páginas web com conteúdo dinâmico. Há alguns excelentes tutoriais e descritivo artigos sobre este assunto, bem como muitas vulnerabilidades lançamentos para diferentes aplicações de full-divulgação websites.

Um exemplo simples injeção de SQL é um formulário de login em HTML básico, que você forneça um nome de usuário e senha:


	  <form method="post" action="process_login.php"> 
	  <input type="text" name="username"> 
	  <input type="password" name="password"> 
	  </ form> 

Dado este snippet do HTML, um pode deduzir que o mais fácil (e piores) caminho para o script "process_login.php" para trabalhar para ele seria para construir e executar uma consulta de dados que se parece com esta:

	  "SELECT id 
	  FROM logins 
	  ONDE username = '$ username' 
	  e senha = '$ senha' "; 

Nestas circunstâncias, se as variáveis "$ username" e "$ senha" são tomadas directamente a partir da entrada do usuário, o login script pode ser facilmente induzido a pensar que uma senha válida tenha sido fornecida por brincar com a sintaxe do SQL. Suponha a seguinte seqüência foram fornecidos como a senha:

	  'Ou''=' 

e demos "Bob", como nome do usuário. Uma vez que as variáveis são interpoladas, a consulta acima ficaria assim:

	  "SELECT id 
	  FROM logins 
	  ONDE username = 'bob' 
	  e senha =''ou''='' "; 

Esta consulta irá devolver uma linha, porque a cláusula final:

	  ...  =''ou'' 

será sempre avaliar a verdade (uma string vazia é sempre igual a uma string vazia).

Prevenir SQL Injection Attacks

Os métodos mais comuns para prevenir este tipo de injeção SQL vunerability são para verificar a entrada do usuário para a perigosa caracteres como um único aspas e usar declarações preparadas, o que dizer a base de dados exatamente o que esperar antes de qualquer utilizador, desde os dados são passados para ela.

SQL Server Security Dominar o SQL Server 2000 Security SQL Server Security destilada Oracle Security Handbook: Implementar um som no seu Plano de Segurança Oracle Ambiente
Compra estes excelentes livros sobre segurança no SQL Amazon.com


Top 5 Free Networking Ferramentas

Vulnerability Management for Dummies

Nossos amigos em Qualys estão oferecendo gratuitamente cópias da versão eletrônica da Vulnerabilidade de Gestão para a Dummies Tech-FAQ leitores.

Gestão de vulnerabilidade para Dummies:

  • Explica a necessidade de uma vulnerabilidade crítica de gestão
  • Detalhes dos passos essenciais de boas práticas de gestão de um bem sucedido programa vulnerabilidade
  • Outlines vulnerabilidade das diversas soluções de gestão - incluindo as vantagens e desvantagens de cada
  • Destaques da premiada solução de gestão de vulnerabilidade QualysGuard
  • Fornece uma lista de dez pontos eliminando vulnerabilidades de seus recursos-chave
Bookmark O que é um SQL Injection Attack / Vulnerabilidade?

Latest Blog Posts


Inglês Inglês Alemão Alemão Espanhol Espanhol Francês Francês Italiano Italiano Português Português Russo Russo Holandês Holandês
Grego Grego Hindi Hindi Japonês Japonês Coreano Coreano Chinês Chinês Chinês (simplificado) Chinês (simplificado) Árabe Árabe

Copyright 2009 Tech-FAQ. Todos os direitos reservados. Política de Privacidade.