UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema: Mysql Injection



Documentos relacionados
Aplicaciones seguras con ClaseSeguridad

Su Seguridad es Nuestro Éxito

Programación páginas web. Servidor (PHP)

PHP Perfect SQL v1.0 (SQL perfectas en PHP)

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

RETO HACKER DE VERANO

PROGRAMACIÓN PÁGINAS WEB CON PHP

Base de datos en Excel

DOCS. Pautas básicas para el DESARROLLO DE PLUGINS

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Tecnología de la Información y la Comunicación. Base de datos. Consultas

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

SECURITY DAY PERU. Ataques a las Aplicaciones Web. Explotación de Aplicaciones Web. Technologies SOLUTIONS FOR KEEPING YOUR BUSINESS UP

Bases de datos relacionales y el modelo entidad-relación

VÍDEO intypedia007es LECCIÓN 7: SEGURIDAD EN APLICACIONES WEB. INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL. AUTOR: Chema Alonso

SQL INJECTION. Benitez, Marcelo Chinikailo, Cristian De la Cruz, Leonardo Klas, Julián Criptografía y Seguridad Informática.

&' ' ' !,- (& ', Este tutorial trabaja sobre NetBeans 6.1 y MySQL 5.0. Crear un nuevo proyecto usando la ventana que se indica a continuación: !!

Detectar y solucionar infecciones en un sitio web


vgestorweb vgestorweb 1/9

Introducción a ataques de tipo inyección: Inyección SQL

Ataques a Aplicaciones de Bases de Datos

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Hacking Ético Web. I Jornadas Tecnológicas CEEPS Carlos García García i52gagac@uco.es

MACROS Y FORMULARIOS

FACULTAD DE INFORMATICA MATERIA: GESTION DE CONTENIDO ELECTRONICO PROFESOR: JONATHAN VEGA ALUMNOS: LUISA ROSERO JAIME CAMACHO DATOS INFORMATIVOS:

Consultas con combinaciones

Optimizar base de datos WordPress

Creación de Servicios web y modificaciones al webhosting gratuito para consumir posteriormente desde el movil

Universidad Católica Boliviana San Pablo Centro de Sistemas de Información

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Deka Gb Ayuda - Sitio Elearning

Ethical Hacking and Countermeasures

Tener la WiFi abierta implica tener nuestra conexión a Internet compartida, además de otros riesgos:

SQL (Structured Query Language)

G Data Informe técnico. Behaviour Blocking. (Escudo de comportamiento) Go safe. Go safer. G Data. Marco Lauerwald Marketing

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS

Bases de Datos. Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN

CONSULTAS BASICAS EN SQL SERVER

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema:

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

PRÁCTICA 10. Configuración de Correo y Publicar en la Web

TALLER DE SQL INJECTION

Curso de Programación PHP

MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE

GUÍA RED SOCIAL LINKEDIN

A continuación se presenta la forma en que se puede conectar PHP con el gestor de bases de datos MySQL.

Curso de PHP con MySQL Gratis

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. Actividad Importación de Datos a MySQL Workbench

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

vmysql Requisitos Previos Conexión con el servidor vmysql 1/5

Programa Presupuestos de Sevillana de Informática.

C Fecha: 17/07/14 MANUAL DE USUARIO. 1 de 19. Página: MANUAL DE USUARIO

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Contenido Derechos Reservados DIAN - Proyecto MUISCA

Guía de instalación y manejo de la Ficha Docente CONEAU Incentivos


MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

Recuperador datos externos

GUÍA RED SOCIAL FACEBOOK

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Qué hacer si no aparece el menú programador?

Sesión 13. Seguridad en la web. Luisa Fernanda Rincón Pérez

Presentación. Porqué formarte con nosotros?

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Guía de instalación y manejo de la Ficha Docente CONEAU Incentivos

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

Estructuras de Datos y Algoritmos Tecnólogo en Informática

MANUAL DE USUARIO SISTEMA DE ADMINISTRACION ESCOLAR (SAE)

QUÉ ES HOMEBASE? Encontrar Libros

Introducción a Protégé

PROCEDIMIENTO PARA INGRESAR AL CORREO DE REDP POR MEDIO DEL OWA (OUTLOOK WEB ACCESS) El procedimiento ingresar al correo de RedP es el siguiente:

Universidad de Buenos Aires Facultad De Ingeniería. Operaciones Lógicas. [75.40] Algoritmos y Programación I. 2do Cuatrimestre 2010

Otros tipos de Consultas

Cómo instalar el software de CRM Personas en un alojamiento web remoto

Aplicateca. Manual de Usuario: Ilion Factura Electrónica. Espíritu de Servicio

1. DML. Las subconsultas

COMISIÓN NACIONAL PARA EL AHORRO DE ENERGÍA

SISTEMA DE REGISTRO DE TRANSACCIONES BURSATILES BAGSA MANUAL DE USUARIO

Universidad Técnica de Ambato

Que es Velneo vdataclient V7?

Instructivo para el ingreso de datos de la Encuesta Nacional de la Basura en Espacios Públicos.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Sistema Info-Académicos

Introducción a PostgreSQL con PHP

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Programación PHP de bases de datos mysql

COMISIÓN NACIONAL PARA EL USO EFICIENTE DE LA ENERGÍA

Recomendaciones de Seguridad Red Social Twitter

Manual de ACCESS Intermedio

CAPITULO 6 SISTEMA DE DETECCION DE INTRUSOS

DCISERVICIOS, SA DE CV

SEGURIDAD INFORMATICA. 1. Investiga el significado de los siguientes términos relacionados con la seguridad informática:

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Técnicas CA Plex Para Mejorar Rendimiento en MS SQL. 11E Eric Giron SODISA - Honduras

S E G U R I D A D E N A P L I C A C I O N E S W E B

Cómo trabaja el Atacante? El atacante trabaja en 5 pasos, los cuales son: Ethical-Hacker.net. Reconocimiento. Borrado de Huellas.

Introducción a PHP. * No es necesario declarar previamente las variables.

Tipos de Cookies utilizadas en este sitio web

Transcripción:

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas SEGURIDAD INFORMATICA Tema: Mysql Injection Autora: Doris María Mera Mero Curso: 7mo A Fecha: Martes 30 de Julio del 2012 Catedrático: Ing. Elvis Cárdenas

MYSQL INJECTION SQL Injection o Inyeccion SQL es una técnica mediante la cual un atacante intenta introducir fragmentos de código SQL con el fin de alterar las consultas de Bases de Datos. Ocurre sobre todo cuando el programador semi-valida las inserciones o consultas realizadas contra una base de datos. Generalmente dichas vulnerabilidades se dan del lado de lenguajes de programación o script. Tipos de Intrusión: Dependiendo de su naturaleza por lo general pueden ser: Malicioso.- Intentan modificar la información de una base de datos. Dañino.- El objetivo puede ser eliminar uno o más registros o de plano eliminar la tabla o tablas desde una consulta que es vulnerable a SQL Injection. Espía.- Se pretende obtener información valiosa mediante consultas alteradas. Si un programador no toma medidas de seguridad y realiza auditorías de seguridad básicas en su código, es muy probable que su sistema reciba un intento de Intrusión exitoso. Es muy importante conocer el comportamiento de los intrusos, como realizan las pruebas en un sitio web objetivo. Para hacer frente a un atacante debes pensar como él para cerrarle los caminos. Supongamos que el huesped (atacante) llega en busca de vulnerabilidades de un sistema para causar SQL Injection. Presta su atención a un formulario de acceso de tu sistema web. El intruso va a probar distintas cosas para ver si hace algunas travesuras: Obtención de acceso a un sistema protegido Supongamos que los datos leídos del formulario son leídos en este código PHP. $usuario = $_POST["usr_nombre"]; $clave = $_POST["usr_clave"]; $consql = "SELECT * FROM usuarios WHERE usrnombre= '$usuario' AND clave = '$usr_clave' "; Ahora imaginemos que el atacante prueba suerte e introduce: OR = en ambas cajas de texto, osea tanto en Login como en Clave. Al enviar a procesar el formulario la instrucción enviada la vería asi PHP: $consql = "SELECT * FROM usuarios WHERE usrnombre = '' OR '' ='' AND clave='' OR ''='' ";

Esta consulta resulta ser siempre VERDADERA. La consulta regresa un estatus de verdadero de tal suerte que indica al sistema que el atacante es un usuario legítimo y entra al sistema El atacante hace una consulta dañina Supongamos ahora que el atacante gusta de hacer daños importantes a los sitios donde descubre vulnerables. Llega al mismo formulario de acceso e intenta la siguiente instrucción en el campo de usuario: OR = y en el campo de clave: doris ; DELETE usuarios La consulta PHP para enviar a MySQL sería: $consql = "SELECT * FROM usuarios WHERE usrnombre='' OR ''='' AND clave='doris'; DELETE usuarios "; Se puede observar que se ejecuta primero la consulta de seleccionar que independientemente podría ser falsa o verdadera, e inmediatamente se ejecuta la siguiente instrucción que es borrar la tabla de usuario y todos sus datos. Cómo Evitar SQL Injection Para evitar este tipo de ataques y otras combinaciones debemos asegurarnos de poner atención a dos caracteres usados en las sentencias de SQL y que son: y ; es decir, la comilla simple y el punto y coma. El objetivo será neutralizar a dichos caracteres agregando a los parámetros una barra diagonal inversa (backslash). Estos se llaman caracteres con escape \. PHP cuenta con una función para este propósito: mysql_real_escape_string() y su uso se ve en la siguiente instrucción: $variable = mysql_real_escape_string($_post["usr_bombre"]); Es decir, por cada lectura de datos $_POST (o $_GET) limpiamos la entrada con la función mysql_real_escape_string() antes de asignar la información a las variables. Hagamos un prueba de su uso real. Volvamos al primer caso donde en ambas entradas del formulario se introduce: OR = La consulta SQL quedaría así: SELECT * FROM usuarios WHERE usrnombre= '\' OR \'\' = \'' AND clave = '\' OR \'\' = \'' Como puede observarse, la función ha filtrado ambas variables y agregó un escape \ a cada comilla simple indicándole al preprocesador de PHP que cada carácter con escape es parte del texto y no parte de la instrucción de la consulta manipulada.

Observaciones sobre mysql_real_escape_string: Si magic_quotes_gpc está habilitado, primero se debe aplicar stripslashes() a los datos. Si se usa esta función en datos que ya han sido escapados, se escaparán dos veces. hay que proceder con cuidado. Si esta función no se utiliza para escapar los datos, la consulta es vulnerable a SQL Injection, es decir es más completo que magic_quotes_gpc. Se requiere una conexión a MySQL para hacer uso de mysql_real_escape_string(), si no, se generará un error de nivel E_WARNING, y se devolverá FALSE. Si la consulta la va a procesar MySQL es obvio que tienes una conexión MySQL.

Bibliografía http://www.programaonline.com/como-evitar-ataques-sql-injection/