About Me. Mario Robles Tencio



Documentos relacionados
LOS 7 PECADOS DEL DESARROLO WEB & TENTACIÓN DEL USUARIOS EN APLICACIONES MOVILES.

Seguridad en Sitios Web de Alto Tráfico. Ing. Enrique Hurtarte Juárez

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

Ataques XSS en Aplicaciones Web

INTRODUCCIÓN A LA SEGURIDAD EN SISTEMAS Y WEBS

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

Guía de doble autenticación

Detectar y solucionar infecciones en un sitio web

Capítulo 2.- Vulnerabilidades en aplicaciones web.

DOCS. Pautas básicas para el DESARROLLO DE PLUGINS

Web : Ataque y Defensa. Claudio Salazar Estudiante Ing. Civil Informática UTFSM Pinguinux Team

Segurinfo NOA Seguridad en el desarrollo de aplicaciones Web

AUDITORÍAS TÉCNICAS PARA LA CERTIFICACIÓN DE LOS SISTEMAS DE RECOGIDA DE INICIATIVAS CIUDADANAS EUROPEAS

Web: Ataque y Defensa. my kung fu is stronger than yours, The lone Gunmen

Ingeniero Técnico en Informática - UCA Máster en Ingeniería del Software - US Máster en Seguridad de las TIC - US

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Desarrollo seguro en Drupal. Ezequiel Vázquez De la calle

Session Hijacking: Secuestro de sesiones en aplicaciones web empresariales

Circular de Tecnología Pautas de seguridad para el desarrollo de aplicaciones Web

PROGRAMACIÓN PÁGINAS WEB CON PHP


Fundamentos de programación Estudia las estructuras de control y cómo definir funciones en JavaScript.

Programación páginas web con ASP.NET 3.5 (C#)

Servicios de Seguridad de la Información

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

POLITICA DE PRIVACIDAD.

Programación de código seguro

Recomendaciones de Seguridad Red Social Twitter

1

OWASP Top Los diez riesgos más importantes en aplicaciones web. The OWASP Foundation. Felipe Zipitría

XPERTO EN DISEÑO DE PÁGINAS WEB

Software Criptográfico FNMT-RCM

Seguridad en Aplicaciones Web

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

Resumen de Requisitos Técnicos para incorporación de Organismos a la Plataforma Integrada de Servicios Electrónicos del Estado

Un sistema adecuadamente refrigerado debe mantener una temperatura de grados.

Buenas Prácticas de Seguridad en el uso de dispositivos móviles. Alfredo Aranguren Tarazona, CISSP, CISA, CISM

Seguridad en Servicios de Hosting

SIEWEB. La intranet corporativa de SIE

In-seguridad y malware en dispositivos móviles

CIF-KM. GUÍA DE LOS PRIMEROS PASOS


100% Laboratorios en Vivo

Banco de la República Bogotá D. C., Colombia

Especificaciones funcionales para el acceso al RAI por Web

Curso Online. Desarrollo Seguro en Java

Haga clic para modificar el estilo de título del patrón Haga clic para modificar el estilo de texto del patrón

Certificados Digitales Tributarios. Guía de Instalación En Estaciones de Trabajo Microsoft Internet Explorer Versión 1.3s

Procedimiento. Actualización de Kit de Conexión de Comercios Webpay versión 5.X a Canales Remotos Operaciones. Transbank S.A.

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

INTRANET M2M. Manual de Instalación y Configuración: Conector Intranet M2M

Resumen de los protocolos de seguridad del Registro Telemático

SEGURIDAD SEGURIDAD. Guía de Comunicación Digital para La Administración General del Estado. Página 1 de 15

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

OWASP: Un punto de vista. aplicaciones web seguras

El proceso de Instalación de Microsoft SQL Server 2008

SEGURIDAD EN APLICACIONES WEB CON APACHE TOMEE. Ing. Javier Mantilla Portilla

Autorización de Documentos Electrónicos

Seguridad de un Portal

Medidas de seguridad ficheros automatizados

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

Resumen del trabajo sobre DNSSEC

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

Requisitos de control de proveedores externos

Preguntas Frecuentes de Servicios en Línea de Tarjetas de Crédito. 1. Tengo que ingresar la información de registro cada vez que inicio una sesión?

SISTEMAS IDEALES SISTIDE, S.A. SISTEMA GESTION DE USUARIOS

Principales riesgos de seguridad en aplicaciones móviles OWASP Mobile Top 10

Seguridad en la red. Fuga o robo de información a causa de las siguientes razones:

Seguridad en los Dispositivos Móviles. <Nombre> <Institución> < >

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Seguridad en el manejo de la información asociada a las muestras (Ficheros automatizados) Granada 06/11/2012

Norma de uso Identificación y autentificación Ministerio del Interior N02

FALSOS ANTIVIRUS Y ANTIESPÍAS

Christian Martorella - Vicente Díaz Edge-security Fist Conference April 2007

ing Solution La forma más efectiva de llegar a sus clientes.

Electrónica: Configuración en Mozilla Firefox

SEMANA 12 SEGURIDAD EN UNA RED

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Mejores prácticas de Seguridad en Línea

Transport Layer Security (TLS) Acerca de TLS

ALERTA ANTIVIRUS: RECOMENDACIONES

Instalación de certificados digitales

TERCERIZACIÓN DE SERVICIOS DE TI. ANEXO 4 - Actividades y niveles de servicio definidos para Primer Nivel de Soporte en Seguridad

Información sobre seguridad

TELEPROCESOS Y SISTEMAS DISTRIBUIDOS

Teléfono: Telefax:

Guía de Inicio Respaldo Cloud

Gestió n de Certificadó Digital

Cross Site Scripting. Conceptos Básicos y Casos prácticos. Antonio González Castro antonio@noveria.es

Crear un servidor Web en IIS

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

Privacidad. <Nombre> <Institución> < >

SOLICITUD DEL CERTIFICADO

Offensive State Auditoría de Aplicaciones Web

Estado: Aprobación Versión: 2.0 Fecha: 04/11/2009 Página 1 de 9 Documento: A5_Politica_Seguridad_V2

Evolución de la seguridad en aplicaciones de comercio electrónico Dr. Gonzalo Álvarez Marañón

Guía Rápida de Inicio

Transcripción:

About Me Mario Robles Tencio Profesional de seguridad +10 años de experiencia en tema de seguridad de redes, desarrollo de aplicaciones web, seguridad de aplicaciones web, PenTesting (Ethical Hacking) Consultor para diversos clientes Equifax: Senior Web Application Security Engineer Responsable del análisis de penetración por medio de Hacking ético para las aplicaciones web a lo largo de Latinoamérica, el Reino Unido e Iberia. Mario.Robles@owasp.org Miembro activo: 37849215

Agenda Introducción al OWASP Top 10 2010 Descripción de cada ítem + Ejemplos para Web App Pentesting Próximos pasos Preguntas

Introducción Diez Riesgos Más Críticos sobre Seguridad en Aplicaciones. Por cada ítem en el Top 10: riesgo, como verificar si usted posee problemas en esta área, como evitarlos, ejemplos y enlaces a mayor información. El objetivo principal del Top 10 es educar desarrolladores, diseñadores, arquitectos, gerentes, y organizaciones sobre las consecuencias de las vulnerabilidades de seguridad más importantes en aplicaciones web. Gracias a Aspect Security por iniciar, liderar, y actualizar el OWASP Top 10 desde su inicio en 2003, y a sus principales autores: Jeff Williams y Dave Wichers.

Contenido del Top 10-2010 A1 Inyección A2 Secuencia de comandos en sitios cruzados (XSS) A3 Pérdida de Autenticación y Gestión de Sesiones A4 Referencia Directa Insegura a Objetos A5 Falsificación de Peticiones en Sitios Cruzados (CSRF) A6 Defectuosa configuración de seguridad A7 Almacenamiento Criptográfico Inseguro A8 - Falla de Restricción de Acceso a URL A9 Protección Insuficiente en la capa de Transporte A10 Redirecciones y Reenvíos no validados

Factores de Riesgo RIESGO Agentes De Amenaza Vectores de Ataque Explotación Prevalencia Vulnerabilidades de Seguridad Detección Impactos Técnicos Impacto Impactos al Negocio A1-Inyeccion FACIL COMUN MEDIA SEVERO A2-XSS MEDIA MUY DIFUNDIDA FACIL MOERADO A3-Autent n MEDIA COMUN MEDIA SEVERO A4-DOR FACIL COMUN FACIL MODERADO A5-CSRF MEDIA MUY COMUN FACIL MODERADO A6-Config FACIL COMUN FACIL MODERADO A7-Crypto DIFICIL POCO COMUN DIFICIL SEVERO A8-Accesso URL FACIL POCO COMUN MEDIA MODERADO A9-Transporte DIFICIL COMUN FACIL MODERADO A10-Redirects MEDIA POCO COMUN FACIL MODERADO

A1 Las fallas de inyección, tales como SQL, OS, y LDAP, ocurren cuando datos no confiables son enviados a un interprete como parte de un comando o consulta. Los datos hostiles del atacante pueden engañar al interprete en ejecutar comandos no intencionados o acceder datos no autorizados.

SQL Injection (SQLi) Inicio de sesión Usuario admin -- Contraseña no importa Ingresar Código que genera el Query sql = SELECT * FROM usuarios WHERE usuario = + usuario + and clave = + clave + Así se interpreta el query por el motor de BD SELECT * FROM usuarios WHERE usuario = admin -- and clave = no importa Si alguien se pregunta si esto tan grave puede ser real pues Este es un ejemplo de la vida real de un sitio que recibía pagos por tarjeta de crédito Podría ser el escenario aún peor??

SQL Injection (SQLi) Inicio de sesión Usuario Contraseña UNION/**/.. no importa Ingresar 'UNION/**/SELECT/**/ CAST(usuario/**/as/**/int), 1,1,1,1/**/ FROM/**/usuarios/**/ WHERE/**/usuario/**/>/**/ a '-- Código que genera el Query sql = SELECT * FROM usuarios WHERE usuario = + usuario + and clave = + clave + Así se interpreta el query por el motor de BD SELECT * FROM usuarios WHERE usuario = UNION SELECT CAST(usuario as int),1,1,1,1 FROM usuarios WHERE usuario > a -- and clave = no importa

SQL Injection (SQLi) Error de SQL puede ser reflejado Microsoft OLE DB Provider for SQL Server</font> <font face="arial" size=2>error '80040e07'</font> <font face="arial" size=2>syntax error converting the varchar value 'admin' to a column of data type int.</font> Así se interpreta el query por el motor de BD SELECT * FROM usuarios WHERE usuario = UNION SELECT CAST(usuario as int),1,1,1,1 FROM usuarios WHERE usuario > a -- and clave = no importa Seleccionar todo de la tabla usuarios donde usuario es igual a nada uniendo el recordset devuelto con la selección del usuario convertido a Integer de la tabla usuarios donde Usuario sea mayor que a

OS Command Injection (OSi) Caso de la vida real, código PHP vulnerable en un servidor Linux: <?php crearreporte('reporte.html' ); shell_exec('generarpdf reporte.html '.$_GET['nombre'].'.pdf'); Así EntregarReporte(); se interpreta el comando al ejecutarse?> 1. Se crea el reporte en formato HTML generado como texto por una función interna 2. Se ejecuta un comando para generar el PDF utilizando un programa instalado en el servidor 3. Se entrega el PDF generado al usuario

OS Command Injection (OSi) Ejecución de comandos con información brindada por el usuario https://misitioinseguro.com/generarpdf.php?nombre=miinfo; cat /etc/passwd > /var/www/passwd Así se interpreta el comando al ejecutarse generarpdf reporte.html miinfo; cat /etc/passwd > /var/www/passwd.pdf El comando generarpdf genera un archivo PDF a partir de una platilla html Adicionalmente con el comando cat genera el archivo passwd.pdf en la raíz del sitio a partir del archivo passwd (Contraseñas) Por fortuna para el atacante el archivo passwd.pdf puede ser descargado desde: https://misitioinseguro.com/passwd.pdf

Prevención y remediación SQLi Consultas parametrizadas Procedimientos almacenados Validación de entradas OS Command Injection Listas blancas Validación de Entradas Consejos comunes para hardening No utilizar el SA en su aplicación Cuenta de sistema operativo con permisos limitados

A2 Secuencia de comandos en sitios cruzados (XSS) Las fallas XSS ocurren cada vez que una aplicación toma datos no confiables y los envía al navegador web sin una validación y codificación apropiada. XSS permite a los atacantes ejecutar secuencias de comandos en el navegador de la victima los cuales pueden secuestrar las sesiones de usuario, destruir sitios web, o dirigir al usuario hacia un sitio malicioso.

Cross Site Scripting (XSS) Reflejado (Reflected) Datos maliciosos son enviados al servidor y son reflejados de vuelta en la respuesta mostrada en el cliente. Almacenado (Stored XSS) Es XSS reflejado pero que ha sido almacenado del lado del servidor siendo reflejado cada vez que los datos son enviados al cliente Basado en el DOM (DOM Based XSS) La ejecución de secuencias de comandos ocurren en el cliente utilizando el DOM (Document Object Model) sin necesidad de que los datos fueran enviados al servidor

Reflected XSS Solicitud enviada a un sitio vulnerable: http://sitioconxss.com/pagina.asp?param=<script>alert( XSS )</script> Código fuente en el navegador Código fuente en el servidor

Stored XSS Envío de información por medio de un formulario vulnerable: Actualizar su información de perfil Nombre Dirección Juan Perez <script>alert( XSS )</script> El contenido se envía y sin realizar validaciones se almacena en el servidor Actualizar Cada vez que la información que contiene el código malicioso es enviada al cliente se refleja el ataque si no se utiliza codificación Estimado Juan Perez Enviamos su paquete a la dirección: <p>enviamos su paquete a la dirección: <script>alert( XSS )</script> </p>

DOM based XSS Javascript utilizado de forma insegura: Brinde su PIN antes de continuar PIN 123 ); alert( XSS );// Actualizar Contenido peligroso se aprovecha de la falta de validación para ejecutar contenido en el cliente <input type= button onclick= validarpin() value= Actualizar /> La función de validación del PIN construye código Javascript que luego es ejecutado function validarpin(){ var pin = document.getelementbyid( pin ); if (!IsNumber(pin.value)){ //Enviar formulario } else { eval( alert( El PIN: +pin.value+ es incorrecto ) ); } } alert( El PIN: 123 ); alert( XSS ); // es incorrecto )

Protección contra XSS Validación de Entradas Filtrado Listas blancas (Whitelisting) Codificación de salidas (Encoding) HTML Encoding URL Encoding Javascript Encoding Input Cliente Archivos de configuración Bases de datos Server Validaciones Codificación Output Cliente Logs Bases de datos

Protección contra XSS Input Ataque: <script> alert( XSS ) </script> <div> Defacement </div> Server Whitelisting: Países, Colores Input Validation / Sanitization: RegEx es tu aliado Encoding: HTML, JS, URL Output Ataque?: <script> alert(&#39;xss&#39;) </script> <div> Defacement </div>

A3 Pérdida de Autenticación y Gestión de Sesiones Las funciones de la aplicación relacionadas a autenticación y gestión de sesiones son frecuentemente implementadas incorrectamente, permitiendo a los atacantes comprometer contraseñas, llaves, token de sesiones, o explotar otras fallas de implementación para asumir la identidad de otros usuarios.

Credenciales y Sesiones Credenciales fáciles de adivinar o de sobrescribir por medio de métodos débiles de administración Creación de cuentas, cambio de contraseñas, restablecer contraseñas, IDs de sesion predecibles IDs de sesión expuestos en el URL (URL rewriting) IDs de sesión vulnerables a ataques de fijación de sesión (session fixation) Expiración de sesiones y su cierre Rotar los identificadores de sesiones después de una autenticación correcta

Credenciales y Sesiones No enviar información sensible en el URL http://example.com/accion; jsessionid=2p0oc2jdpxm0oqsndlpskhcjun2jv?parametro=valor No almacenar información sensible en Cookies Cookie: User=Juanito Cookie: Password=123 Complejidad de contraseñas y nomenclatura de ID de usuarios Administrador: User = admin User = m4r Contraseña: 123, Mario!3vdg$&*hd

Prevención Un único conjunto de controles de autenticación fuerte y gestión de sesiones: Requisitos de gestión de sesiones y autenticación definidos en el Application Security Verification Standard (ASVS) de OWASP, secciones V2 (Autenticación) y V3 (Gestión de sesiones). Tener una interfaz simple para los desarrolladores. Se debe hacer especial hincapié en evitar vulnerabilidades de XSS que podrían ser utilizadas para robar identificadores de sesión.

A4 Referencia Directa Insegura a Objetos Una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a un objeto de implementación interno, tal como un fichero, directorio, o base de datos. Sin un chequeo de control de acceso u otra protección, los atacantes pueden manipular estas referencias para acceder datos no autorizados.

Insecure Direct Object References (idor) Verificar que todas las referencias a objetos tienen las protecciones apropiadas, considerar: Referencias directas a recursos restringidos, verificar si el usuario está autorizado a acceder al recurso en concreto que solicita. Objetos de implementaciones internas, como archivos, directorios, registros de bases de datos o llaves

Insecure Direct Object References (idor) Ejemplo1: Consulta de transacción A http://example.com/vertrans?idt=205683 Consulta de transacción X http://example.com/vertrans?idt=205684 Decidir si la transacción X es un problema o no es difícil de comprobar por medio de análisis dinámicos de vulnerabilidades Ejemplo2: Paso 1 de un asistente web http://example.com/paso1?codigo=1234 Paso 2 del asistente web http://example.com/paso2?siguientepaso=valor Se puede llegar al paso dos sin pasar por validaciones del paso uno?

A5 Falsificación de Peticiones en Sitios Cruzados (CSRF) Un ataque CSRF obliga al navegador de una victima autenticada a enviar una petición HTTP falsificado, incluyendo la sesión del usuario y cualquier otra información de autenticación incluida automáticamente, a una aplicación web vulnerable. Esto permite al atacante forzar al navegador de la victima para generar pedidos que la aplicación vulnerable piensa son peticiones legítimas provenientes de la victima.

Cross Site Request Forgery (CSRF o XSRF) Verificar si cada enlace, y formulario, contiene un token no predecible para cada usuario. Si no se tiene dicho token, los atacantes pueden falsificar peticiones. Se debe concentrar el análisis en enlaces y formularios que invoquen funciones que permitan cambiar estados. Tales funciones son los objetivos más importantes que persiguen los ataques CSRF.

Cross Site Request Forgery (CSRF o XSRF) Victima Estimado Cliente, Por motivos de seguridad requerimos que actualice su perfil, siga los siguientes pasos: 1 Inicie sesión en nuestra plataforma 2 Presione el siguiente enlace para actualizar su perfil: Actualizar Muchas gracias Atacante Servidor

Cross Site Request Forgery (CSRF o XSRF) Victima Atacante http://example.com/actualizar?correo=maloso@evil.com Servidor

Cross Site Request Forgery (CSRF o XSRF) Victima Para restablecer su contraseña ingrese su correo electrónico: maloso@evil.com Atacante Enviar Servidor

Protección contra CSRF Cliente inicia sesión y solicita el formulario El servidor envía el formulario incluyendo token Cliente Envío del formulario y el servidor valida el token Servidor Bajo este escenario un enlace enviado por un atacante no podría incluir el token válido debido a que es único y generado cuando el usuario real inicia sesión

A6 Defectuosa configuración de seguridad Una buena seguridad requiere tener definida e implementada una configuración segura para la aplicación, marcos de trabajo, servidor de aplicación, servidor web, base de datos, y plataforma. Todas estas configuraciones deben ser definidas, implementadas, y mantenidas ya que por lo general no son seguras por defecto. Esto incluye mantener todo el software actualizado, incluidas las librerías de código utilizadas por la aplicación.

Configuraciones inseguras Se requiere un proceso concertado, repetible y replicable; para desarrollar y mantener una correcta configuración de seguridad de la aplicación. Ejemplos: Plataformas vulnerables sin los últimos parches de seguridad Configuraciones iniciales o funciones innecesarias activadas Usuarios de sistema operativo o bases de datos con permisos excesivos

Prevenir configuraciones inseguras Los programas de auditoría de seguridad son por lo general buenos para abarcar grandes cantidades de pruebas para detectar la falta de parches de seguridad así como la existencia de configuraciones por defecto, la verificación manual posteriormente será una responsabilidad muy importante por parte del profesional de seguridad.

A7 Almacenamiento Criptográfico Inseguro Muchas aplicaciones web no protegen adecuadamente los datos sensibles, tales como tarjetas de crédito, SSNs, y credenciales de autenticación con mecanismos de cifrado o hashing. Atacantes pueden modificar o robar tales datos protegidos inadecuadamente para conducir robos de identidad, fraudes de tarjeta de crédito u otros crímenes.

Cifrado de datos almacenados Identificar si los datos son sensibles y requieren cifrado. (contraseñas, tarjetas de crédito, datos médicos e información personal) Está cifrado en todos aquellos lugares donde es almacenado durante periodos largos. Sólo usuarios autorizados tienen acceso a los datos descifrados Utilice un algoritmo estándar seguro. Genere una clave segura, protéjala ante accesos no autorizados y elabore un plan para el cambio de claves ASVS requirements on Cryptography (V7)

A8 - Falla de Restricción de Acceso a URL Muchas aplicaciones web verifican los privilegios de acceso a URLs antes de generar enlaces o botones protegidos. Sin embargo, las aplicaciones necesitan realizar controles similares cada vez que estas páginas son accedidas, o los atacantes podrán falsificar URLs para acceder a estas páginas igualmente.

Falla de Restricción de Acceso a URL Verificar que el acceso a cada pagina con o sin sesiones autenticadas es el correcto Controles de autorización deben funcionar adecuadamente Un error común es suponer que al desconocerse una ubicación es suficiente para asumir que es segura Ejemplo: http://example.com/admin.php Aunque en ningún sitio de la aplicación exista un enlace a una ubicación no implica que no pueda ser adivinada

A9 Protección Insuficiente en la capa de Transporte Las aplicaciones frecuentemente fallan al autenticar, cifrar, y proteger la confidencialidad e integridad de tráfico de red sensible. Cuando esto ocurre, es debido a la utilización de algoritmos débiles, certificados expirados, inválidos, o sencillamente no utilizados correctamente.

Protección Insuficiente en la capa de Transporte (TLS) Se utiliza SSL para proteger todo el tráfico relacionado con la autenticación? (Contra ataques MiTM) Se utiliza SSL para todos los recursos de páginas y servicios privados? Se debe evitar el acceso SSL únicamente a determinados recursos de una página ya que esto provoca advertencias en el navegador y puede exponer el identificador de sesión de los usuarios. Sólo se soportan algoritmos considerados fuertes. Todas las cookies de sesión tienen el atributo secure activado. El certificado debe ser legítimo y estar configurado correctamente para este servidor. Un usuario acostumbrado a lidiar con mensajes de error en su sitio perderá la desconfianza a un sitio falso con las mismas características

A10 Redirecciones y Reenvíos no validados Las aplicaciones web frecuentemente redirigen y reenvían a los usuarios hacia otras páginas o sitios web, y utilizan datos no confiables para determinar la página de destino. Sin una validación apropiada, los atacantes pueden redirigir a las víctimas hacia sitios de phishing o malware, o utilizar reenvíos para acceder páginas no autorizadas.

Redirecciones o reenvíos (Open Redirects) Bajo que circunstancias puede ser importante utilizar datos provenientes del cliente para ser utilizados para una redirección? Es una práctica común disponer de una página para redireccionar al usuario en caso de error o de que algo adicional sea requerido: http://www.example.com/redirect.jsp?url=evil.com Para ese caso se debe considerar si la validación se produce en el cliente o en el servidor, si es en el servidor porque es enviada al cliente? Porque guardar la ubicación en un input hidden y no en una variable de sesión en el servidor? De ser absolutamente requerido utilizar datos del cliente para la redirección, se debe realizar la validación correcta de hacia donde se enviará al usuario

Próximos pasos Requisitos de seguridad de la aplicación Arquitectura de seguridad de la aplicación Estándares de controles de seguridad Ciclo de vida de desarrollo seguro (SSDLC) Formación sobre seguridad en aplicaciones Adoptar metodologías de revisión (ej: ASVS): Revisión de Código, Scanners, PenTesting No basta con el OWASP Top Ten