Inyección de SQL.

Slides:



Advertisements
Presentaciones similares
Presentación – Web Attack
Advertisements

CONSULTAS SOBRE UNA TABLA
1 | Web Attacks Documentación – Web Attack. 2 | Web Attacks Seguridad en Aplicaciones Web Protocolo HTTP Vulnerabilidad XSS Vulnerabilidad CSRF Path Traversal.
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
SQL Sigla del nombre “Structured Query Language”.
Base de Datos Orientada a Objetos (OODBMS)
ADMINISTRACION DE REDES SECUENCIA DE COMANDOS EN SITIOS CRUZADOS(XSS)
Errores comunes al desarrollar websites
Acceso a bases de datos MySQL en PHP
ACCESO A BASES DE DATOS ORACLE CON PHP
Ing. Lorena Ruhl - Marco Rapallini - Javier FabiánMódulo 4: Seguridad y Aplicaciones Web Ing. A. Lorena Ruhl Universidad Tecnológica.
Unidad 3 Tema “Transformacion Equivalentes”
BUFFER OVERFLOW Y EXPLOITS
Desarrollo de sitios web con PHP y MySQL Tema 7: Seguridad José Mariano González Romano
TECNOLOGÍA IDC Internet Database Connector Trinitario Gómez López.
Taller 5: Trabajo con Plantillas y uso de tecnología Ajax.
ADMINISTRACION DE REDES SECUNECIA DE COMANDOS EN SITIOS CRUZADOS(XSS) DIEGO ALEXANDER MADRID DUQUE GABRIEL ANDRES AGUIRRE JARAMILLO INSTITUTO TECNOLOGICO.
SQL Structured Query Language
Los Diez Riesgos Más Importantes en Aplicaciones WEB Top A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela.
WEB VULNERABLE DVWA Universidad de Almería
The OWASP Foundation OWASP AppSec Aguascalientes 2010 Guía de Desarrollo Seguro Francisco Aldrete Miembro de OWASP capítulo Aguascalientes.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Lenguaje Estructurado de Consultas
OWASP - A6 Open Web Application Security Project Riesgo por: Configuración Defectuosa de Seguridad Guillermo David Vélez Álvarez C.C. 71' 763,346.
EXPLOITEXPLOIT Equipo 3Equipo 3. Exploit: Es un programa o código que "explota" una vulnerabilidad del sistema o de parte de él para aprovechar esta deficiencia.
INFOPATH Mylénne Arellano N.. Microsoft InfoPath es una aplicación usada para desarrollar formularios de entrada de datos basados en XML.
CONCEPTOS BASICOS SQL SERVER SEBASTIAN MARTINEZ GARCIA.
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
© 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.
ATAQUES POR INYECCION DE CODIGO SQL
UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001: Lucía Castro- Víctor Cabezas- Diana Checa UNIVERSIDAD ECOTEC Ataques Aplicaciones WEB Lucía Castro Víctor.
UD 1: “Adopción de pautas de seguridad informática” Análisis de las principales vulnerabilidades de un sistema informático. Luis Alfonso Sánchez Brazales.
REFERENCIA DIRECTA INSEGURA A OBJETOS
XSS CROSS SITE SCRIPTING Es un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera parte.
Introducción a ataques de tipo inyección: Inyección SQL
LENGUAJE SQL.
Servidor web Alumna: María Verónica Mancheno Materia: Gestión de Información Web Profesor: José Medina Moreira.
Lenguaje Estructurado de Consulta
SQL Sigla del nombre “Structured Query Language”.
S EGURIDAD Y A LTA D ISPONIBILIDAD Nombre: Adrián de la Torre López 24/09/ Adrián de la Torre López.
PUNTO 3.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
INSTRUCCIONES Elaboración de la Presentación:
1 -Instrucciones del Lenguaje de definición de datos (DDL) se utilizan para crear objetos en la base de datos. -Instrucciones del Lenguaje de control de.
MySQL LENGUAJE SQL.
Se producen cuando una aplicación recibe datos no confiables y estos no han sido validados adecuadamente antes de procesarlos, lo cual puede llevar a que.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Diseña y administra base de datos avanzadas
Análisis de las principales vulnerabilidades de un sistema informático. Gabriel Montañés León.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
Presentado por Equipo 1 Diana Lorena Sánchez Garcés Karen Ximena Carvajal Pinzón Carol Yinary Rivera Tovar Neila Patricia Clavijo Barrero Cristhian Camilo.
Búsquedas Filtradas Consiste en buscar en una tabla de la base de datos, según un criterio. Para esto se pueden utilizar muchos tipos de sentencias en.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Hackear un Sitio Web. Claudio
Algoritmos en Pseudocódigo
(Lenguaje de consulta estructurado)
A NÁLISIS DE LAS PRINCIPALES VULNERABILIDADES DE UN SISTEMA INFORMÁTICO Luis Villalta Márquez.
COMPUTER DATA SYSTEMS malwares.
Alberto Rivera Tavera Microsoft Student Partner
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
Análisis de las principales vulnerabilidades de un sistema informático. Javier Rodríguez Granados.
Stored Procedures vs. Programación Tradicional
ORACLE SQL - DCL.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
Consultas a mysql desde PHP índice 1. Introducción 5. Ejemplo 4. Tratamiento de datos 2. Instrucción SQL 3. Pasos C o n s u l t a s a m y s q l d e s d.
Php y mysql índice 1. Conexión 6. Ejercicio 5. Insertar un registro 2. Operaciones básicas 3. Seleccionar BD 4. Crear una BD P h p y m y s q l Índice 1.
Transcripción de la presentación:

Inyección de SQL

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.

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.

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

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.

SQL Injection SELECT * FROM usuarios where usuario = "alex“ Resultado: PASSWORD NOMBRE CORREO TELEFONO sandra ñlkjh Sandra Gonzalez sandra@sitec.com 555-112233 alex qwerty Alejandro Martinez alex@sitec.com 555-243546 diana asdfg Diana Morales diana@sitec 555-125689 moises zxcvb Moises Alvarez moises@sitec.com 555-102938 SELECT * FROM usuarios where usuario = "alex“ Resultado: 2, 'alex', 'qwerty', 'Alejandro Martinez', 'alex@sitec.com', '555-243546'

SQL Injection SELECT * FROM usuarios where usuario = "alex" or 1=1; 1, 'sandra', 'ñlkjh', 'Sandra Gonzalez', 'sandra@sitec.com', '555-112233' 2, 'alex', 'qwerty', 'Alejandro Martinez', 'alex@sitec.com', '555-243546‘ 3, 'diana', 'asdfg', 'Diana Morales', 'diana@sitec.com', '555-125689‘ 4, 'moises', 'zxcvb', 'Moises Alvarez', 'moises@sitec.com', '555-102938'

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

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

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

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

Mecanismos de defensa Herramientas de SANITIZACION de PHP5 http://us.php.net/manual/en/intro.filter.php

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

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.

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

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

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

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

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

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

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.

¿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

SQL Injection Un mundo global (video)

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

Gracias a todos por su atención ISC Manuel Alejandro Martínez Márquez Orgullosamente egresado del ITC Twitter: @alxhack alxhack.01@gmail.com Gracias a todos por su atención