Diapositivas de Universidad la Salle México sobre seguridad en infraestructura y plataformas de Tecnologías de la Información. El Pdf, de Informática y nivel universitario, aborda la arquitectura cliente-servidor, servidores web, bases de datos, virtualización y correo electrónico, incluyendo ejemplos de inyección SQL.
Ver más34 páginas


Visualiza gratis el PDF completo
Regístrate para acceder al documento completo y transformarlo con la IA.
FEBRERO 2025
Especialidad/Maestría en CiberseguridadUniversidad La Salle® México
Una base de datos es un conjunto de datos estructurados usualmente bajo un mismo contexto y almacenados para su posterior uso Comúnmente las BD residen en equipos de cómputo dedicados y usan sistemas de almacenamiento dedicados como:
DAS NAS SAN Aplicaciones RED RED Sistema Operativo RED FC/GbE/SAS Discos o Arreglos Fuente: cystecnologia.com
APACHE hadoop ORACLE® IBM SQLite DB2 db)isam SYBASE® TURBODB Embedded Microsoft® SQL Server TERADATA. Microsoft* SQL Azure® MySQL. Elevatedb
Un administrador de BD (DBA) dirige o ejecuta todas las actividades relacionadas con el mantenimiento de las BDs
PostgreSQL NSQL
Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD (del inglés database management system o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Ejemplos: MySQL, Microsoft Access, Microsoft SQL Server, Oracle Database
El modelo de BD define las relaciones entre diferentes elementos de datos; dicta cómo se puede acceder a los datos; y define las operaciones aceptables, y cómo se organizan los datos
Los elementos de una BD relacional se organizan como un conjunto de tablas con columnas y filas
Es un tipo de BD que almacena la información en una estructura de árbol. La implementación más utilizada del modelo jerárquico se encuentra en el Protocolo ligero de acceso a directorios (LDAP), en la estructura del Registro de Windows y en diferentes sistemas de archivos
Una BD orientada o objetos (documentos) maneja grandes volúmenes de datos estructurados y no estructurados
Flat File Model Hierarchical Model Route No. Miles Activity Pavement Improvement Record 1 1-95 12 Record 2 1-495 05 Relational Model Reconstruction Maintenance Rehabilitation Record 3 SR-301 33 Activity Code Activity Namo A Corrective Preventive 23 Patching 24 Overlay 25 Crack Sealing Key = 24 Activity Code Route No. 24 01/12/01 1-95 Object-Oriented Model 24 02/08/01 1-66 Object 1: Maintenance Report Object 1 Instance oute No. Date 01-12-01 95 Activity Code 24 Route No. 1-95 495 Daily Production 25 66 Equipment Hours 6.0 Labor Hours 6.0 Object 2: Maintenance Activity Rigid Pavement Flexible Pavement Activity Code Activity Name Production Unit Spall Repair Joint Seal Crack Seal Patching Average Daily Production Rate Root Werld Registry Editor Registry Edit View Favorites Help BP My Computer HKEY_CLASSES_ROOT Subtrees HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HARDWARE SAM Keys SECURITY Unit R&D Sales R&D Sales SOFTWARE SYSTEM Subkeys CurrentControlSet Active subkey Control mit Arbiters BackupResto Subkeys Biosinfo BootVerificat Class Fuente: Wikimedia Jack Ben Oin Sophia ] ControlSet001 ControlSet002 Individual Laura Amy Enzo Country USA Mały Organization Macromedia Ferrari Network Model Preventive Maintenance Date Routine
Las BDs contienen información muy valiosa como: propiedad intelectual, patentes o información privada de clientes Los usuarios generalmente acceden a las BDs indirectamente a través de una interfaz de cliente, y sus acciones están restringidas para garantizar la confidencialidad, integridad y disponibilidad de los datos almacenados en la BD
El Riesgo incrementa al exponer las BDs en Internet, al permitir accesos remotos, lo cual puede permitir el acceso directo a las bases de datos
Las BDs deben de estar detrás un firewall especializado, además del FW perimetral Fuente: Flaticon
Turncloaks Pawns Fuente: whitehallmedia
El lenguaje de consulta estructurado (SQL) es un lenguaje de programación estándar que se utiliza para interactuar con BDs relacionales Permite realizar operaciones como crear, insertar, actualizar, buscar y confirmar datos Las consultas o queries SQL son las operaciones más comunes de SQL. Con ellas se puede buscar en la BD para obtener la información necesaria. Las consultas SQL se ejecutan con el comando "SELECT". Una consulta SQL puede ser más específica, con la ayuda de diversas cláusulas
MySQL es un sistema de gestión de BDs relacionales de código abierto basado en SQL. Fue diseñado y optimizado para aplicaciones web y puede ejecutarse en cualquier plataforma
SELECT * FROM Clientes WHERE Ciudad = ' Barcelona ' AND País = ' España ' ORDER BY NombreCliente;
ClienteID NombreCliente Ciudad Pais Telefono 1 Pedro Pérez Madrid España 456667778 María Carrasco Barcelona España 477322899> 3 Louis Bárcenas Madrid España 444123843 4 Sonia López Oporto Portugal 455533777
MySQL es la opción más popular para las empresas de comercio electrónico
Es un ciberataque contra un sitio web en el que se añade código de SQL a un campo de entrada de un formulario web con el objetivo de acceder a una cuenta o modificar los datos
Una consulta SQL es una petición de algún tipo de acción sobre una BD. La más habitual es la petición de un nombre de usuario y una contraseña en una página web
Un threat actor puede utilizar los campos de entrada de datos para enviar sus propias peticiones, es decir, inyectar SQL en la BD. De forma que, se pueden crear, leer, modificar o eliminar los datos guardados en la BDs
SQL Injection SQL Injection Attack (SQLi) 1. Hacker identifies vulnerable, SQL- driven website & injects malicious SQL query via input data. Username Password 2. Malicious SQL query is validated & command is executed by database. 2 1 WEBSITE INPUT FIELDS 3. Hacker is granted access to view and alter records or potentially act as database administrator. O 3 HACKER DATABASE Fuente: estradawebgroup
Las inyecciones de SQL tienen éxito cuando no se validan o filtran los datos correctamente
Username Username Password Password
Username = request. POST['username'] Password = request.POST[‘password'] SELECT userid FROM users WHERE username= 'pedro' AND password= '12345678'
Así se autenticaría un usuario con un username y un password en una tabla llamada users
userid username nombre contraseña 0001 pedro Pedro Pérez 12345678 0002 aldo Aldo Cruz qwerty
SELECT userid FROM users WHERE username= "AND password= La lógica del operador "OR" (T)rue OR (F)alse = (T)rue, F OR T=T, T OR T=T 1=1 siempre será True Cualquier expresión OR 1=1 siempre será True admin' OR '1'='1 SELECT * FROM users WHERE username= ' ' OR '1'='1' AND password= = ' ' OR '1'='1' (evalúa como True cada registro en la tabla) SELECT * FROM users WHERE username = 'admin' -- ' AND password = 'password'
La idea detrás de una inyección SQL basada en errores es obtener más información sobre la estructura de la BD y los nombres de las tablas que sigue la aplicación web
Permite combinar los resultados de dos o más consultas en una única tabla de resultados totales
Se hacen preguntas a la BD con respuestas del tipo falso o verdadero, como resultado, después de n preguntas se puede determinar una respuesta más específica
Quick Item Search Home What's New Welcome Test User - Cart contains 0 items at $0.00 No items matched your search criteria: SELECT itemnum, sdesc, ldesc, price FROM itemdb WHERE "" IN (itemnum,sdesc,ldesc) SELECT itemnum, sdesc, ldesc, price FROM itemdb WHERE "" IN (itemnum,sdesc,Idesc) Software error: DBD: : mysql: : db prepare failed: The used SELECT statements have a different number of columns at /usr/local/apache/. For help, please send mail to the webmaster (root@badstore.net), giving this error message and the time and date of the error. 'or 1=0 UNION SELECT passwd, 1, 1, 1 from userdb # The following items matched your search criteria: ItemNum Item Description Price Image Add to Cart 098F6BCD4621D373CADE4E832627B4F6 1 1 $1.00 SEBE2294ECD0E0F08EAB7690D2A6EE69 1 1 $1.00 101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 5000);
Un servidor de correo es una aplicación que permite gestionar el correo electrónico (email). Entre sus funciones se incluyen el procesamiento de los mensajes, filtrado, almacenamiento, envío, recepción y reenvío de correos
El emisor del email utiliza un programa de correo electrónico (MUA), contacta con el servidor (MTA). Consulta con el servidor DNS para conocer el nombre de dominio (@ del receptor). Luego el MTA contactará al servidor del receptor (MTA), que utilizará los protocolos POP o IMAP para entregar el correo y, finalmente, el receptor utiliza también un MUA para acceder al email
A: bea@b.com De: ana@a.org Querida Bea, A: bea@b.com De: ana@a.org Querida Bea. ... 1 5 Programa de Ana Programa de Bea POP3 4 SMTP A:bea@b.com De: ana@a.org Querida Bea, ... pop3.b.com mx.b.com 3 DNS Es: mx.b.com 2 DNS ¿Cuál es el registro MX de b.com? ns.b.com Fuente: Wikimedia
Diariamente se envían y reciben más de 300 mil millones de emails
MTAS Fuente: www.radicati.com Acrónimos SMTP smtp.a.org Internet