2
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA DE SISTEMAS INGENIERÍA EN SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN PERÍODO ACADÉMICO: 2014-B ASIGNATURA: SIC814 – Gestión de Seguridad Informática PROFESOR: Jenny Torres TIPO DE INSTRUMENTO: Actividad de Aprendizaje 1 FECHA DE APLICACIÓN: 02/07/2015 NOMBRE: Jonathan Fernando Imbaquingo Castillo Tema: SQL Injection Objetivo: Caracterizar un ataque de esta lista, buscar un ejemplo y la técnica para solucionar. Características: SQL Injection es uno de los muchos mecanismos de ataque web utilizados por los hackers para robar datos de las organizaciones. Es quizás una de las técnicas más comunes de ataques de capa de aplicación utilizados en la actualidad. Es el tipo de ataque que se aprovecha de la codificación incorrecta de sus aplicaciones web que permite a los hackers para inyectar comandos SQL en digamos un formulario de acceso para que puedan tener acceso a los datos contenidos en la base de datos. En esencia, se plantea la inyección de SQL porque los campos disponibles para la entrada del usuario permiten que las sentencias SQL para pasar a través y consultar la base de datos directamente [1]. Debido a la falta de validación en la entrada de datos y a la conexión a la base de datos con privilegios de super-usuario o de alguien con privilegios para crear usuarios, el atacante podría crear un super-usuario en la base de datos [2]. Ejemplo [3]:

Actividad de Aprendizaje 1 Ataques a Las Aplicaciones Web

Embed Size (px)

Citation preview

  • ESCUELA POLITCNICA NACIONAL

    FACULTAD DE INGENIERA DE SISTEMAS

    INGENIERA EN SISTEMAS INFORMTICOS Y DE COMPUTACIN

    PERODO ACADMICO: 2014-B

    ASIGNATURA: SIC814 Gestin de Seguridad Informtica

    PROFESOR: Jenny Torres

    TIPO DE INSTRUMENTO: Actividad de Aprendizaje 1

    FECHA DE APLICACIN: 02/07/2015

    NOMBRE: Jonathan Fernando Imbaquingo Castillo

    Tema: SQL Injection Objetivo: Caracterizar un ataque de esta lista, buscar un ejemplo y la tcnica para solucionar.

    Caractersticas: SQL Injection es uno de los muchos mecanismos de ataque web utilizados por los hackers para robar datos de las organizaciones. Es quizs una de las tcnicas ms comunes de ataques de capa de aplicacin utilizados en la actualidad. Es el tipo de ataque que se aprovecha de la codificacin incorrecta de sus aplicaciones web que permite a los hackers para inyectar comandos SQL en digamos un formulario de acceso para que puedan tener acceso a los datos contenidos en la base de datos. En esencia, se plantea la inyeccin de SQL porque los campos disponibles para la entrada del usuario permiten que las sentencias SQL para pasar a travs y consultar la base de datos directamente [1]. Debido a la falta de validacin en la entrada de datos y a la conexin a la base de datos con privilegios de super-usuario o de alguien con privilegios para crear usuarios, el atacante podra crear un super-usuario en la base de datos [2]. Ejemplo [3]:

  • Formulario:

    Query: SELECT id FROM logins WHERE username = '$username' AND password = '$password

    Ataque: SELECT id FROM logins WHERE username = 'Joe' AND password = 'anything' OR 'x'='x' Tcnica para solucionar [2]:

    Nunca se conecte como superusuario o como propietario de la base de datos. Siempre utilice usuarios personalizados con privilegios muy limitados

    Emplee sentencias preparadas con variables vinculadas. Son proporcionadas por PDO, MySQLi y otras bibliotecas

    Compruebe si la entrada proporcionada tiene el tipo de datos previsto. PHP tiene un amplio rango de funciones para validar la entrada de datos, desde las ms simples, encontradas en Funciones de variables y en Funciones del tipo carcter (p.ej., is_numeric(), ctype_digit() respectivamente), hasta el soporte para Expresiones regulares compatibles con Perl

    Si la expresin espera una entrada numrica, considere verificar los datos con la funcin ctype_digit(), o silenciosamente cambie su tipo utilizando settype(), o emplee su representacin numrica por medio de sprintf().

    Bibliografa:

    [1] Acunetix, [En lnea]. Available: https://www.acunetix.com/websitesecurity/sql-

    injection/. [ltimo acceso: 02 07 2015].

    [2] Inyeccin de SQL, [En lnea]. Available: http://php.net/manual/es/security.database.sql-

    injection.php. [ltimo acceso: 02 07 2015].

    [3] w3school.com, [En lnea]. Available: http://www.w3schools.com/sql/sql_injection.asp.

    [ltimo acceso: 02 07 2015].