0% encontró este documento útil (0 votos)
98 vistas19 páginas

Laboratorio INYECION SQL

Este documento resume un laboratorio sobre inyección SQL ciega (SQL blind) y mediante GET. Explica cómo usar las herramientas Mutillidae y DVWA para practicar este tipo de inyecciones. Detalla cómo detectar el número de columnas de una base de datos, extraer información sensible como nombres de tablas y datos de usuarios, y sortear filtros de seguridad mediante técnicas como modificar mayúsculas/minúsculas, reemplazar caracteres especiales y romper espacios. Concluye que la inyección SQL requiere prueba y error
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
98 vistas19 páginas

Laboratorio INYECION SQL

Este documento resume un laboratorio sobre inyección SQL ciega (SQL blind) y mediante GET. Explica cómo usar las herramientas Mutillidae y DVWA para practicar este tipo de inyecciones. Detalla cómo detectar el número de columnas de una base de datos, extraer información sensible como nombres de tablas y datos de usuarios, y sortear filtros de seguridad mediante técnicas como modificar mayúsculas/minúsculas, reemplazar caracteres especiales y romper espacios. Concluye que la inyección SQL requiere prueba y error
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Universidad De Cundinamarca

Línea de Profundización III


Laboratorio 4

Samuel David Celis Jeremiche

Laboratorio
N° 4
SQLI EN GET
SQL BLIND

Resumen

Dentro de este laboratorio vamos a enseñar que es inyección en get y como realizar ataques a una base
de datos de OWASP dentro de una herramienta llamada Mutillidae.
Ademas vamos a utilizar la herramienta de DVWA para poder realizar inyección de código dentro de la
URL en SQL blind. En donde nos encontraremos mediante subamos la seguridad, una serie de
complicaciones a la hora de inyectar código, por esto aprenderemos a romper listas negras y a engañar a
la pagina web transformando el código de la inyección.

1 OBJETIVOS

 Usar la herramienta de Mutillidae en OWASP e Inyeccion.


 Inyectar código para detectar cuantas columnas posee la base de datos de la
pagina web
 Aprender que es una inyección en GET
 Encontrar información sensible gracias a la inyección en GET en la URL
 Uso de la herramienta de DVWA para poder inyectar código BLIND
 Aprender a romper la lista negra dentro de la URL
 Aprender a como rellenar los campos de ESPACIO por +
 Usar la herramienta de DECODER para pasar palabras a hexadecimal para engañar
a la pagina web

2 DESARROLLO DEL LABORATORIO

Página 1
Para iniciar en este laboratorio necesitamos abrir las maquinas virtuales de Kali Linux Y metaSploit.
Cuando tengamos KaliLinux abierto abrimos una pestaña en el navegador de mozilla
Para luego en la URL copiar el IP de Metasploit y le damos en la opción de Mutillidae

Y le damos en la opción de Mutillidae, como se puede apreciar esta resaltado en color purpura ya que, ya
lo hemos usado anteriormente.

En get le pedimos información a alguna pagina web.


En post el ejemplo era en el login.
El get el request le estamos diciendo a la pagina web nos deje ver la información

Ahora en mutillidae tenemos que tener nivel ed seguridad en 0.


En la parte izquiera encuentra owasp – inyección- extrac data, user info

Y nos arroja a otro login

Página 2
En donde tenemos ya creado nuestro usuario y contraseña en el laboratorio anterior.
Nos debemos loguear

Y efectivamente ya estamos logueados.


Como stamos haciendo una explotacion en get que es pedir a la pagina informacion, entocnes el
objetivo del get es en la URL.
Lo que debemos hacer es copiar el direccionamiento que aparecio cuando nos logueamos, y
copiarlo en un bloc de notas.

Debemos copiar la URL en un bloc de notas en kali Linux.

Página 3
Cuando se encuentre un = en las direcciones es posible hacer una inyección en GET.
Ahora vamos a inyectar código.
Vamos a modificar después del usuario con una comila sencilla y le damos un order by 1%23

No hace nada pero deja inyectar

Ahora vamos a cambiar el 1 por el 1000

Y luego de dar enter nos arroja un ERROR

Página 4
Esto quiere decir que no hay cantidad de columnas dentro de la base de datos de la pagina web.
Entonces nosotros como atacantes tenemos que saber cuantas columnas tiene, ahora tenemos que ver
cuantas hay.
Por ende vamos a cambiar 1000 por 10.

Tampoco hay esa cantidad de filas asi que vamos a reducir a 5


Y si nos deja
Donde podemos inducir que la bdd tiene 5 columnas.

Página 5
Ahora vamos a utilizar un UNION SELECT
Selecciónar esas 5 columnas

En esta inyección estamos seleccionando esas 5 columnas,.

Esto quiere decir que,


De las 5 columnas 2,3 y 4 tienen información.
Entonces podemos seleccionar esas columnas
Ahora vamos hacer lo mismo con el unión select entonces vamos a colcoar el database(),user(),versión()

Vamos a sacar que base de datos, quien la usa y en que versión.

Y nos arroja información sensible.


Es decir que la inyección en GET funcionò

%23 se convierte en numeral , elimina el código a la derecha.

Página 6
Ahora vamos a buscar tablas dentor de esa base de datos OWASP
Vamos a buscar las tablas de la siguiente manera

Information schema Es algo genérico que siempre viene. En SQL

Y nos sale todas las tablas

Después vamos a colocar un WHERE table_schema = ‘owasp’


WHERE nos saca los nombres de las tablas de la base de datos

Página 7
Del anterio código a este pasamos de 237 a 7 tablas.

Y claramente nos muestra información mas sensible


Como por ejemplo TARJETAS DE CREDITO

Hemos utilizado ORDER BY y UNION SELECT

Ahora vamos a sacar información de la base de datos


Entonces tenemos que leer esas columnas
Cambiamos tables por columns
Y en ves de la base de datos colocamos credit cards o accounts

En este caso utilizaremos ACCOUNTS

Página 8
En donde nos arroja 6 resultados.
Ahora vamos a sacar la información.

Y nos arroja todos los usuarios con su respectiva contraseña.

En este caso nos interesa la información que sea de administrador.


Ahora vamos a cerrar el navegador.

Página 9
Ccid
Ccnumber
Ccv

Ahora vamos a sacar la información de las tarjetas de crédito

Página 10
SQL BLIND
Dentro de este laboratorio vamos a usar la herramienta de DVWA
En el navegador colocamos ma ip de metaesploit y vamos a darle en DVWA

En la parte de abajo sale las credenciales para iniciar sesión

El DVWA tiene un rango de seguridad


En la parte izquierda encontramos el menú de DVWA
En la aprte de DVWA SECURITY vamos a colocarlo en LOW

La cambiamos a LOW y le damos SUBMIT

Vamos a realizar un SQL INYECTION BLIND

Página 11
Tenemos que ahcer la prueba y error, pero no siempre da resultados.
El nos pide un USER ID
Vamos a colocarle un 1

Y como vemos en la URL hay un =


Vamos a tratar de vulnerar

Vamos a inyectar código.


Y nos deja inyectar el código.

Aca realizamos una prueba , estamos pidiendo información ala pagina

Ahora vamos a probar:

Página 12
Y no nos arroja información
Y no pudimos inyectar código con el 1=2
Ahora vamos a intentar con el order by

Y efectivamente si se logro la inyección de código.


Ahora vamos a probar un order by 1000
Pero no deja, solamente con order by 2

Ahora vamos a cambiar la seguridad


La vamos a colocar en médium (le damos submit)
Y nos devolvemos a SQL INYECTION BLIND
Y colocamos una comilla sencila

Página 13
Pero no pasa nada
Entonces la prueba con comilla sencilla no funciona
Vamos a colcoar ahpra

Pero tampoco sale nada

Ahora en la URL le quitamos la comilla sencilla y agregamos un and 1=1

Y efectivamente si nos inyecta el código

Deducimos que el filtro se esta haciendo por la comilla sencilla en seguridad media
Ahora vamos a seguir probando pero con un UNION SELECT 1,2

Página 14
Y nos deja inyectar el código

Ahora vamos a revisar las tablas como vimos en GET


Con el table_name from information.

Y nos arroja todas las tablas existentes


Ahora vamos a leer la base de datos del DVWA
Ahora vamos a usar el where y llamando la base de datos de dvwa

Pero no nos arroja nada porque en seguridad media nos prohíbe la comilla sencilla

Página 15
Asi que vamos a encriptar el DVWA
Asi que vamos a utilizar el programa de BURPSUITE
Vamos a la opción de DECODER
Y escribimos dvwa
Y LO PASAMOS A HEXADECIMAL

COPIAMOS EL 64 76 77 61
Si solo copiamos los números después del igual no nos funciona
Nos toca colocar un 0X antes de los números para que reconozca que es hexadecimal

Y perfectamente nos inyecto el código

Ahora vamos a traspasar filtros en lista negra

Con las palabras se alteran entre mayúsculas y minúsculas


Dentro de SQL INYECTION BLIND en seguridad media.
Dentro de la URL vamos hacer lo siguiente

Página 16
Sin la comilla sencilla después del id= ya que en seguridad media lo filtra y lo reconoce como carácter
peligroso.

El %23 reemplaza el numeral y nos sale un OrdEr By 1numeral, lo toma y lo reemplaza

Ahora vamos a probar con un AnD en ves del order by

Y efectivamente nos deja inyectar.


Se traspasa los filtros de lista negra modificando entre minúsculas y mayúsculas

Ahora vamos a traspasar los espacios.


Es decir romper los espacios
Donde aveces se determina los espacios en las contraseñas por ejemplo
Y se pueden romper los espacios con:
+ ò un /**/

Página 17
Y efectivamente nos deja inyectar el código en esta seguridad media

Ahora vamos a probar con unión select.

Y efectivamente nos deja inyectar el código


Ahora para romper el comentario o el %23 se puede usar:
/*
--
;--
; /*
;//

Página 18
Ejemplo en POST: LOGIN
EJEMPLO DE GET: URL

3 CONCLUSIONES

Con este laboratorio terminamos la inyección SQL manual, en donde nos dimos cuenta que este tipo de
inyección es un ejercicio de prueba y error, en donde toca encontrar las vulnerabilidades según la pagina
web.

Página 19

También podría gustarte