Ethical Hacking

ETHICAL HACKING

VULNERABILIDADES DE APLICACIONES

Cross Site Scripting (XSS)

Los XSS ocurren cada vez que una aplicación coge los datos suministrados por el usuario y los envía sin primero validar o codificar ese contenido. XSS permite a los atacantes ejecutar scripts en el navegador de la víctima que pueden obtener las sesiones del usuario, desfigurar los sitios webs, introducir posiblemente gusanos, etc.

Injection Flaws

Los fallos de inyección, particularmente la inyección SQL, son comunes en aplicaciones web. La inyección ocurre cuando los datos suministrados por el usuario son enviados a un intérptrete como parte de un comando o consulta. Los datos hostiles de los atacantes trucan el intérprete ejecutando comandos involuntarios y cambiando datos.

Malicious File Execution

El código vulnerable a la inclusión remota de archivos (IRF) permite a los atacantes incluir código y datos hostiles, resultando en ataques devastadores, como el compromiso total del servidor. Estos ataques malignos afectan a PHP, XML y cualquier framework que acepte nombre de archivos o archivos por los usuarios.

Insecure Direct Object Reference

Una referencia a objeto directa ocurre cuando un desarrollador expone una referencia a un objeto de implementación interno, como un archivo, directorio, registro de base de datos, o clave, como una URL o parámetro de un formulario. Los atacantes pueden manipular esas referencias para acceder a otros objetos sin autorización.

Cross Site Request Forgery (CSRF)

Un ataque CSRF fuerza un registro del navegador de la víctima a enviar una respuesta pre-autenticada a una aplicación web vulnerable, la cual fuerza entonces al navegador de la víctima a realizar una acción hostil en beneficio del atacante. El CSRF puede ser tan poderoso como la aplicación web a la que ataca.

Information Leakage and Improper Error Handling

Las aplicaciones pueden mostrar sin intención información sobre su configuración, funcionamientos internos, o violación de la privacidad a través de una variedad de problemas de la aplicación. Los atacantes utilizan esta debilidad para robar datos sensibles, o dirigirse a ataques más serios.

Broken Authentication and Session Management

Las credenciales de la cuenta y las cadenas de la sesión a menudo no son protegidas correctamente. Los atacantes comprometen contraseñas, claves o cadenas de autenticación para asumir las identidades de otros usuarios.

Insecure Cryptographic Storage

Las aplicaciones web raramente utilizan funciones criptográficas correctamente para proteger los datos y las credenciales. Los atacantes utilizan los datos debilmente protegidos para realizar robo de identidad y otros crímenes, tales como fraudes con tarjetas de créditos.

Insecure Communications

Las aplicaciones frecuentemente fallan al cifrar el tráfico de la web cuando es necesario proteger las comunicaciones sensibles.

Failure to Restrict URL Access

Con frecuencia, una aplicación solo protege la funcionalidad sensible no mostrando los enlaces o URLs a usuarios no autorizados. Los atacantes pueden usar esta debilidad para tener acceso y realizar operaciones no autorizadas al acceder a estas URLs directamente.

VULNERABILIDADES DE APLICACIONES WEB

En la actualidad el crecimiento de internet ha impactado directamente en la seguridad de la información manejada cotidianamente. Sitios de comercio electrónico, servicios, bancos e incluso redes sociales contienen información sensible que en la mayoría de los casos resulta ser muy importante. Se puede decir que uno de los puntos más críticos de la seguridad en Internet son las herramientas que interactúan de forma directa con los usuarios, en este caso los servidores web. Es común escuchar sobre fallas en los sistemas de protección de los servidores más frecuentemente utilizados, por ejemplo Apache, NGINX, IIS, etc. (Build With, 2016) O en los lenguajes de programación en que son escritas las aplicaciones. Sin embargo, la mayoría de los problemas detectados en servicios web no son provocados por fallas de ninguna de estas partes, si no que los problemas se generan por malas prácticas de parte de los programadores. Debemos entender que programar aplicaciones web seguras no es una tarea fácil, ya que requiere por parte del programador, no sólo cumplir con el objetivo funcional básico de la aplicación, sino una concepción general de los riesgos que puede correr la información procesada por el sistema.