Foros del Web » Programando para Internet » PHP »

Mysql injection en get como solucionar

Estas en el tema de Mysql injection en get como solucionar en el foro de PHP en Foros del Web. Estuve buscando por google algo de seguridad para Páginas Web y pues vi que si colocabas en un get por ejemplo una comilla ' y ...
  #1 (permalink)  
Antiguo 23/02/2016, 15:27
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 3 meses
Puntos: 3
Mysql injection en get como solucionar

Estuve buscando por google algo de seguridad para Páginas Web y pues vi que si colocabas en un get por ejemplo una comilla ' y te lanzaba error esto quería decir que tu página era vulnerable a una injection por mysql.
Pues si, probé en mi página y me lanza un error de mysql e intente hackearla y si pude, pero como puedo solucionar esto? Estuve leyendo y por escape string hay una solución pero intenté y no pude, el código que tengo en el get es el siguiente:
Código PHP:
$busca="";
$busca=isset($_GET['search']) ? $_GET['search'] : null 
con ese mismo código es que me lanza error, y no puedo colocar post porque se me complicaría mucho todo, hay alguna solución para esto?

PD: No se si esta sea la sección correcta para preguntar esto pero la verdad no vi ningún foro de seguridad en esta página..
  #2 (permalink)  
Antiguo 23/02/2016, 15:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mysql injection en get como solucionar

El problema se mitiga escapando apropiadamente los valores en tu consulta, un ejemplo sería mysql_real_escape_string(), dependiendo de la extensión de base de datos que uses puede variar esto.

Cita:
y no puedo colocar post porque se me complicaría mucho todo
Da igual, mientras no escapes tus datos no importa el método, siempre será posible romper tus consultas.

Busca en el manual por la función más adecuada a lo que uses.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/02/2016, 15:35
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: Mysql injection en get como solucionar

Cita:
Iniciado por pateketrueke Ver Mensaje
El problema se mitiga escapando apropiadamente los valores en tu consulta, un ejemplo sería mysql_real_escape_string(), dependiendo de la extensión de base de datos que uses puede variar esto.



Da igual, mientras no escapes tus datos no importa el método, siempre será posible romper tus consultas.

Busca en el manual por la función más adecuada a lo que uses.
Listo, gracias por responder.
No tendrías alguna guía o algo parecido para la seguridad de una página?
También estuve leyendo que al usar más html, por ejemplo en una página que no tenga nada de php y mysql es menos probable que te la hackeen, pero bueno, quisiera aprender un poco mas de este tema.

Saludos
  #4 (permalink)  
Antiguo 23/02/2016, 16:16
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: Mysql injection en get como solucionar

Si usas la extension mysql podras leer algo en:
manual de mysql-real-escape-string

Con todo recuerda que esta extensión fue declarada obsoleta en PHP 5.5.0 por lo cual deberás cambiar a la extensión mysqli
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #5 (permalink)  
Antiguo 23/02/2016, 16:56
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: Mysql injection en get como solucionar

Cita:
Iniciado por juancaalbarracin Ver Mensaje
Si usas la extension mysql podras leer algo en:
manual de mysql-real-escape-string

Con todo recuerda que esta extensión fue declarada obsoleta en PHP 5.5.0 por lo cual deberás cambiar a la extensión mysqli
Al colocar esa extensión me sale:
Código PHP:
mysqli_real_escape_string() expects exactly 2 parameters
Cual es el problema con que use mysql?
  #6 (permalink)  
Antiguo 23/02/2016, 19:10
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Mysql injection en get como solucionar

Cita:
Iniciado por byrong Ver Mensaje
Al colocar esa extensión me sale:
Código PHP:
mysqli_real_escape_string() expects exactly 2 parameters
Cual es el problema con que use mysql?
MySQLi necesita que añadas primero la conexión al comienzo del uso de la función.

Código PHP:
Ver original
  1. $foo = mysqli_real_escape_string($conexion, $foo);
__________________
¿Te sirvió la respuesta? Deja un +1
  #7 (permalink)  
Antiguo 24/02/2016, 15:12
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: Mysql injection en get como solucionar

Cita:
Iniciado por byrong Ver Mensaje
Cual es el problema con que use mysql?
Al momento quiza no tengas problema si utilizas mysql pero recuerda que es una extension obsoleta lo que significa que cuando se actualice php en tu webserver dejara de funcionarte toda tu interaccion con la base de datos.

Puedes usar mysql (por el momento) pero es siempre recomendable que se migre ya a una nueva extensión sea este mysqli o PDO, si estas ambientado a trabajar con mysql siempre sera mas facil pasarse a mysqli
__________________
___________________________
Si te ayudo mi respuesta dale al +1

Etiquetas: injection, mysql, solucionar
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:17.