SQL Injection g1
SQL Injection g1
Grupo 1:
-
Blas Pagola
Cruz Ventura
Esteves Rosales
Quiroz ato
Rojas Barraza
Villavicencio Antnez
Qu es SQL INJECTION?
Es un tipo de ataque que se aprovecha de una vulnerabilidad para cambiar el
efecto pretendido de una consulta SQL mediante la inyeccin o insercin de
palabras clave de SQL u operadores en la consulta.
Antecedentes
IBM en los 70
ANSI en los 80
ISO (86,89,92)
SQL(SEQUEL)
Jeff Forristral
Antecedentes
Porqu atacar?
Marco Terico
Seguridad de la Informacin
Ataque Informtico
SQL Injection
Tipos de SQL Injection
CADENAS MAL FILTRADAS
INCORRECTA VERIFICACIN DE TIPO
EVASIN DE FIRMA
BLIND SQL EJECTION
Marco Terico
Mecanismos de Inyeccin
Inyeccin a travs de entras de usuario:
En este caso, los atacantes inyectan comandos SQL a travs de entradas de
usuario.
Mecanismos de Inyeccin
Inyeccin a travs de cookies:
Si una aplicacin Web utiliza contenidos de la cookie para construir consultas
SQL, un atacante podra enviar fcilmente un ataque.
Mecanismos de Inyeccin
Inyeccin a travs de variables de servidor:
Si estas variables se registran en una base de datos sin un control adecuado,
esto podra crear una vulnerabilidad de inyeccin SQL. Cuando la consulta
para registrar la variable de servidor se emite a la base de datos, entonces se
desencadena el ataque.
Mecanismos de Inyeccin
Inyeccin de segundo orden:
Los atacantes implantan entradas maliciosas en un sistema o base de datos
para activar indirectamente un ataque por inyeccin SQL cuando esa entrada
se utiliza en un momento posterior.
Intencin de ataque
La identificacin de parmetros inyectables
Realizacin de la base de datos de huellas digitales
Anulacin de autenticacin
; SHUTDOWN; --
Ataque de Temporizacin:
legalUser and ASCII(SUBSTRING((select top 1
name from sysobjects),1,1)) > X WAITFOR 5 -SELECT accounts FROM users WHERE login=legalUser and
ASCII(SUBSTRING((select top 1 name from sysobjects),1,1)) >
X WAITFOR 5 -- AND pass= AND pin=0
Mtodos de Automatizacin
Absinthe:
Es una herramienta
basada en interfaz grfica que
automatiza el proceso de descargar el
esquema y los contenidos de una base
de datos que es vulnerable a Blind SQL
Injection.
Caractersticas:
- Totalmente automtico
- Inyecta MSsql, Postgres Sql y Oracle.
- Puedes editar el query.
- Soporta proxy.
- Interfaz GUI
Donde:
t: Es el servidor
p: Es el puerto
f: La aplicacin vulnerable y el parmetro. En un fichero de texto.
a: La accin a realizar
o: Fichero de salida
qf: La consulta a ejecutar a ciegas. En un fichero de texto.
gc: Cdigo devuelto por el servidor cuando es un valor correcto
Dnde:
host: es la URL con el servidor, el programa y el parmetro vulnerable. Comando
es un comando a ejecutar de MySQL.
palabraclave: es el valor que solo se encuentra en la pgina de resultado positivo.
mysqlst
Esta herramienta se utiliza para volcar los datos de una tabla.
Primero se consulta el diccionario de datos para extraer el
nmero de campos, los nombres, los tipos de datos de cada
campo y por ltimo, el volcado de las filas.
3. Patrones de validacin positiva: Los desarrolladores deberan ser capaces de especificar todas las
formas de entrada legal positiva, la validacin positiva es la forma ms segura para comprobar entradas.
FROM
SELECT
OMar
Detiene
completamente
ataques de este tipo
Caso prctico
Conclusiones y recomendaciones
SQL INJECTION
Mecanismos de ataque y defensa
Grupo 1:
-
Blas Pagola
Cruz Ventura
Esteves Rosales
Quiroz ato
Rojas Barraza
Villavicencio Antnez