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
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.