Ver Mensaje Individual
  #9 (permalink)  
Antiguo 17/06/2005, 14:51
HerSAn
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años, 9 meses
Puntos: 2
Cita:
pero si en ves de usar GET usas POST para pasar los formularios, con la clave y el user y ademas las variables globales a OFF, esta forma de hackear seria inutil desde mi punto de vista... por que no podrian ingresarte variables mediante la url los juakers... como el ejemplo que explico dario dario.
El echo es que esto no te asegura en lo mas minimo que no te envien datos, ya que un persona maliciosa pude reproducir tu forma e instalarla en otro servidor e enviar los datos a tu script y realizar una consulta no autorizada.

Código PHP:
"SELECT * FROM TABLA WHERE CAMPO='".$_GET['valorGET']."';" 
Este ejemplo puede ser salteado agragando a la consulta mediante la variable valorGET lo siguiente
Código PHP:
valor' UNION SELECT * FROM TABLAPRIVADA WHERE CAMPO != ' 
Con lo que la consulta quedaria de la siguiente forma
Código PHP:
SELECT FROM TABLA WHERE CAMPO='valor' UNION SELECT FROM TABLAPRIVADA WHERE CAMPO != '' 
Obviamente este tipo de consulta realmente queda avolida mediante el escapado de las comillas con funciones como:
  • magic_quotes_gpc
  • addslashes()
  • mysql_real_escape_string
Por dar algunos ejemplos, habra que consultar las que proporocione cada api para acceso a base de datos.
En el ultimo ejemplo como bien se comento en los casos que se pasen variables que esperan valores numericos lo mejor es convertir los datos que llegan al script al tipo que se requiera.
Otra cosa mas la funcion mysql_query no puede procesar dos consultas en una misma sentencia, asi que en ultimo ejemplo no aplica que envie un delete, update o similares. Para la version de la api que trabaja con php 5 hay que tener cuidado ya que hay una funcion que es mysqli_multi_query la cual si no se hace una validacion de datos adecuda puede dejar pasar una consulta que no esperemos y causar un desastre. Para otra bases de datos creo que las funciones correspondeientes aceptan mas de uan consulta como es la de postgresql.
Ahora como resumen y como ya te lo comentaron siempre es una buena practica que tu escript valide los datos que llegan de tu forma, por el tipo y por el contenido para evitar sorpresas..

Saludos.