Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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 © Universidad Internacional de La Rioja, S. A.
(UNIR)
Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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 © Universidad Internacional de La Rioja, S. A.
(UNIR)
Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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 © Universidad Internacional de La Rioja, S. A.
(UNIR)
Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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 © Universidad Internacional de La Rioja, S. A.
(UNIR)
Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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 © Universidad Internacional de La Rioja, S. A.
(UNIR)
Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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 © Universidad Internacional de La Rioja, S. A.
(UNIR)
Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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 © Universidad Internacional de La Rioja, S. A.
(UNIR)
Asignatura Datos del alumno Fecha
Apellidos: Sandoval Coello
Análisis de
08/02/2020
Vulnerabilidades
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
[Link]
TEMA 3 – Actividades © Universidad Internacional de La Rioja, S. A.
(UNIR)