Ataques SQL Injection

Asignatura Análisis de Vulnerabilidades Datos del alumno Fecha Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner N

Views 376 Downloads 3 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

Actividades Ataques SQL Injection Contenido Introducción......................................................................................................................1 Desarrollo: Injection Flaws...............................................................................................2 Command Injection.......................................................................................................2 String SQL Injection......................................................................................................4 Blind String SQL Injection............................................................................................6 Conclusiones.....................................................................................................................8 Bibliografía........................................................................................................................8

Introducción

Esta actividad consistió en utilizar la plataforma WebGoat y los ejercicios que fueron desarrollados, tomando como premisas las lecciones de dicha plataforma son las siguientes: Dentro de Injection Flaws:   

Command Injection String SQL Injection Blind String SWL Injection

Se utilizó la herramienta Webscarab como medio para interceptar los request de las peticiones.

Desarrollo: Injection Flaws

TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

Command Injection En esta primera lección se hizo el ataque de inyectar comandos, que ejecuta el Sistema Operativo, a través de la herramienta WebScarab capturamos el request al hacer clic en “View” como lo observamos en la figura 1.

Figura 1. Leccion Command Injection En la figura 2 observamos la inyección del comando “& netstat –ant & ifconfig” mediante la herramienta Webscarab

Figura 2. Command Injection

TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

En las figuras 3 y 4 es donde podemos observar el resultado exitoso del ataque mediante la inyeccion del comando nestat e ifconfig

Figura 3. Resultado de la inyeccion del nestat

Figura 4. Resutado de la inyeccion del ifconfig String SQL Injection En esta lección se realizó el ataque de inyección SQL en un input vulnerable de igual manera capturamos el request al hacer clic en el botón de login. TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

Figura 5. String SQL Injection En la figura 6 observamos la inyeccion de la cadena x’ or ‘1’ = ‘1 en el input de password a través de la herramienta Webscarab.

Figura 6. Inyección en Webscarab

En la figura 7 es donde visualizamos el resultado del ataque exitoso al tener acceso a los usuarios y sus perfiles

TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

Figura 7. Resultado de la Inyección

En la figura 8 encontramos otra manera de realizar el ataque sin necesidad de la herramienta Webscarab, solamente tenemos que inyectar la cadena SQL, directamente en el input, previamente realizando la inspeccion de los elementos y eliminamos el maxlent del input y ejecutamos el login logrando tener acceso al perfil.

Figura 8. Inyección en directa en el input

En la figura 9 obtenemos todos los datos de la tabla user_data, mediante una inyeccion directa en el input de la cadena ‘ or ‘1’ = ‘1

TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

Figura 9. Inyección directa en el input 2 Blind String SQL Injection En esta lección realizaremos el ataque mediante el comando substring de sql para lograr obtener el nombre de la cuenta 101, el cual se logrará realizando prueba y error inyectando en el input la cadena: 101 and (substring((select name from pins where cc_number='4321432143214321'), 1, 1) < 'h' );

Figura 10. Lección Blind String SQL Injection

En la figura 11 es donde logramos obtener el valor deseado con la cadena: 101 and (substring((select name from pins where cc_number='4321432143214321'), 1, 1) = 'J' );

TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

o sea que la primera letra del nombre es J, para lo cual se repiten las pruebas para encontrar las demás letras cambiando la posición de las mismas .

Figura 11. Inyectando código SQL (valor encontrado para primera posición)

En la figura 12 obtenemos el valor para la segunda letra del nombre la cual es la letra i

Figura 12. Inyectando código SQL (valor encontrado para segunda posición)

Luego de haber realizado dichas pruebas, encotramos que el nombre es Jill, como lo observamos en la figura 13 y asi realizamos con éxito dicho ataque. TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.

Asignatura Análisis de Vulnerabilidades

Datos del alumno

Fecha

Apellidos: Sandoval Coello 08/02/2020 Nombre: Jenner Noé

Figura 13. Inyectando código SQL (valor encontrado para segunda posición) Conclusiones Con esta actividad nos dimos cuenta, lo importante que es tener en cuenta, la seguridad a la hora de programar, algo tan sencillo como los input, nos podrían poner en una situación de vulnerabilidad si no se tomaron las medidas de seguridad adecuada como por ejemplo el sanitizar los input para que escapen a los caracteres especiales como las comillas simples, los programadores deben conocer de este tipo de ataque, ya que no se requiere conocimientos tan avanzados para realizar este tipo de ataques, como son los de SQL Injection. Bibliografía OWASP Web Security Testing Guide https://github.com/OWASP/wstg/tree/master/document

TEMA 3 – Actividades (UNIR)

© Universidad Internacional de La Rioja, S. A.