Este documento trata sobre hacking y defensa de aplicaciones web. Explica diferentes amenazas como inyección SQL, Cross-Site Scripting y buffer overflow. También presenta herramientas de hacking como Burp y medidas de defensa como validación de datos de entrada, eliminación de tags HTML y limites de longitud de buffers. Finalmente, recomienda seguir las normas OWASP para el desarrollo seguro de aplicaciones web.
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Aplicaciones Web Seguras: Amenazas y Medidas de Defensa
1. HACKEO Y DEFENSA PARA APLICACIONES WEB PRESENTADO POR: ABEL ESTRELLA HUANCAYO
2.
3. DESARROLLO Configuración de la aplicación Web Aplicación Web Hacking Amenazas de Aplicaciones Web Desarrollo de un Ataque Medidas de Defensa Herramientas de Hacking de Aplicaciones Web
6. APLICACIONES WEB HACKING Clonación de sitios web Robo de tarjeta de crédito información Aprovechamiento del lado del servidor scripting La explotación de desbordamientos de búfer Ataques al Servidor de Nombres de Dominio (DNS). Empleo de códigos maliciosos Denegación de Servicio Destrucción de datos
7. DESARROLLO DE UN ATAQUE ESCANEO RECOPILACION DE INFORMACIÓN REALIZAR PRUEBAS O TESTEO PLANIFICACIÓN DE ATAQUE INICIO DEL ATAQUE
17. Medidas Validar todas las cabeceras, las cookies, las cadenas de consulta, los campos del formulario, y campos ocultos (es decir, todos los parámetros) en contra de un riguroso especificación. Adoptar una estricta política de seguridad Filtrado de salida la secuencia de comandos también para afrontar a las vulnerabilidades de XSS evitando que se transmiten a los usuarios. Eliminando Html_tags Codificando los htmltags Validando http_referer
18. Injection Un ataque típico es la inyección: variar significado sentencia (en nuestro beneficio) Las aplicaciones web necesitan guardar datos RDBMS (MySQL, MS-SQL, PostgreSQL, Oracle...) LDAP … XML SQL Injection LDAP Injection XPath Injection
23. Medidas El primer paso para prevenir los ataques basados en SQL injection es ser consciente de que un usuario no siempre va a proporcionarte la entrada que tu piensas. El segundo paso es realizar algo que es básico en seguridad: validación de datos. Para cada dato sea cual sea, proveniente de un usuario de la aplicación debemos asegurarnos de que sea válido y del tipo adecuado.
26. Medidas No guarde en texto plano o contraseña cifrada débil en un cookie. Implementar eliminación de cookies por tiempo. Las cookies de autenticación de credenciales debería estar asociada con una dirección IP. Hacer salir funciones disponibles.
28. Medidas Validar formularios de entrada de longitud. Comprobar los límites y mantener un cuidado especial cuando se utiliza a los bucles al momento de realizar copiado de los datos. StackGuard y StackShield para Linux son herramientas para la defensa de programas y sistemas.
37. Ejemplos Bajar un archivo: wget http://www.inti.gov.ar/index.html Bajar un archivo del cual ya bajamos una parte con otro programa: wget -c http://www.inti.gov.ar/index.html Bajar el directorio completo de http://www.debian.org/~jules/gnome-stage-2/dists/unstable/main/binary-i386/ donde estan unos .deb que queremos bajarnos: Wget -r -A=.html,.deb -nc -nphttp://www.debian.org/~jules/gnome-stage-2/dists/unstable/main/binary-i386/ Bajar un archive de Ftp: wget ftp://username:password@ftp.example.net/somedir/somefile El mismo archive con password adicional: Wget ftp://ftp.example.net/somefile --ftp-user=username --ftp-password= ”password”
42. OWASP” (Open Web Application Security Project La "seguridad gracias al desconocimiento" no funciona. Verificación de privilegios Ofrecer la mínima información consideraciones de arquitectura, mecanismos de autenticación, gestión de sesiones de usuario, control de acceso, registro de actividad, prevención de problemas comunes, consideraciones de privacidad y criptografía. Validación de la entrada y salida de información . Diseños simples . Utilización y reutilización de componentes de confianza Defensa en profundidad Tan seguros como el eslabón más débil
43. CONCLUSIONES Ningún Lenguaje de programación puede prever código inseguro, aunque dentro de sus características permita el bloqueo de información confidencial y relevante. El no uso de herramientas lógicas, ya sea firewall, verificaciones de las aplicaciones web, depuraciones, permitirán la mayor vulnerabilidad de estas. El mayor uso plataformas web, por la diversidad de empresas y para todo tipo de servicios, donde las aplicaciones web tienen el papel más importante, convirtiéndolo en la interfaz de comunicación entre empresas y clientes, por ello de su implementación con estándares de seguridad. A la par que avanzan las aplicaciones web, el avance del hackeo va en paralelo.
44. RECOMENDACIONES Tener Buenas prácticas para el uso de internet es decir: usar contraseña en el equipo (router) de conexión a internet Establecer mejores prácticas de uso de internet tales como navegar en sitios conocidos/seguros, evitar dar click a links enviados por otros usuarios, evitar abrir correos electrónicos de fuentes desconocidas Utilizar una herramienta Antivirus con Firewall personal, detector de intrusos y soluciones Anti-Spam y Anti-Phishing Es importantísimo crear aplicaciones web con, por lo menos, un nivel mediano y alto de seguridad. Seguir el desarrollo de proyectos y normas para Aplicaciones Web Abiertas como el caso de Guía OWASP” (Open Web Application Security Project).