Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2012, 20:18
diego007
 
Fecha de Ingreso: enero-2012
Ubicación: en la casa
Mensajes: 34
Antigüedad: 12 años, 2 meses
Puntos: 0
Impedir la inyección código en mi pagina

Hola amigos, descargue el web securify scaner, y el sistema me muestra algunos errores, pero entre los mas importantes al momento es la inyeccion de codigo Sql que se puede hacer en estas direcciones
Código PHP:
lc.php?articulo=1&pagina=1&ordenar=%22'%3CXPLZ6%3E HTTP/1.1
lc.php?articulo=1&ordenar=%20fecha%20DESC%20&pagina=%22'
%3CXPLZ6%3E HTTP/1.1 
mi código es el siguiente:
Código PHP:
$registros 30;
$pagina stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['pagina'])));
$id stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['articulo'])));
$estado stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['estado'])));
$ordenar stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['ordenar'])));
$sentencia "";
$titulo "Esta buscando ";

if(
$ordenar == ""){
    
$ordenar " fecha DESC ";
}else{
    if(
$ordenar == "desendente"){
        
$ordenar " precio DESC ";
    }else{
        if(
$ordenar == "ascendente"){
            
$ordenar " precio ASC ";
        }else{
            if(
$ordenar == "nuevo"){
                
$ordenar " fecha DESC ";
            }else{
                if(
$ordenar == "antiguo"){
                    
$ordenar " fecha ASC ";
                }
            }
        }
    }
}

if(
$estado != ""){
    
$estado mysql_real_escape_string($estado);
    
$sentencia $sentencia." condicion ='$estado' AND ";
    
$titulo $titulo." en condicion \"".$estado."\"";
}


$pagina stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET["pagina"])));
if (@!
$pagina

    
$inicio 0
    
$pagina 1
} else { 
    
$inicio = ($pagina 1) * $registros
}

    
// ------------------- Filtros -------------------------------

echo "<div id=\"filtros\">";
echo 
"<table align=\"center\" style=\"width: 1000px; height:20px;\" ><tr>";

echo 
"<td><a href=\"lc.php?";
    if (@
$id != ""){ echo "articulo=".$id."&";}
    if (@
$estado != ""){ echo "estado=".$estado."&";}
    if (@
$ordenar != ""){ echo "ordenar=".$ordenar."&";}
    if (@
$pagina != "") { echo "pagina=".$pagina."&";} 
echo 
" \">Listado</a> | <a href=\"lc_1.php?";
    if (@
$id != ""){ echo "articulo=".$id."&";}
    if (@
$estado != ""){ echo "estado=".$estado."&";}
    if (@
$ordenar != ""){ echo "ordenar=".$ordenar."&";}
    if (@
$pagina != "") { echo "pagina=".$pagina."&";} 
echo 
" \">Galería </a></td>";

echo 
"<form name=\"filtros\" id=\"filtros\">";
if(@
$_GET["estado"] == ""){
    echo 
"<td>Condiciòn: </td><td>";
    echo 
"<select name=\"estado\" id=\"estado\" onChange=\"url2(document.getElementById('estado').value)\">";
    echo 
"<option value=\"\"></option>";
    echo 
"<option value=\"Nuevo\" >Nuevo</option>";
    echo 
"<option value=\"Usado\" >Usado</option>";
    echo 
"</select></td>";
}else{
echo 
"<td><a href=\"lc.php?";
    if (@
$id != ""){ echo "articulo=".$id."&";}
    if (@
$ordenar != ""){ echo "ordenar=".$ordenar."&";}
    if (@
$pagina != "") { echo "pagina=".$pagina."&";} 
    echo 
"\">Estado [".ucfirst($_GET['estado'])."]<strong>X</strong></a></td>";
}
echo 
"</form>";

echo 
"<td><a href=\"lc.php?";
    if (@
$id != ""){ echo "articulo=".$id."&";}
    if (@
$estado != ""){ echo "estado=".$estado."&";}
    if (@
$pagina != "") { echo "pagina=".$pagina."&";} 
echo 
"ordenar=desendente\" >[Mayor precio]</a></td>";

echo 
"<td><a href=\"lc.php?";
    if (@
$id != ""){ echo "articulo=".$id."&";}
    if (@
$estado != ""){ echo "estado=".$estado."&";}
    if (@
$pagina != "") { echo "pagina=".$pagina."&";} 
echo 
"ordenar=ascendente\" >[Menor precio]</a></td>";

echo 
"<td><a href=\"lc.php?";
    if (@
$id != ""){ echo "articulo=".$id."&";}
    if (@
$estado != ""){ echo "estado=".$estado."&";}
    if (@
$pagina != "") { echo "pagina=".$pagina."&";} 
echo 
"ordenar=nuevo\" >[Más nuevo]</a></td>";

echo 
"<td><a href=\"lc.php?";
    if (@
$id != ""){ echo "articulo=".$id."&";}
    if (@
$estado != ""){ echo "estado=".$estado."&";}
    if (@
$pagina != "") { echo "pagina=".$pagina."&";} 
echo 
"ordenar=antiguo\" >[Más antiguo]</a></td>";

echo 
"</tr>";
echo 
"<tr><td COLSPAN=9><br><HR width=100% align=\"center\" style=\"border: 1px solid #DAE4EF;\"><br></td></tr>";
echo 
"</table>";
echo 
"</div>";



$query sprintf("SELECT * FROM articulo WHERE id= '%s' AND vendido='0' AND suspender='0' AND valorar='0' ORDER BY fecha DESC LIMIT 0 , 1"mysql_real_escape_string($id));
$result mysql_query($query$con); 
Que me recomiendan para hacerlo mas seguro al sitio, please