Está en la página 1de 16

Liceo Politcnico Andes

Fundacin DuocUC

Seguridad Informtica:
Inyeccin SQL

Profesor
Juan Ponce Contreras

Seguridad Informtica

Definicin:
- Vulnerabilidad en sistemas (gralmente web)
- Validacin (entrada de datos = formularios)
- Funcionamiento incorrecto o errtico.

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Consiste en insertar
cdigo SQL invasor
invasor
dentro de otro cdigo.

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Consecuencia de...
Hacer un programa:
- Descuidadamente
- Negligentemente
- Ignorancia del problema.

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Puede ocurrir cuando...


- Se completa un SQL.
- Se usan datos maliciosos.
- Ejecutar la SQL.

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Ejemplo:
1) Considere la siguiente BD:

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

2) Considere la siguiente interfaz web

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Con el siguiente cdigo HTML

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

3) Considere el cdigo PHP

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Si en el formulario se ingresa un nmero, se


borrar slo 1 registro.
Ejemplo: Si se ingresa el 3 la consulta
queda...
Delete from usuario where run = 3

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Se puede inyectar cdigo


malicioso con ingresar lo
siguiente:
3 or run > 0

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

La consulta queda:
Delete from usuario
where run = 3 or run > 0
Se borrar toda la tabla
Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Para evitar el error considere el


siguiente cdigo PHP:

Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

Si el usuario ingresa:
3' or run > '0
La consulta queda:
Delete from usuario
where run = '3' or run > '0'
Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

La funcin addslashes escapa


los caracteres conflictivos (con un
\ previo).
As evita la inyeccin: hace que lo
ingresado se considere como
texto normal.
Seguridad Informtica
Profesor: Juan Ponce Contreras

Seguridad Informtica

La consulta anterior quedara:


Delete from usuario
where run = '3\' or run > \'0'

Seguridad Informtica
Profesor: Juan Ponce Contreras

También podría gustarte