jueves, 28 de febrero de 2008

SQL Injection: Atacar bases de datos con este método

SQL Injection

Aquí voy a daros a conocer lo que es el SQL Injection, creo que es algo bastante interesante y que llama la atención, así que a pesar de que puede que le tengas tirria a las bases de datos no pasa nada si te culturizas un poco y tal vez hasta te parezca interesante :P


¿Qué es el SQL Injection?

SQL Injection es una conocida técnica (que tiene unos años) para atacar bases de datos, se basa en inyectar código SQL no deseado dentro de otro código SQL para causar un comportamiento no esperado en la base de datos, normalmente, destruirla o bien lograr un acceso en modo privilegiado a la base de datos mediante alguna aplicación que gestione la base de datos.


¿Cómo se logra esto?

Hay muchas formas de inyectar código intruso, la primera y más conocida es el simple

' or '1'='1

Y funciona de la siguiente forma, imaginemos el típico formulario web para entrar como administrador/usuario a una determinada página, algo de este estilo:



A nivel de aplicación ejecuta un código SQL parecido a este:

SELECT * FROM miembros WHERE username ='user' AND password ='password';

Si el sistema no está protegido contra SQL injection nos podríamos loguear como administradores simplemente poniendo de usuario administrador y de password la cadena mágica de antes (' or '1'='1), quedando así:

SELECT * FROM miembros WHERE username ='admin' AND password ='' or '1'='1';

Cómo veis, el funcionamiento es sencillo: Se basa en cerrar la comilla del campo password y añadir una condición OR que siempre se cumplirá: '1' = '1', de modo que aunque falle la comprobación de la contraseña, el '1' = '1' si que devolverá true, con lo que podremos entrar al sistema como administradores sin saber la contraseña.

Otro ejemplo:

También se puede acceder a un sitio vulnerable aprovechando el comentario en SQL (recordad que en SQL todo lo que hay a continuación de dos barras (--) es un comentario), este exploit es con el username (el otro era con el password) y se realiza de la siguiente forma:

Select * from usuarios where username ='user' and password ='password';

Volvamos a nuestro select, y esta vez en el campo usuario vamos a poner admin'-- con lo que la sentencia inyectada queda de la siguiente forma

SELECT * FROM miembros WHERE username = 'admin'--' AND password = 'password';

Tal y cómo se aprecia la sentencia que ejecuta es:

SELECT * FROM miembros WHERE username = 'admin'

Con lo que te logueará como administrador porque lo demás es un comentario y es ignorado.


¿Quién tiene la culpa?

Es tarea del programador de la aplicación evitar este tipo de riesgos, actualmente las aplicaciones están protegidas contra ataques de SQL injection y la solución es bastante asequible, sólo hace falta comprobar que los datos que se introduzcan sean números y letras, para así evitar que se añadan las dichosas comillas, etc...

Y por último el detalle friki solo para fanáticos:

Sin comentarios.


Espero que os haya gustado la clase de bases de datos gratuita :P Y si te ha parecido interesante comenta ;)

Saludos!

jueves, 14 de febrero de 2008

QOTSA y Soilwork confirmados para el Getafe Electric Festival!


Dos nuevas bandas confirmadas para el Getafe Electric Festival:

* Queens of the Stone Age (me encanta este grupo).
* Soilwork (parecidos a in flames).


Por lo que el cartel queda así:

Viernes 30 de mayo:

* Rage Against the Machine.
* Serj Tankian.
* Queens of the Stone Age.
* Cavalera Conspiracy.
* Iggy & The Stooges.
* Nothink.

Sabado 31 de mayo:

* Metallica.
* Machine Head.
* Soilwork.
* Within Temptation.
* Queensrÿche.

Por cierto, ya tengo mi entrada:


lunes, 11 de febrero de 2008

Lo que NO es un ingeniero informático

Dos vídeos que dejan bastante claro lo que NO es y que NO hace un ingeniero informático:





¡Verdades como puños!

domingo, 10 de febrero de 2008

Todos los seres humanos nacen libres e iguales en dignidad y derechos

Normalmente no escribo sobre política, pero a veces se ven cosas que no dejan indiferente, os recomiendo que veáis este vídeo de Amnistia Internacional que lleva ocho meses censurado:



Al margen de que considero que es uno de los mejores vídeos de defensa de los derechos humanos que he visto, lo que me llama la atención es que el medio de comunicación que emita esta propaganda de Amnistía Internacional podría ser multado. ¿Cómo es esto posible? ¿Porqué? ¿Manipular prensa y televisión no es suficiente? Todo está bien orquestado. El Ministerio de Industria, Turismo y Comercio obstaculiza su emisión denegando la exención de cómputo publicitario. No sólo niega el carácter de servicio público del anuncio, con lo que se impide su emisión gratuita, sino que además lo califica como publicidad política. Dicha calificación supone considerar ilegal la emisión por parte de cualquier canal de televisión (artículo 9. 1c ley 25/1994) y sancionable como infracción grave (artículo 20.2 de la misma ley).

Más información en la página de el poder de tu voz.
Declaración universal de los derechos humanos.

Y sí, este es un post pseudo-político de los que tanto le gustan a Víctor :P

jueves, 7 de febrero de 2008

¿Qué le dice un GIF a un JPG?

"Pero anímate hombre!!!!!!"

Se admiten palizas.

martes, 5 de febrero de 2008

Serj Tankian irá al Getafe Electric Festival de Madrid


La organización del Getafe Electric Festival (también conocido como Electric Weekend) acaba de dar a conocer por mail otro grueso de los grupos que actuarán en este festival los días 30 y 31 de mayo. en Madrid Y son los siguientes grupos:

* Serj Tankian (el cantante de System of a Down).
* Machine Head.
* Cavalera Conspiracy (grupo de los hermanos Cavalera, antes en Soulfly).
* Within Temptation.
* Iggy & The Stooges (pero aún están vivos?).
* Queensrÿche.
* Nothink.


Los cuales se añaden a los ya confirmados Metallica y Rage Against The Machine. Por cierto aún estoy esperando que confirmen a In Flames!

Más información como siempre en wikipedia.