Proteção Arquivo PHP - SQL Injection
Hoje estou com o seguinte problema, usei o programa NESSUS para análise de injection no meu site.
E retornou o possível invasão crítica no site, utilizando o Link abaixo, alguma ajuda, pois a tratativa já estou fazendo via AntiSQL Injection. Abaixo segue a situação real do sistema.
Link:
http://www.nomedosite.com.br/premios/150/?'+convert(int,convert(varchar,0x7b5d))+'=1
.htaccess
RewriteRule ^premios/([0-9-]+)/([1-3])?$ index.php?p=premios&id_premio=$1&colocacao=$2
Saída Executar = TENTATIVA DE INVASÃO VIA BROWSER:
Mensagem de Erro: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corres ponds to your MySQL server version for the right syntax to use near '' a t line 1
premios.php
<?php
$id_premio= antiSQL($_GET['id_premio']);
$colocacao = antiSQL($_GET['colocacao']);
$echo "Depois continua o código normal...";
?>
Função antiSQL:
<?php
if(!function_exists("antiSQL")) {
function antiSQL($campo, $adicionaBarras = false) {
// remove palavras que contenham sintaxe sql
$campo = preg_replace("/(from|alter table|select|insert|delete|update|were|drop table|show tables|#|\*|--|\\\\)/i","Anti Sql-Injection - bjus Mãe !",$campo);
$campo = trim($campo);//limpa espaços vazio
$campo = strip_tags($campo);//tira tags html e php
if($adicionaBarras || !get_magic_quotes_gpc())
$campo = addslashes($campo);
return $campo;
}
}
?>Discussão (10)
Carregando comentários...