SlideShare una empresa de Scribd logo
1 de 81
Descargar para leer sin conexión
Seguridad en el desarrollo de
aplicaciones web




                  Juan Eladio Sánchez Rosas
                                Mozilla Perú
¿Seguridad en el desarrollo de
aplicaciones web?
Tres principios, tres


  1    Defensa en profundidad


  2    Menos privilegios


  3    Lo menos complicado
Dos prácticas generales



                 Filtrar entradas
   Asegurarse que los datos de entrada son válidos



                 Escapar salidas
 Asegurar que los datos salientes no se malinterpreten
¿Por dónde empezar?




         https://secure.flickr.com/photos/cdharrison/359763327/
OWASP

●   Proyecto Abierto de Seguridad en
    Aplicaciones Web
●   Comunidad abierta dedicada a habilitar a
    las organizaciones para desarrollar,
    comprar y mantener aplicaciones
    confiables.
OWASP Top 10 2010

●   Diez Riesgos Más Críticos sobre
    Seguridad en Aplicaciones
Inyección




            1
1
Inyección - Ejemplo

●   Efectuar una consulta a partir de un dato
    enviado como parámetro
    ●   http://caralibro.com/usuario.php?id=8262
    ●   $sql = 'SELECT * FROM USERS where id = '.
        $_GET['id'];
●   ¿Qué pasa si ingreso sentencias SQL?
1
Inyección - Riesgos


                      Explotación
                        FÁCIL
                                Prevalencia
                                  COMÚN
                       Detección
                        MEDIA
                                 Impacto
                                 SEVERO
1
Inyección - Nota

●   Inyección no es sólo SQL
    ●   LDAP
    ●   Envío de e-mail
    ●   Comandos de SO
    ●   ...
1
Inyección - Defensa

●   Usar una API segura que evite el uso del
    intérprete o provea una interface
    parametrizada
    ●   $stmt = $dbh->prepare("SELECT * FROM
        USERS where id = ?");
    ●   if ($stmt->execute(array($_GET['id']))) {
1
Inyección - Defensa

●   Si no hay una API segura validar entradas
    ●   if (is_int($_GET['id'])) {
    ●   if
        (filter_var($_GET['id'],FILTER_VALIDATE_IN
        T))
Secuencia de Comandos en Sitios
Cruzados (XSS)




                         2
Secuencia de Comandos en Sitios
                              2

Cruzados (XSS) - Ejemplo
●   El contenido de una página se carga
    imprimiendo un dato ingresado
    previamente
    ●   http://caralibro.com/buscar.php?
        cadena=Equipos
    ●   echo $cadena;
●   ¿Qué pasa si ingreso etiquetas HTML en
    la variable cadena?
Secuencia de Comandos en Sitios
                              2

Cruzados (XSS) - Ejemplo
●   ¿Y si comparto el enlace modificado?
●   ¿Y si vuelvo persistente el dato en la base
    de datos?
Secuencia de Comandos en Sitios
                              2

Cruzados (XSS) - Ejemplo
Secuencia de Comandos en Sitios
                              2

Cruzados (XSS) - Riesgos


                  Explotación
                    MEDIA
                            Prevalencia
                         MUY DIFUNDIDA
                   Detección
                    FÁCIL
                             Impacto
                           MODERADO
Secuencia de Comandos en Sitios
                              2

Cruzados (XSS) - Defensa
●   Escapar todos los datos no confiables
    ●   htmlentities($_GET['cadena']);
    ●   filter_var($_GET['cadena'],
        FILTER_SANITIZE_FULL_SPECIAL_CHAR
        S);
Secuencia de Comandos en Sitios
                              2

Cruzados (XSS) - Defensa
●   Validación de entradas positivas (permitir
    ciertas etiquetas)
    ●   Funciones más complicadas
Pérdida de Autenticación y Gestión
de Sesiones




                           3
Pérdida de Autenticación y Gestión
                                3

de Sesiones - Ejemplo
●   Un usuario mantiene su sesión activa
    siguiendo enlaces que incluyen su
    identificador de sesión
    ●   http://caralibro.com/preferencias.php?
        sessionid=52e83279678a
●   ¿Si copio el enlace en otra PC, ingreso a
    la misma página?
Pérdida de Autenticación y Gestión
                                3

de Sesiones - Ejemplo
●   Un usuario inicia sesión desde una cabina
    de Internet y luego cierra el navegador sin
    cerrar sesión
●   ¿Qué sucede si luego otro usuario entra a
    la misma web?
Pérdida de Autenticación y Gestión
                                3

de Sesiones - Ejemplo
●   Un atacante accede a la base de datos de
    contraseñas SIN CIFRAR
Pérdida de Autenticación y Gestión
                                3

de Sesiones - Riesgos


                   Explotación
                     MEDIA
                             Prevalencia
                               COMÚN
                    Detección
                     MEDIA
                              Impacto
                              SEVERO
Pérdida de Autenticación y Gestión
                                3

de Sesiones - Defensa
●   Un fuerte control de gestión de sesiones
●   Tiempos límites de vigencia
●   ¡¡¡Cifrar las claves de tus usuarios!!!
●   session_regenerate_id(TRUE)
Referencia Directa Insegura
a Objetos




                              4
Referencia Directa Insegura                        4

a Objetos - Ejemplo
●   El usuario accede a información personal
    con una dirección que incluye su
    identificador
    ●   http://caralibro.com/cuenta.php?id=87392
●   ¿Qué pasa si cambio el valor de id?
Referencia Directa Insegura           4

a Objetos - Riesgo


                   Explotación
                     FÁCIL
                             Prevalencia
                               COMÚN
                    Detección
                     FÁCIL
                              Impacto
                            MODERADO
Referencia Directa Insegura                 4

a Objetos - Defensa
●   Comprobar que el usuario tiene los
    privilegios para acceder al recurso
    ●   if ($_GET['id']==$_SESSION['id'])
Falsificación de Peticiones en Sitios
Cruzados (CSRF)




                             5
Falsificación de Peticiones en Sitios
                                   5

Cruzados (CSRF) - Ejemplo
●   Una aplicación de correo electrónico
    permite configurar una cuenta adicional
    para reenviar los mensajes
    ●   http://caralibro.com/reenviar.php?
        mail=root@local.com
●   Qué pasa si creo una página con una
    etiqueta HTML que hace una llamada a la
    URL con otra dirección e-mail
Falsificación de Peticiones en Sitios
                                   5

Cruzados (CSRF) - Riesgos


                    Explotación
                      MEDIA
                              Prevalencia
                             MUY COMÚN
                     Detección
                      FÁCIL
                               Impacto
                             MODERADO
Falsificación de Peticiones en Sitios
                                   5

Cruzados (CSRF) - Defensa
●   Incluir token (testigo) en la petición, de
    preferencia de manera oculta:
    ●   <input type="hidden" name="token"
        value="856c2f50ddc49fd710f14a406ec1fef6
        52d3c9f">
Defectuosa Configuración de
Seguridad (NUEVO)




                          6
Defectuosa Configuración de                     6

Seguridad (NUEVO) - Ejemplo
●   Se descubre una vulnerabilidad
    importante en el framework empleado en
    la aplicación
    ●   Una actualización corrige el problema
●   ¿Qué pasa si nadie actualiza la versión
    en la aplicación?
Defectuosa Configuración de   6

Seguridad (NUEVO) - Ejemplo
Defectuosa Configuración de                  6

Seguridad (NUEVO) - Ejemplo
●   Una herramienta administrativa es
    instalada en el servidor web y se deja
    accesible sin clave
    ●   http://caralibro.com/phpmyadmin
●   ¿Qué sucede si comienzan a adivinar
    URLs?
Defectuosa Configuración de                  6

Seguridad (NUEVO) - Ejemplo
●   Se suben por error carpetas .SVN en el
    servidor de producción
●   ¿Qué sucede si la configuración del
    servidor web permite ver archivos
    ocultos?
Defectuosa Configuración de                                               6

 Seguridad (NUEVO) - Ejemplo
  ●   La aplicación muestra el detalle completo
      de los errores
  ●   ¿Y si el detalle completo muestra
      información relevante del funcionamiento
      de la aplicación?
ERROR [credit-card-db] (MySqlSystem.java:1331) - Invalid column name
java.sql.SQLException: Invalid column name ‘social_security_numbre’: select
username, password, ssn from users where id = ?
sun.jdbc.rowset.CachedRowSet.getColIdxByName(CachedRowSet.java:1383)
     at com.mysql.Driver.MySQLDriver.a(MySQLDriver.java:2531)
     at sun.jdbc.rowset.CachedRowSet.getString(CachedRowSet.java:2167)
     at com.ppe.db.MySqlSystem.getReciPaying(MySqlSystem.java:1318)
     at control.action.FindUserAction.perform(FindKeyUserAction.java:81)
     at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet)
     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
     at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
Defectuosa Configuración de   6

Seguridad (NUEVO) - Ejemplo
Defectuosa Configuración de          6

Seguridad (NUEVO) - Riesgos


                  Explotación
                    FÁCIL
                            Prevalencia
                              COMÚN
                   Detección
                    FÁCIL
                             Impacto
                           MODERADO
Defectuosa Configuración de                6

Seguridad (NUEVO) - Defensa
●   Definir procesos para actualizar versiones
    de herramientas empleadas
●   Verificar que herramientas administrativas
    no se encuentren accesibles
●   Proteger la configuración de los
    componentes que usa la aplicación
●   Deshabilitar mensajes de errores,
    advertencias o información
Almacenamiento Criptográfico
Inseguro




                         7
Almacenamiento Criptográfico               7

Inseguro - Ejemplo
●   Una aplicación almacena archivos
    cifrados pero la clave de cifrado es
    accesible.
Almacenamiento Criptográfico                   7

Inseguro - Ejemplo
●   La base de datos de claves usa algún
    algoritmo hash pero sin “sal” (un dato
    adicional que se suma al valor original)
    ●   md5($_POST['clave']);
●   Un ataque de fuerza bruta demora menos
    en encontrar la clave si ésta no está
    sumada a una “sal”
Almacenamiento Criptográfico        7

Inseguro - Riesgos


                  Explotación
                    DIFÍCIL
                            Prevalencia
                          POCO COMÚN
                   Detección
                    DIFÍCIL
                             Impacto
                             SEVERO
Almacenamiento Criptográfico              7

Inseguro - Defensa
●   Asegúrese de que los datos cifrados y la
    clave que los descrifra se encuentran en
    lugares distintos
Almacenamiento Criptográfico                 7

Inseguro - Defensa
●   Utilice una “sal” al usar un algoritmo hash
    ●   md5($sal.$_POST['clave']);
Almacenamiento Criptográfico              7

Inseguro - Defensa
●   Dejar de usar algoritmos MD5, SHA1,
    DES.
Almacenamiento Criptográfico                   7

Inseguro - Nota
●   Usa SHA-256, AES, RSA.
    ●   hash('sha256',$sal.$_POST['clave']);
Falla de Restricción de Acceso a
URL




                            8
Falla de Restricción de Acceso a          8

URL - Ejemplo
●   Generalmente una aplicación web tiene
    una sección administrativa
    ●   http://caralibro.com/admin
●   ¿La sección administrativa requiere
    clave?
Falla de Restricción de Acceso a     8

URL - Riesgos


                   Explotación
                     FÁCIL
                             Prevalencia
                           POCO COMÚN
                    Detección
                     MEDIA
                              Impacto
                            MODERADO
Falla de Restricción de Acceso a               8

URL - Defensa
●   Verificar por cada página que se requiera
    que el usuario tenga los privilegios
    suficientes para acceder a ella.
    ●   if (is_capable($_SESSION['userid'],$page))
Protección Insuficiente en la Capa
de Transporte




                            9
Protección Insuficiente en la Capa
                                 9

de Transporte - Ejemplo
●   Una aplicación no utiliza certificados de
    seguridad en la transmisión de datos
    sensibles
●   ¿Qué sucede si un atacante lee las
    transmisiones del usuario?
Protección Insuficiente en la Capa
                                 9

de Transporte - Ejemplo
●   Una aplicación utiliza certificados de
    seguridad pero han sido mal configurados
    y muestran errores frecuentemente a los
    usuarios
●   ¿Qué sucede si un atacante crea una
    página falsa y que muestra errores
    similares?
Protección Insuficiente en la Capa
                                 9

de Transporte - Riesgos


                   Explotación
                     DIFÍCIL
                             Prevalencia
                               COMÚN
                    Detección
                     FÁCIL
                              Impacto
                             MODERADO
Protección Insuficiente en la Capa
                                 9

de Transporte - Defensa
●   Usar SSL para todas las páginas que
    utilizan datos sensibles
Protección Insuficiente en la Capa
                                 9

de Transporte - Defensa
●   Verificar que el certificado sea válido, no
    se haya vencido y esté configurado para
    todos los dominios usados por la
    aplicación.
Redirecciones y reenvíos no
validados (NUEVO)




                          10
Redirecciones y reenvíos no                         10

validados (NUEVO) - Ejemplo
●   Una aplicación tiene páginas del tipo
    redirect, con un parámetro URL
    ●   http://caralibro.com/ir.php?url=curso.php
●   ¿Qué sucede si coloco una dirección
    externa en url?
Redirecciones y reenvíos no                     10

validados (NUEVO) - Ejemplo
●   Una petición envía, además de los datos
    normales, la url que mostrará al
    confirmarse la transacción
    ●   http://caralibro.com/transaccion.php?
        dato1=cualquiera&exito=inicio.php
●   ¿Qué sucede si cambio el valor de exito?
Redirecciones y reenvíos no         10

validados (NUEVO) - Riesgos


                  Explotación
                    MEDIA
                            Prevalencia
                          POCO COMÚN
                   Detección
                    FÁCIL
                             Impacto
                           MODERADO
Redirecciones y reenvíos no                  10

validados (NUEVO) - Defensa
●   Evitar usar redirecciones.
●   Si se utiliza, evitar que el usuario pueda
    manipular el destino.
●   También se debe asegurar que el destino
    será válido y autorizado.
Y esto es sólo el comienzo
(para ustedes :D)     Clickjacking
                                ●


                                ●   Plugins (Flash,
                                    Acrobat, Java)
                                ●   XSS con CSS
                                ●   JSON con datos
                                    sensibles
                                ●   Remote Code
                                    Injection
                                ●   XSS + Ajax + CSRF
         https://secure.flickr.com/photos/anonymous9000/3644243073/
Referencias bibliográficas
●   OWASP Top Ten Project [Spanish Translation]
    https://www.owasp.org/index.php/Top_10
●   2010: A Web Hacking Odyssey - Top Ten Hacks of the Year
    http://www.slideshare.net/jeremiahgrossman/2010-a-web-hacking-odyssey-
    top-ten-hacks-of-the-year
●   RIA And AJAX Security Workshop, Part 1
    http://www.slideshare.net/astamos/ria-and-ajax-security-workshop-part-1-
    presentation
●   Evolution Of Web Security http://www.slideshare.net/shiflett/evolution-of-web-
    security
●   Rails Security Best Practices http://www.slideshare.net/ihower/rails-security-
    3299368
●   Web Application Security Tutorial
    http://www.slideshare.net/xplodersuv/EducauseAnnualWebAppSecTutorialV3
●   Web Security Horror Stories http://www.slideshare.net/simon/web-security-
    horror-stories-presentation
●   PHP Security Consortium http://phpsec.org/
●   PHP Filtros de saneamiento http://php.net/manual/es/filter.filters.sanitize.php
https://secure.flickr.com/photos/nickstone333/3390456806/




Todo esto … ¿tiene que
ver con Firefox?
Futuras publicaciones de Firefox




Firefox (Estable), Aurora y Mobile
firefox.com/channel


Firefox Portable (ejecutable desde USB)
mozilla.pe/firefox-portable
Complementos en Firefox

●   Hackbar
Complementos en Firefox

●   User Agent RG
Complementos en Firefox

●   PassiveRecon
Complementos en Firefox

●   FoxyProxy Standard
Complementos en Firefox

●   Tamper Data
Advertencia final




    La piratería en redes sin la previa
   autorización se considera un delito
Y una cosa más ...




   https://secure.flickr.com/photos/takomabibelot/2455018965/
Mozilla Perú


      /mozillaperu
Seguridad en el desarrollo de
aplicaciones web




                  Juan Eladio Sánchez Rosas
                    slideshare.net/juaneladio

Más contenido relacionado

La actualidad más candente

sistemas de seguridad para desarrollar web
sistemas de seguridad para desarrollar websistemas de seguridad para desarrollar web
sistemas de seguridad para desarrollar webbrenda carolina
 
Seguridad de Aplicaciones Web
Seguridad de Aplicaciones WebSeguridad de Aplicaciones Web
Seguridad de Aplicaciones WebGabriel Arellano
 
Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones webJose Mato
 
Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...
Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...
Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...mauromaulinir
 
Hackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicasHackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicasSEINHE
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Alonso Caballero
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASPzekivazquez
 
Owasp top 10 2010 final (spanish)
Owasp top 10   2010 final (spanish)Owasp top 10   2010 final (spanish)
Owasp top 10 2010 final (spanish)Fabio Cerullo
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Andrés Gómez
 
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...Internet Security Auditors
 
Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"
Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"
Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"Alonso Caballero
 
Owasp top 10 2017
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017yopablo
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10tabai
 

La actualidad más candente (20)

sistemas de seguridad para desarrollar web
sistemas de seguridad para desarrollar websistemas de seguridad para desarrollar web
sistemas de seguridad para desarrollar web
 
Seguridad de Aplicaciones Web
Seguridad de Aplicaciones WebSeguridad de Aplicaciones Web
Seguridad de Aplicaciones Web
 
Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
 
Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...
Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...
Resumen curso de seguridad para desarrolladores de aplicaciones web y móviles...
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 
Owasp Top10 Spanish
Owasp Top10 SpanishOwasp Top10 Spanish
Owasp Top10 Spanish
 
as
asas
as
 
Hackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicasHackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicas
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
 
Owasp top ten 2019
Owasp top ten 2019Owasp top ten 2019
Owasp top ten 2019
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASP
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Owasp top 10 2010 final (spanish)
Owasp top 10   2010 final (spanish)Owasp top 10   2010 final (spanish)
Owasp top 10 2010 final (spanish)
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
 
Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"
Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"
Webinar Gratuito: "Escanear Vulnerabilidades Web con Zed Attack Proxy"
 
Owasp top 10 2017
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017
 
Seguridad en los sistemas web
Seguridad en los sistemas webSeguridad en los sistemas web
Seguridad en los sistemas web
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 

Similar a Seguridad en el desarrollo de aplicaciones web

Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De DatosWilliam Suárez
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datosguestb40a1b0
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Jose Gratereaux
 
Securiza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigosSecuriza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigosspankito
 
Concientización de Riesgos de Ciberseguridad En Wordpress.
Concientización de Riesgos de Ciberseguridad En Wordpress.Concientización de Riesgos de Ciberseguridad En Wordpress.
Concientización de Riesgos de Ciberseguridad En Wordpress.Marco Martínez
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0José Moreno
 
Seguridad en redes Unidad V
Seguridad en redes Unidad VSeguridad en redes Unidad V
Seguridad en redes Unidad VJose A. Garcia
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebEduardo Jalon
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
SEGUIRIDAD DE BASE DE DATOS
SEGUIRIDAD DE BASE DE DATOSSEGUIRIDAD DE BASE DE DATOS
SEGUIRIDAD DE BASE DE DATOSArgenis Riofrío
 
Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesIncorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesSoftware Guru
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Webacksec
 
UNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologías
UNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologíasUNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologías
UNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologíasUNEG-AS
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoRené Olivo
 
Investigacion de seguridad
Investigacion de seguridadInvestigacion de seguridad
Investigacion de seguridadJulio Cesar
 
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]RootedCON
 

Similar a Seguridad en el desarrollo de aplicaciones web (20)

Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5
 
Securiza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigosSecuriza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigos
 
Concientización de Riesgos de Ciberseguridad En Wordpress.
Concientización de Riesgos de Ciberseguridad En Wordpress.Concientización de Riesgos de Ciberseguridad En Wordpress.
Concientización de Riesgos de Ciberseguridad En Wordpress.
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0
 
Seguridad en redes Unidad V
Seguridad en redes Unidad VSeguridad en redes Unidad V
Seguridad en redes Unidad V
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación Web
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
SEGUIRIDAD DE BASE DE DATOS
SEGUIRIDAD DE BASE DE DATOSSEGUIRIDAD DE BASE DE DATOS
SEGUIRIDAD DE BASE DE DATOS
 
Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesIncorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Web
 
Bajo Ataque 2.pptx
Bajo Ataque 2.pptxBajo Ataque 2.pptx
Bajo Ataque 2.pptx
 
UNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologías
UNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologíasUNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologías
UNEG-AS 2012-Inf11: Métodos usados para abusar de las nuevas tecnologías
 
Man in the middle aplicado a la seguridad
Man in the middle aplicado a la seguridadMan in the middle aplicado a la seguridad
Man in the middle aplicado a la seguridad
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio Electrónico
 
Mod security
Mod securityMod security
Mod security
 
Investigacion de seguridad
Investigacion de seguridadInvestigacion de seguridad
Investigacion de seguridad
 
Base de datos
Base de datosBase de datos
Base de datos
 
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
 

Más de Juan Eladio Sánchez Rosas

Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Juan Eladio Sánchez Rosas
 
Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Juan Eladio Sánchez Rosas
 
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Juan Eladio Sánchez Rosas
 
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Juan Eladio Sánchez Rosas
 
iPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móviliPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móvilJuan Eladio Sánchez Rosas
 
App-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesApp-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesJuan Eladio Sánchez Rosas
 
Tecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webTecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webJuan Eladio Sánchez Rosas
 
Herramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaHerramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaJuan Eladio Sánchez Rosas
 
Prueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoPrueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoJuan Eladio Sánchez Rosas
 
Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Juan Eladio Sánchez Rosas
 
HTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYHTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYJuan Eladio Sánchez Rosas
 
Buenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webBuenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webJuan Eladio Sánchez Rosas
 

Más de Juan Eladio Sánchez Rosas (20)

Seguridad informatica para docentes
Seguridad informatica para docentesSeguridad informatica para docentes
Seguridad informatica para docentes
 
Introducción a la computación en la nube
Introducción a la computación en la nubeIntroducción a la computación en la nube
Introducción a la computación en la nube
 
Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2
 
Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1
 
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
 
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
 
iPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móviliPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móvil
 
App-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesApp-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móviles
 
Taller Diseno de apps móviles
Taller Diseno de apps móvilesTaller Diseno de apps móviles
Taller Diseno de apps móviles
 
Muchas voces, una Comunidad Mozilla
Muchas voces, una Comunidad MozillaMuchas voces, una Comunidad Mozilla
Muchas voces, una Comunidad Mozilla
 
Tecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webTecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la web
 
La web abierta y Mozilla
La web abierta y MozillaLa web abierta y Mozilla
La web abierta y Mozilla
 
Desarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móvilesDesarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móviles
 
Herramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaHerramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abierta
 
Prueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoPrueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempo
 
Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012
 
Firefox Next y otras iniciativas de Mozilla
Firefox Next y otras iniciativas de MozillaFirefox Next y otras iniciativas de Mozilla
Firefox Next y otras iniciativas de Mozilla
 
HTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYHTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOY
 
Buenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webBuenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo web
 
Mozilla Labs: Reinventando la web
Mozilla Labs: Reinventando la webMozilla Labs: Reinventando la web
Mozilla Labs: Reinventando la web
 

Último

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (20)

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Seguridad en el desarrollo de aplicaciones web

  • 1. Seguridad en el desarrollo de aplicaciones web Juan Eladio Sánchez Rosas Mozilla Perú
  • 2.
  • 3. ¿Seguridad en el desarrollo de aplicaciones web?
  • 4. Tres principios, tres 1 Defensa en profundidad 2 Menos privilegios 3 Lo menos complicado
  • 5. Dos prácticas generales Filtrar entradas Asegurarse que los datos de entrada son válidos Escapar salidas Asegurar que los datos salientes no se malinterpreten
  • 6. ¿Por dónde empezar? https://secure.flickr.com/photos/cdharrison/359763327/
  • 7.
  • 8. OWASP ● Proyecto Abierto de Seguridad en Aplicaciones Web ● Comunidad abierta dedicada a habilitar a las organizaciones para desarrollar, comprar y mantener aplicaciones confiables.
  • 9. OWASP Top 10 2010 ● Diez Riesgos Más Críticos sobre Seguridad en Aplicaciones
  • 11. 1 Inyección - Ejemplo ● Efectuar una consulta a partir de un dato enviado como parámetro ● http://caralibro.com/usuario.php?id=8262 ● $sql = 'SELECT * FROM USERS where id = '. $_GET['id']; ● ¿Qué pasa si ingreso sentencias SQL?
  • 12. 1 Inyección - Riesgos Explotación FÁCIL Prevalencia COMÚN Detección MEDIA Impacto SEVERO
  • 13. 1 Inyección - Nota ● Inyección no es sólo SQL ● LDAP ● Envío de e-mail ● Comandos de SO ● ...
  • 14. 1 Inyección - Defensa ● Usar una API segura que evite el uso del intérprete o provea una interface parametrizada ● $stmt = $dbh->prepare("SELECT * FROM USERS where id = ?"); ● if ($stmt->execute(array($_GET['id']))) {
  • 15. 1 Inyección - Defensa ● Si no hay una API segura validar entradas ● if (is_int($_GET['id'])) { ● if (filter_var($_GET['id'],FILTER_VALIDATE_IN T))
  • 16. Secuencia de Comandos en Sitios Cruzados (XSS) 2
  • 17. Secuencia de Comandos en Sitios 2 Cruzados (XSS) - Ejemplo ● El contenido de una página se carga imprimiendo un dato ingresado previamente ● http://caralibro.com/buscar.php? cadena=Equipos ● echo $cadena; ● ¿Qué pasa si ingreso etiquetas HTML en la variable cadena?
  • 18. Secuencia de Comandos en Sitios 2 Cruzados (XSS) - Ejemplo ● ¿Y si comparto el enlace modificado? ● ¿Y si vuelvo persistente el dato en la base de datos?
  • 19. Secuencia de Comandos en Sitios 2 Cruzados (XSS) - Ejemplo
  • 20. Secuencia de Comandos en Sitios 2 Cruzados (XSS) - Riesgos Explotación MEDIA Prevalencia MUY DIFUNDIDA Detección FÁCIL Impacto MODERADO
  • 21. Secuencia de Comandos en Sitios 2 Cruzados (XSS) - Defensa ● Escapar todos los datos no confiables ● htmlentities($_GET['cadena']); ● filter_var($_GET['cadena'], FILTER_SANITIZE_FULL_SPECIAL_CHAR S);
  • 22. Secuencia de Comandos en Sitios 2 Cruzados (XSS) - Defensa ● Validación de entradas positivas (permitir ciertas etiquetas) ● Funciones más complicadas
  • 23. Pérdida de Autenticación y Gestión de Sesiones 3
  • 24. Pérdida de Autenticación y Gestión 3 de Sesiones - Ejemplo ● Un usuario mantiene su sesión activa siguiendo enlaces que incluyen su identificador de sesión ● http://caralibro.com/preferencias.php? sessionid=52e83279678a ● ¿Si copio el enlace en otra PC, ingreso a la misma página?
  • 25. Pérdida de Autenticación y Gestión 3 de Sesiones - Ejemplo ● Un usuario inicia sesión desde una cabina de Internet y luego cierra el navegador sin cerrar sesión ● ¿Qué sucede si luego otro usuario entra a la misma web?
  • 26. Pérdida de Autenticación y Gestión 3 de Sesiones - Ejemplo ● Un atacante accede a la base de datos de contraseñas SIN CIFRAR
  • 27. Pérdida de Autenticación y Gestión 3 de Sesiones - Riesgos Explotación MEDIA Prevalencia COMÚN Detección MEDIA Impacto SEVERO
  • 28. Pérdida de Autenticación y Gestión 3 de Sesiones - Defensa ● Un fuerte control de gestión de sesiones ● Tiempos límites de vigencia ● ¡¡¡Cifrar las claves de tus usuarios!!! ● session_regenerate_id(TRUE)
  • 30. Referencia Directa Insegura 4 a Objetos - Ejemplo ● El usuario accede a información personal con una dirección que incluye su identificador ● http://caralibro.com/cuenta.php?id=87392 ● ¿Qué pasa si cambio el valor de id?
  • 31. Referencia Directa Insegura 4 a Objetos - Riesgo Explotación FÁCIL Prevalencia COMÚN Detección FÁCIL Impacto MODERADO
  • 32. Referencia Directa Insegura 4 a Objetos - Defensa ● Comprobar que el usuario tiene los privilegios para acceder al recurso ● if ($_GET['id']==$_SESSION['id'])
  • 33. Falsificación de Peticiones en Sitios Cruzados (CSRF) 5
  • 34. Falsificación de Peticiones en Sitios 5 Cruzados (CSRF) - Ejemplo ● Una aplicación de correo electrónico permite configurar una cuenta adicional para reenviar los mensajes ● http://caralibro.com/reenviar.php? mail=root@local.com ● Qué pasa si creo una página con una etiqueta HTML que hace una llamada a la URL con otra dirección e-mail
  • 35. Falsificación de Peticiones en Sitios 5 Cruzados (CSRF) - Riesgos Explotación MEDIA Prevalencia MUY COMÚN Detección FÁCIL Impacto MODERADO
  • 36. Falsificación de Peticiones en Sitios 5 Cruzados (CSRF) - Defensa ● Incluir token (testigo) en la petición, de preferencia de manera oculta: ● <input type="hidden" name="token" value="856c2f50ddc49fd710f14a406ec1fef6 52d3c9f">
  • 38. Defectuosa Configuración de 6 Seguridad (NUEVO) - Ejemplo ● Se descubre una vulnerabilidad importante en el framework empleado en la aplicación ● Una actualización corrige el problema ● ¿Qué pasa si nadie actualiza la versión en la aplicación?
  • 39. Defectuosa Configuración de 6 Seguridad (NUEVO) - Ejemplo
  • 40. Defectuosa Configuración de 6 Seguridad (NUEVO) - Ejemplo ● Una herramienta administrativa es instalada en el servidor web y se deja accesible sin clave ● http://caralibro.com/phpmyadmin ● ¿Qué sucede si comienzan a adivinar URLs?
  • 41. Defectuosa Configuración de 6 Seguridad (NUEVO) - Ejemplo ● Se suben por error carpetas .SVN en el servidor de producción ● ¿Qué sucede si la configuración del servidor web permite ver archivos ocultos?
  • 42. Defectuosa Configuración de 6 Seguridad (NUEVO) - Ejemplo ● La aplicación muestra el detalle completo de los errores ● ¿Y si el detalle completo muestra información relevante del funcionamiento de la aplicación? ERROR [credit-card-db] (MySqlSystem.java:1331) - Invalid column name java.sql.SQLException: Invalid column name ‘social_security_numbre’: select username, password, ssn from users where id = ? sun.jdbc.rowset.CachedRowSet.getColIdxByName(CachedRowSet.java:1383) at com.mysql.Driver.MySQLDriver.a(MySQLDriver.java:2531) at sun.jdbc.rowset.CachedRowSet.getString(CachedRowSet.java:2167) at com.ppe.db.MySqlSystem.getReciPaying(MySqlSystem.java:1318) at control.action.FindUserAction.perform(FindKeyUserAction.java:81) at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
  • 43. Defectuosa Configuración de 6 Seguridad (NUEVO) - Ejemplo
  • 44. Defectuosa Configuración de 6 Seguridad (NUEVO) - Riesgos Explotación FÁCIL Prevalencia COMÚN Detección FÁCIL Impacto MODERADO
  • 45. Defectuosa Configuración de 6 Seguridad (NUEVO) - Defensa ● Definir procesos para actualizar versiones de herramientas empleadas ● Verificar que herramientas administrativas no se encuentren accesibles ● Proteger la configuración de los componentes que usa la aplicación ● Deshabilitar mensajes de errores, advertencias o información
  • 47. Almacenamiento Criptográfico 7 Inseguro - Ejemplo ● Una aplicación almacena archivos cifrados pero la clave de cifrado es accesible.
  • 48. Almacenamiento Criptográfico 7 Inseguro - Ejemplo ● La base de datos de claves usa algún algoritmo hash pero sin “sal” (un dato adicional que se suma al valor original) ● md5($_POST['clave']); ● Un ataque de fuerza bruta demora menos en encontrar la clave si ésta no está sumada a una “sal”
  • 49. Almacenamiento Criptográfico 7 Inseguro - Riesgos Explotación DIFÍCIL Prevalencia POCO COMÚN Detección DIFÍCIL Impacto SEVERO
  • 50. Almacenamiento Criptográfico 7 Inseguro - Defensa ● Asegúrese de que los datos cifrados y la clave que los descrifra se encuentran en lugares distintos
  • 51. Almacenamiento Criptográfico 7 Inseguro - Defensa ● Utilice una “sal” al usar un algoritmo hash ● md5($sal.$_POST['clave']);
  • 52. Almacenamiento Criptográfico 7 Inseguro - Defensa ● Dejar de usar algoritmos MD5, SHA1, DES.
  • 53. Almacenamiento Criptográfico 7 Inseguro - Nota ● Usa SHA-256, AES, RSA. ● hash('sha256',$sal.$_POST['clave']);
  • 54. Falla de Restricción de Acceso a URL 8
  • 55. Falla de Restricción de Acceso a 8 URL - Ejemplo ● Generalmente una aplicación web tiene una sección administrativa ● http://caralibro.com/admin ● ¿La sección administrativa requiere clave?
  • 56. Falla de Restricción de Acceso a 8 URL - Riesgos Explotación FÁCIL Prevalencia POCO COMÚN Detección MEDIA Impacto MODERADO
  • 57. Falla de Restricción de Acceso a 8 URL - Defensa ● Verificar por cada página que se requiera que el usuario tenga los privilegios suficientes para acceder a ella. ● if (is_capable($_SESSION['userid'],$page))
  • 58. Protección Insuficiente en la Capa de Transporte 9
  • 59. Protección Insuficiente en la Capa 9 de Transporte - Ejemplo ● Una aplicación no utiliza certificados de seguridad en la transmisión de datos sensibles ● ¿Qué sucede si un atacante lee las transmisiones del usuario?
  • 60. Protección Insuficiente en la Capa 9 de Transporte - Ejemplo ● Una aplicación utiliza certificados de seguridad pero han sido mal configurados y muestran errores frecuentemente a los usuarios ● ¿Qué sucede si un atacante crea una página falsa y que muestra errores similares?
  • 61. Protección Insuficiente en la Capa 9 de Transporte - Riesgos Explotación DIFÍCIL Prevalencia COMÚN Detección FÁCIL Impacto MODERADO
  • 62. Protección Insuficiente en la Capa 9 de Transporte - Defensa ● Usar SSL para todas las páginas que utilizan datos sensibles
  • 63. Protección Insuficiente en la Capa 9 de Transporte - Defensa ● Verificar que el certificado sea válido, no se haya vencido y esté configurado para todos los dominios usados por la aplicación.
  • 64. Redirecciones y reenvíos no validados (NUEVO) 10
  • 65. Redirecciones y reenvíos no 10 validados (NUEVO) - Ejemplo ● Una aplicación tiene páginas del tipo redirect, con un parámetro URL ● http://caralibro.com/ir.php?url=curso.php ● ¿Qué sucede si coloco una dirección externa en url?
  • 66. Redirecciones y reenvíos no 10 validados (NUEVO) - Ejemplo ● Una petición envía, además de los datos normales, la url que mostrará al confirmarse la transacción ● http://caralibro.com/transaccion.php? dato1=cualquiera&exito=inicio.php ● ¿Qué sucede si cambio el valor de exito?
  • 67. Redirecciones y reenvíos no 10 validados (NUEVO) - Riesgos Explotación MEDIA Prevalencia POCO COMÚN Detección FÁCIL Impacto MODERADO
  • 68. Redirecciones y reenvíos no 10 validados (NUEVO) - Defensa ● Evitar usar redirecciones. ● Si se utiliza, evitar que el usuario pueda manipular el destino. ● También se debe asegurar que el destino será válido y autorizado.
  • 69. Y esto es sólo el comienzo (para ustedes :D) Clickjacking ● ● Plugins (Flash, Acrobat, Java) ● XSS con CSS ● JSON con datos sensibles ● Remote Code Injection ● XSS + Ajax + CSRF https://secure.flickr.com/photos/anonymous9000/3644243073/
  • 70. Referencias bibliográficas ● OWASP Top Ten Project [Spanish Translation] https://www.owasp.org/index.php/Top_10 ● 2010: A Web Hacking Odyssey - Top Ten Hacks of the Year http://www.slideshare.net/jeremiahgrossman/2010-a-web-hacking-odyssey- top-ten-hacks-of-the-year ● RIA And AJAX Security Workshop, Part 1 http://www.slideshare.net/astamos/ria-and-ajax-security-workshop-part-1- presentation ● Evolution Of Web Security http://www.slideshare.net/shiflett/evolution-of-web- security ● Rails Security Best Practices http://www.slideshare.net/ihower/rails-security- 3299368 ● Web Application Security Tutorial http://www.slideshare.net/xplodersuv/EducauseAnnualWebAppSecTutorialV3 ● Web Security Horror Stories http://www.slideshare.net/simon/web-security- horror-stories-presentation ● PHP Security Consortium http://phpsec.org/ ● PHP Filtros de saneamiento http://php.net/manual/es/filter.filters.sanitize.php
  • 72. Futuras publicaciones de Firefox Firefox (Estable), Aurora y Mobile firefox.com/channel Firefox Portable (ejecutable desde USB) mozilla.pe/firefox-portable
  • 76. Complementos en Firefox ● FoxyProxy Standard
  • 78. Advertencia final La piratería en redes sin la previa autorización se considera un delito
  • 79. Y una cosa más ... https://secure.flickr.com/photos/takomabibelot/2455018965/
  • 80. Mozilla Perú /mozillaperu
  • 81. Seguridad en el desarrollo de aplicaciones web Juan Eladio Sánchez Rosas slideshare.net/juaneladio