Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2009, 17:36
kabuki
 
Fecha de Ingreso: febrero-2007
Mensajes: 62
Antigüedad: 17 años, 2 meses
Puntos: 0
Problema con SQL inyeccion

Hola a todos:
Por favor agradezco la ayuda de toda la comunidad y todas las personas que sepan sobre el tema.
Tengo un problema con una de mis consultas MySQL en una pagina PHP, tenemos que cumplir con el estandar PCI. Y la entidad la cual hace el scan de la pagina nos dice que ahi riesgo de SQL inyeccion en dicha pagina.
he investigado acerca del tema y ya hise dos correcciones con el mysql_escape_string. Pero ninguna me ha funcionado y al hacer el scan de la pagina vuelve y sale la vulnerabilidad con esta pagina especificamente.
Les muestro el codigo:
<?php $_GET["IDvar"];
function cleanQuery($string)
{
if(get_magic_quotes_gpc()) // prevents duplicate backslashes
{
$string = stripslashes($string);
}
if (phpversion() >= '4.3.0')
{
$string = mysql_real_escape_string($string);
}
else
{
$string = mysql_escape_string($string);
}
return $string;
}

// if you are using form data, use the function like this:
if (isset($_GET["IDvar"])) $itemIDv = cleanQuery($_GET["IDvar"] && isset($_SESSION["IDSe"])) $itemSe = cleanQuery($_SESSION["IDSe"]);
// you can also filter the data as part of your query:
$DeleteV = mysql_query("DELETE FROM registros WHERE IDVAR = '". cleanQuery($itemIDv)."' AND sesionvar = '". cleanQuery($itemSe)."' "; ?>

Esta mañana fui a hacer una prueba en la pagina y me arrojo error, lo voy a examinar a ver que paso. Pero mi problema en si esta es por el SQL inyeccion y que me han rechazado ya 2 veces.
GRACIAS Y EXITOS