Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Seguridad en consulta select (Inyeccion SQL)

Estas en el tema de Seguridad en consulta select (Inyeccion SQL) en el foro de Bases de Datos General en Foros del Web. Buenas Tardes. Quisiera que discutamos un poco la seguridad de una consulta SQL que permite el login en un sitio Web o cualquie app. Se ...
  #1 (permalink)  
Antiguo 31/07/2009, 09:39
 
Fecha de Ingreso: noviembre-2008
Mensajes: 89
Antigüedad: 15 años, 5 meses
Puntos: 0
Seguridad en consulta select (Inyeccion SQL)

Buenas Tardes.

Quisiera que discutamos un poco la seguridad de una consulta SQL que permite el login en un sitio Web o cualquie app.

Se trata de opinar que vulnerabilidad tiene esta consulta o si no la tiene frente a las inyecciones SQL, para saber si se puede o no aplicar en nuestras aplicaciones.

SELECT * FROM USUARIOS WHERE UserID = ' $VARIABLE_USER ' AND Password = '$VARIABLE_PASS';

Que tal así?

Convertir dos comillas simples '' unidas por una sola ' , puede servir de algo ?

Tengo esa duda.
  #2 (permalink)  
Antiguo 31/07/2009, 10:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Seguridad en consulta select (Inyeccion SQL)

En realidad, el problema es mejor controlarlo dentro de la aplicación y no dejarle la tarea a MySQL.
En este sentido, si lo que usas es PHP existe una solución simple, que es utilizar la función mysql_real_escape_string() que te permite hacer que se suplantes notos los caracteres potencialmente peligrosos dentro de la sentencia a enviar.
El ejemplo de esto lo puedes encontrar en este link: http://www.tizag.com/mysqlTutorial/m...-injection.php
Como podrás ver allí, el problema es que si te ponen dentro del TextBox algo así como ' OR 1' , con eso te matan, porque el primer caracter cierra el primero de los tuyos, y el OR 1 deja que todo lo demás se ignore...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 31/07/2009 a las 10:18
  #3 (permalink)  
Antiguo 31/07/2009, 14:18
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Seguridad en consulta select (Inyeccion SQL)

La mejor manera de evitar estos ataques es que tu codigo sql este almacenado en la base de datos.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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 23:07.