Foros del Web » Programando para Internet » PHP »

superglobales y las inyecciones sql remotas

Estas en el tema de superglobales y las inyecciones sql remotas en el foro de PHP en Foros del Web. Hola gente el motivo de este mensaje es para consultar lo siguiente, tal como dice el titulo del post es ke si el uso de ...
  #1 (permalink)  
Antiguo 14/03/2006, 18:41
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
superglobales y las inyecciones sql remotas

Hola gente el motivo de este mensaje es para consultar lo siguiente, tal como dice el titulo del post es ke si el uso de matrices superglobales evitan en cierta manera el uso de inyecciones de sql remotas, ya ke desde ayer estoy teniendo problemas en mi web, pareciera ke hay algun tipejo ke anda keriendo hackear mi web y ha ido modificando algunos perfiles y borrando algunos comentarios, yo de momento revisando mis scripts pues me doy cuenta ke no uso mucho las superglobales y empece a corregirlos y haciendo sentencias (if) para "evitar" e cierta manera esta situacion, ojala alguien me pueda echar una mano con ello

saludos
  #2 (permalink)  
Antiguo 15/03/2006, 10:24
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 5 meses
Puntos: 2
Si estas sufriendo algún tipo de ataque yo te recomendaría que te fijes bien bajo que sircunstancias logra su cometido y tratar de hacerlo tu también de esta forma sabrás bien por donde vienen los ataques. De todas formas es medio difícil conseguir eso pero para ir poniendo manos a la obra te diría que cambies todas las variables globales y que uses las matrices superglobales ($_GET[]), y otra cosa "importante" (ya que a veces vienen por ese lado los ataques) es que inicialices toda las variables con algún valor, puede ser cero o nulo. Después también examina con mucho cuidado y paciencia las consultas a la DB y las variables que vienen de afuera como las inserta dentro. Si usas cookies para recordar a los usuarios también deberías revisarlo ya que hay muchos programas que modifican las cookies a tu antojo y si guardas alguna info en las cookies te recomendaría que lo encriptes con MD5 y le agregues un "saborizante", por ejemplo tu guardas la id del usuario en la cookie la encriptas con MD5 y nada mas, esto sigue siendo débil ya que el atacante puede poner cualquier numero encriptado en la cookie y probar si entra con algún usuario, para evitar esto debes ponerle al id del usuario una cadena que solo vos conozcas y recién lo encriptas y lo guardas ya que el atacante es imposible que acierte la cadena que vos le agregaste.

Hay algunos puntos más pero en estos momentos no se me ocurre ninguno.

Saludos y suerte.
  #3 (permalink)  
Antiguo 15/03/2006, 12:16
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
hola dariodario gracias por la respuesta y los consejos ke en gran parte los referias al uso de cookies, pues veras mi sistema de usuarios trabaja con sesiones y no con cookies ahora bien, y tb desde ayer estuve corrigiendo algunos scripts usando matrices superglobales, y por ahora el unico problema ke tengo(o el unico ke ahora esta usando el atacante) es cambiarse el nick de usuario a uno ke ya existe en la BD cuando en mi sistema no esta habilitada esa opcion mira este ess el codigo ke uso para actualizar los datos en la BD

Código PHP:
<?
    
// el nick y la id llegan a este archivo desde elementos hidden
    
session_start();
    if(!empty(
$_SESSION['usuario'])) {
        include(
'config.php');
        
$fnac $_POST['anio'] . "-" $_POST['mes'] . "-" $_POST['dia'];
        
$afic nl2br($_POST['afic']);
        
$sql "UPDATE users SET email='".$_POST['t4']."', nomape='".$_POST['t5']."', sexo='".$_POST['sex']."', pais='".$_POST['country']."', fechanac='$fnac', ocupa='".$_POST['ocup']."', aficiones='$afic' WHERE id='".$_SESSION[idusuario]."';";
        
$resultado mysql_query("$sql");
        if (
$resultado) {
            echo 
"<br><center><div class='aviso'><b>Datos actualizados correctamente<br>Clic <a class='link5' href='main.php'>AQUI</a> para volver al inicio</a></b></div></center>";
        }
        else {
            echo 
"Error de Registro";
        }
    }else {
        echo 
"<strong>No tienes nivel suficiente para realizar esta operacion.</strong>";
    }
?>
cual es la falla ?, espero ke me puedan ayudar, gracias de antemano

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:44.