1 sq linjection

15
Inyección SQL Análisis de Seguridad en TI Integrantes: Víctor Hugo González Sergio Cerón Juan Carlos Carrillo

Transcript of 1 sq linjection

Inyección SQL

Análisis de Seguridad en TI

Integrantes:

• Víctor Hugo González

• Sergio Cerón

• Juan Carlos Carrillo

Objetivo

Identificar por medio de inyección SQL vulnerabilidades en una página web yposteriormente acceder a la base de datos de dicha página.

Inyección SQL

¿Qué son?¿Cómo funcionan?¿Como se evitan?

Definición - SQL Injection

• Son técnicas o métodos de infiltración de código malicioso que sebasa de una vulnerabilidad informática que se encuentra presente enuna aplicación para realizar consultas de datos a una base de datos.

• Es la técnica utilizada por personas maliciosas con el fin de alterar oatacar una aplicación a través de comandos SQL.

• Se puede atacar cualquier tipo de aplicación que use una base datos, ouna aplicación web, es decir puede estar en todo tipo de lenguajes deprogramación como por ejemplo PHP, JAVA, PERL, C#, ASP, etc.

Blind SQL injection

El BLIND SQL Injection se

considera un ataque a

ciegas, es decir, sin

conocer nada sobre el

server (Versión de SQL,

nombre de las tablas,

numero de tablas, etc, que

deberemos saber para

concluir el ataque y para

saber defendernos.)

¿Cómo funciona?

• Se inserta lenguaje para alterar el contenido y su funcionamiento normal para ejecutarlo en la base de datos.

• El lenguaje que se incerta son sentencias de base de datos, de manera que nos muestre información que nos ayude a obtener lo que buscamos.

Ocurren errores en SQL por la ignorancia del lenguaje, pero este

código puede ser

reparado por programadores o

administradores de BD.

En este primer ejercicio se utilizará inyección SQL a las siguientes páginas

Web : http://www.biomedicos.com.mx y http://www.casaveerkamp.com

CASAVEERKAMP

Ejemplos

BIOMEDICOS

1. Por medio del programa WEBCRUISER se escanearon ydetectaron las vulnerabilidades de las 2 páginas web, presentandolos siguientes resultados:

Procedimiento

Biomedicos.com.mx

Casaveerkamp.com

2. Después de identificar la vulnerabilidad se deberá de seleccionar y copiar a la

herramienta HAVIJ. Esta herramienta nos permite identificar y vulnerar la base de datos,dando como resultado la obtención del nombre de la base de datos “biomedicos” así como

sus respectivas tablas, campos y registros.

Procedimiento

Procedimiento

3. Ahora que ya tenemos identificado el nombre de la base de datos, se

pueden ya identificar las tablas, campos y registros. En el ejemplo

presentado con la página de biomedicos, se identificaron tablas donde

podremos obtener datos personales de pacientes, listas de precios de servicios yclaves de accesos de usuarios.

Datos Personales de pacientes

Listas de Precios Servicios

Claves de acceso

Procedimiento

4. A través de la herramienta HAVIJ se encontró la página principal de

administración del portal, por lo que se podrá tener acceso al portal de administración teniendo los permisos correctos (obtenidos anteriormente).

Reporte de inyección o vunerabilidad

Se encontró en la página de biomedicos, un error de programación

en el archivo sucursales.php

Recomendaciones

¿Cómo evitar una vulnerabilidad?

Para prevenir inyecciones de vulnerabilidad se debe de reforzar las

mejores prácticas de codificación e implementación de

procedimientos en las bases de datos, se recomienda seguir las

mejores practicas por ejemplo:

Deshabilitar mensajes de error que den información al atacante

Proteger la contraseña del administrador de la base de datos (sa)

Asegurarse que el código fuente sea auditable

Restringir longitud en las claves

Evitar contraseñas sencillas

Más información en Internet

http://www.owasp.org

¡Gracias!