| Mobile| RSS

SQL injection”

sábado, 29 de septiembre de 2007 | Tags: | 0 Comentarios

Supongo que la mayoría de vosotros conocereis lo que un “SQL injection attack” es. Para los que no, “SQL injection” consiste en la inserción código SQL en las variables del programa que estés ejecutando. Si tienes suerte, el programa insertara dichas variables dentro de la “query” y podremos realizar el ataque.

Por ejemplo, imaginémonos el tipo formulario de acceso a un sistema. Este tiene dos campos, cuyas variables son “$nombreUsuario” y “$password”.

Una forma de comprobar si dicho usuario existe seria con la siguiente “query”

SELECT *
FROM tablaUsuarios
WHERE (userId = ‘$nombreUsuario’) AND (pass = ‘$password’);

Donde:

  • tablaUsuarios -> tabla que contiene los usuarios
  • userId -> campo de la tabla que contiene los nombre de usario
  • pass -> campo de la tabla que contiene las passwords.

Si la query devuelve algún resultado entonces le damos acceso al usuario.
Bien, imaginémonos que como nombre de usuario introdujésemos lo siguiente;

  • $nombreUsuario = pepito’ OR ‘x’=’x
  • $password = nose’ OR ‘y’=’y

La query resultante seria la siguiente:

SELECT *
FROM tablaUsuarios
WHERE (userId = ‘pepito’ OR ‘x’=’x’) AND (pass = ‘nose’ OR ‘y’=’y’);

Como veis, la cláusula WHERE será siempre cierta y por tanto es muy probable que consigamos acceso al sistema (seguramente con el primer miembro de la lista).

La verdad es que es una pena que rara vez se hable del tema en entornos educativos, ya que existen formas de evitar dichas vulnerabilidades, y un correcto acceso a la información es básico. Muchas son las empresas que han sufrido de dichos ataques, y aun así, poco lo que se esta haciendo para advertir a las futuras generaciones de ingenieros y programadores.

No voy a entrar en mayor detalle en este tema ya que esta extensamente documentado en la red y con google podréis encontrar cientos de ejemplos, así como de soluciones o guías de prevención para evitar posibles ataques.

Sin embargo un video que si que os recomiendo ver es este.

0 Respondiendo

Publicar un comentario

Ciber Protesta

Blog Archive

Labels

Blogumulus by Roy Tanck and Amanda Fazani

Twitter