La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Inyección de SQL.

Presentaciones similares


Presentación del tema: "Inyección de SQL."— Transcripción de la presentación:

1 Inyección de SQL

2 SQL Injection Inyección SQL: es una vulnerabilidad informática en el nivel de la validación de las entradas a la base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL.

3 SQL Injection La meta de una inyección de SQL es insertar datos, leer información, borrar información o incluso ejecutar comandos del sistema operativo donde esta la BD.

4 ¿Que es? UN ERROR de programación
¿Quien es el responsable? 90% el programador 10% el lenguaje backend Razones: Descuidos, displicencias, ignorancia

5 SQL Injection ¿Por qué se le llama inyección de SQL? Este tipo de ataque va dirigido a modificar una instrucción SQL valiéndose de los errores de programación de la aplicación.

6 SQL Injection SELECT * FROM usuarios where usuario = "alex“ Resultado:
PASSWORD NOMBRE CORREO TELEFONO sandra ñlkjh Sandra Gonzalez alex qwerty Alejandro Martinez diana asdfg Diana Morales moises zxcvb Moises Alvarez SELECT * FROM usuarios where usuario = "alex“ Resultado: 2, 'alex', 'qwerty', 'Alejandro Martinez', ' '

7 SQL Injection SELECT * FROM usuarios where usuario = "alex" or 1=1;
1, 'sandra', 'ñlkjh', 'Sandra Gonzalez', ' ' 2, 'alex', 'qwerty', 'Alejandro Martinez', ' ‘ 3, 'diana', 'asdfg', 'Diana Morales', ' ‘ 4, 'moises', 'zxcvb', 'Moises Alvarez', ' '

8 SQL Injection Tipos de ataque: Aplicaciones basadas en WEB
Validación de usuario/password Inyección de código por método GET Inyección de código por método POST

9 Ejemplos de ataques <?php $query  = "SELECT * FROM products                     WHERE id LIKE '%a%'                     exec master..xp_cmdshell 'net user  test testpass /ADD'--"; $result = mssql_query($query); ?> Agrega un usuario a un sistema XP / SQL Server

10 Debilidades Pobres mecanismos de validación de variables de entrada.
Usar el manejo de errores del sistema en contra del propio sistema. En PHP: mysql_error() Error_reporting Guardar las credenciales de acceso a la BD en texto plano en el mismo sitio web

11 Mecanismos de defensa PHP Magic quotes. PHP5 las trae activadas por defecto SGBDmysql_real_escape_string() Objetivo: Dar una secuencia de escape ‘ or 1=1  \’ or 1=1 MySQL, PostreSQL, SQLite, Sybase y MaxDB son los unicos en proveer mecanismos de escape

12 Mecanismos de defensa Herramientas de SANITIZACION de PHP5

13 SQL Injection Quien puede ser afectado
CUALQUIERA Casos famosos: Miss twitter (tabla datos) Facebook y los albums de fotos

14 SQL Injection ¿Cuál es el propósito de una inyección de sql? Generalmente, una inyección de sql es solo una de las partes de un ataque a un sitio web. Los objetivos pueden ir desde: obtener información, modificar información o peor aun, borrar todos los datos.

15 Ataque a un sitio web Como la inyección de SQL solo es una pequeña parte del plan

16 SQL Injection Reconocimiento Rastreo Acceso Mantener el acceso
Niveles de SO / App Redes Bases de Datos Mantener el acceso Borrado de huellas

17 Fase 1 - Reconocimiento Previo a cualquier ataque
Información sobre el objetivo Reconocimiento pasivo: Google hacking Ingenieria social Monitorizacion de redes (sniffing)

18 Fase 2 - Escaneo Escaneo es una fase de pre-ataque
Se escanea la red pero ya con información de la fase previa Detección de vulnerabilidades y puntos de entrada El escaneo puede incluir el uso de dialers, puertos scanners, network mapping, sweeping, vulnerability scanners, etc

19 Fase 3- Obtener acceso Obtención de acceso (se refiere al ataque)
Como..aprovechando una debilidad Buffer overflow, DoS (Denial of Service), robo de sesión, inyección de sql, etc El atacante puede obtener accesso: Permisos de superusuario/admin Shell (aplicación o web) Bases de datos red

20 Fase 4 – Mantener el accesso
Se trata de retener los privilegios obtenidos A veces un hacker blinda el sistema contra otros posibles hacker, protegiendo las vulnerabilidades encontradas, puertas traseras, etc

21 Fase 5 – Borrado de huellas
Se intenta no ser descubierto Dependiendo de la técnica utilizada, los mecanismos de defensa pueden darse cuenta o no de que estamos invadiendo.

22 ¿Y…como nos defendemos?
Necesitamos saber las respuestas a: ¿Qué puede saber un intruso de mi? (fase 1y 2) ¿Qué puede hacer un intruso con esa informacion? (fase 3 y 4) ¿Se podría detectar un intento de ataque? Fase 5

23 SQL Injection Un mundo global (video)

24 Sun Tzu, El Arte de la Guerra
“Si conoces al enemigo y te conoces a ti mismo, no necesitas temer al resultado de cientos de batallas” Sun Tzu, El Arte de la Guerra

25 Gracias a todos por su atención
ISC Manuel Alejandro Martínez Márquez Orgullosamente egresado del ITC Gracias a todos por su atención


Descargar ppt "Inyección de SQL."

Presentaciones similares


Anuncios Google