Sql injection

454 palavras 2 páginas
SQL INJECTION é uma técnica utilizada pra explorar aplicações web a partir da inserção de consultas SQL como parâmetros de execução destas aplicações. Apesar de ser notavelmente simples se implementar uma proteção contra este tipo de ataque, há um elevado número de sistemas conectados a Internet que ainda são totalmente vulneráveis (JOELSCAMBRAY 2003).

A Injeção ocorre quando ao ser encontrado um sistema com código inseguro, o atacante insere uma série de instruções SQL dentro de uma consulta (query), por meio da manipulação das entradas de dados de um sistema conectado a internet, conseguindo acesso não autorizado ao ambiente e suas informações, fazendo assim varias alterações na estrutura, como exclusão de colunas, mudança de senhas, alteração de notícias e até mesmo tirar o site de ar.

Exemplos de Ataque em PHP

A melhor função para proteger seus sistemas em PHP e MySQL contra SQL Injection é a mysql_real_escape_string(), ela escapa os caracteres especiais como aspas simples e duplas antes de enviar para o banco de dados. Porém esta função não funciona em todas as versões do PHP, então na função que iremos criar temos quer verificar se ela existe, e caso não exista vamos utilizar a função mysql_escape_string().

Também devemos ter em mente que se a diretiva get_magic_quotes_gpc() estiver ON ele irá acrescentar barras invertidas automaticamente antes de aspas simples e duplas, o problema é que ele irá enviar para o banco de dados com as barras invertidas, estragando o texto. Para contornar isso basta usar a função stripslashes() para remover essas barras invertidas.

Então vamos montar a nossa função com o nome de anti_sql_injection():

function anti_sql_injection($str) {

if (!is_numeric($str)) {

$str = get_magic_quotes_gpc() ? stripslashes($str) : $str;

$str = function_exists('mysql_real_escape_string') ? mysql_real_escape_string($str) : mysql_escape_string($str);

}

return $str;

}

Note que em nossa

Relacionados

  • Sql injection
    1421 palavras | 6 páginas
  • SQL Injection
    881 palavras | 4 páginas
  • SQL INJECTION
    1913 palavras | 8 páginas
  • Sql injection
    4447 palavras | 18 páginas
  • SQL INJECTION
    604 palavras | 3 páginas
  • Sql injection
    708 palavras | 3 páginas
  • Sql injection
    696 palavras | 3 páginas
  • SQL Injection
    1152 palavras | 5 páginas
  • SQL Injection
    1138 palavras | 5 páginas
  • SQL INJECTION
    3557 palavras | 15 páginas