
Para preservar la privacidad y la seguridad de los datos es imperativo que las empresas busquen protección contra estas vulnerabilidades comunes de las aplicaciones web
Control de acceso dañado
Los controles de acceso son responsables de cómo los usuarios interactúan con los recursos y los datos, así como de lo que pueden editar y / o leer. Una vulnerabilidad de control de acceso defectuoso es posible cuando el usuario puede utilizar los datos de una manera que es realmente innecesaria. Por ejemplo, si el usuario solo debería ser capaz de leer los detalles de pago, pero en realidad tiene la capacidad de editarlos, tal situación ejemplifica un control de acceso roto. Los atacantes malintencionados aprovechan esta vulnerabilidad para obtener acceso no autorizado a software, redes y sistemas. Luego pueden aprovechar la situación, otorgar al ID de usuario más acceso dentro de la infraestructura, para comprometer la disponibilidad, la confidencialidad o la integridad de los datos.
Autenticación dañada
Las vulnerabilidades de las aplicaciones web asociadas con la autenticación dañada o rota también se derivan del acceso de los usuarios. En este caso, sin embargo, los atacantes malintencionados impactan negativamente los datos que confirman la identidad de un usuario, por ejemplo, mediante el secuestro de tokens de sesión, claves o contraseñas. El atacante malintencionado obtiene acceso no autorizado al software, los sistemas y las redes porque la organización no pudo establecer adecuadamente los controles adecuados de administración de identidad y acceso.
Inyección de retorno de carro y avance de línea (CRLF)
El retorno de carro actúa como un comando que denota el comienzo de una línea de código, normalmente indicado como / r. El avance de línea, por otro lado, es un comando que denota el final de una línea de código, normalmente indicado como / n. Al igual que otros programas de software, cada sistema operativo utiliza distintas combinaciones de retorno de carro y avance de línea. Cuando los atacantes malintencionados están involucrados en las inyecciones de CRLF, el código ingresado altera la forma en que la aplicación web reacciona a los comandos. Esto puede usarse para revelar datos confidenciales o ejecutar código.
Transformación de cifrado insegura
Cipher, que es un término estándar para "algoritmo de cifrado", es en realidad la matemática detrás de un proceso de cifrado o descifrado. La transformación se refiere al esquema de operaciones que se llevan a cabo en los insumos para entregar el resultado esperado. Por lo tanto, una transformación de cifrado se refiere al número de operaciones que convierten datos cifrados ilegibles en datos descifrados y legibles. Una vulnerabilidad insegura de transformación de cifrado describe que el algoritmo de cifrado se puede romper fácilmente, saboteando en última instancia la esencia del cifrado en primera instancia.
Componentes con vulnerabilidades obvias
Cada aplicación web depende de otros componentes para funcionar. Por ejemplo, si está operando una aplicación en un servidor web o de aplicaciones sin parches, el servidor es la parte con vulnerabilidades obvias. La lista Common Vulnerabilities and Exposures (CVE) comprende todas las vulnerabilidades de seguridad conocidas. Debido a que los atacantes malintencionados conocen la lista, con frecuencia buscan componentes sin las actualizaciones de parches de seguridad adecuadas. En el momento en que pueden infiltrarse en un componente de la aplicación web, también pueden obtener acceso a los datos de la aplicación.
Política de intercambio de recursos de origen cruzado (CORS)
Todas las aplicaciones basadas en web utilizan una URL como medio para conectar el navegador del usuario a su servidor. La Política de Mismo Origen es una protección común. De acuerdo con esto, el servidor responderá solo a una URL con el mismo protocolo, esquema de ruta y nombre de dominio de nivel superior. Esto significa que puede acceder a http://organization.com/page1 y http://organization.com/page2 porque ambos comparten lo siguiente:
- Protocolo: HTTP
- Dominio: Company.com
- Esquema de ruta: / page #
Si bien es segura, la Política del mismo origen es restrictiva cuando se trata de aplicaciones basadas en web que requieren acceso a recursos que se conectan a terceros o subdominios.
Una política de CORS concede permiso al navegador para ver estos recursos interrelacionados mediante el establecimiento de una serie de encabezados HTTP permitidos que se consideran "de confianza". Por ejemplo, una aplicación podría tener que extraer datos de dos bases de datos en servidores web separados. La redacción de una lista "permitida" en particular se convierte en un trabajo excesivo ya que incluye servidores adicionales. Dado que ambos servidores están "compartiendo" la aplicación, la empresa escribe una política CORS que permite que los navegadores se conecten a ambos. Sin embargo, si una política CORS no está definida correctamente, entonces la política puede permitir que los servidores otorguen acceso cuando lo solicite un atacante malintencionado.
Gestión de credenciales
Las credenciales de usuario comprenden una identificación de usuario y una clave de acceso. El usuario debe proporcionar ambos elementos de información en la página de inicio de sesión antes de obtener acceso a una aplicación. Sin embargo, las bases de datos tienden a utilizar un cifrado débil o mantener la información en texto plano. La gestión deficiente de las credenciales permite a los atacantes robarlas fácilmente y explotarlas para obtener acceso a las aplicaciones web.
Falsificación de solicitudes entre sitios (CSRF)
Un ataque CSRF utiliza metodologías de ingeniería social para impulsar a un usuario a modificar información, como contraseñas o nombres de usuario, en una aplicación. Un CSRF, a diferencia de los ataques de secuencias de comandos entre sitios (XXS) o el malware, requiere que un usuario inicie sesión en la aplicación que utiliza solo cookies de sesión para validar las solicitudes de los usuarios o realizar un seguimiento de las sesiones. En el momento en que el usuario realiza la acción anticipada, el actor malintencionado usa el navegador para ejecutar la parte restante del ataque, como mover fondos, sin que el usuario sepa qué sucedió.
Secuencias de comandos entre sitios (XXS)
A diferencia de un CSRF que requiere que el usuario inicie sesión en una aplicación para ser engañado y cambiar cierta información, un ataque XXS requiere que el atacante malintencionado ingrese código en una página web, generalmente en algunos componentes de la página, como una imagen. Una vez que un usuario inicia la página web en su navegador, el código incorrecto comienza a descargarse y ejecutarse en el navegador. Por ejemplo, el código malicioso puede redirigir al usuario de un sitio creíble a uno ilegítimo.
Indexación de directorios
Por lo general, los servidores web describen todos los archivos guardados en ellos en un solo directorio. Cuando un usuario desea ubicar un archivo en particular en una aplicación web, generalmente agrega el nombre del archivo en la solicitud. En el caso de que el archivo no esté disponible, la aplicación le presentará al usuario una lista de todos los archivos indexados, para que el usuario tenga la opción de seleccionar otra cosa.
Sin embargo, los servidores web indexan automáticamente los archivos. Cuando la aplicación presenta una lista de todos los archivos almacenados, un atacante malintencionado que se aprovecha de las vulnerabilidades en el índice del directorio puede obtener acceso a datos que pueden brindarle más información sobre el sistema. Por ejemplo, pueden familiarizarse con las cuentas de usuarios personales o las convenciones de nomenclatura. Estos dos puntos de datos pueden explotarse para llevar a cabo ataques de robo de credenciales o desentrañar información confidencial.
Cruce de directorio
También conocida como ataque de retroceso, punto-punto-barra y escalada de directorio, la vulnerabilidad de recorrido de directorio explota la forma en que una aplicación recibe datos del servidor web. Las listas de control de acceso (ACL) generalmente restringen el acceso de los usuarios a determinados archivos dentro de un directorio raíz. Los atacantes malintencionados que utilizan el modo de vulnerabilidad de recorrido de directorio averiguan el formato de URL que utiliza la aplicación para solicitar archivos.
Encapsulamiento
A diferencia de algunas de las otras vulnerabilidades de aplicaciones web comunes en la lista, la vulnerabilidad de encapsulación aprovecha las fallas en la forma en que un desarrollador ha codificado la aplicación. La encapsulación es un término de programación que se refiere a agrupar datos y acciones que se pueden realizar en esos datos en una sola unidad. La encapsulación protege los datos al ocultar información sobre cómo se ejecuta el código, lo que ofrece una mejor interfaz de usuario. Los usuarios no tienen que saber cómo la aplicación les entrega datos; todo lo que necesitan es acceder a él.
Por ejemplo, un desarrollador de aplicaciones puede incluir controles de acceso, como permisos de lectura o escritura, en la capacidad de una aplicación para recuperar datos. Si el usuario solicita información en la aplicación, esta entrega solo los datos a los que se le ha permitido acceder.
Pero si los desarrolladores no logran establecer límites claramente definidos entre los datos y las acciones realizadas en varios aspectos de la aplicación, la aplicación sufre una vulnerabilidad de encapsulación. Los atacantes se aprovechan de esto enviando una solicitud a la aplicación, sabiendo que tal acción resultaría en un mensaje de error. Este mensaje de error proporciona información sobre la estructura de la aplicación, ayudando a más estrategias de ataque como DOS - denegación de servicio.
strong>Referencias de objeto directo inseguras (IDOR)
Las URL de las aplicaciones web son capaces de exponer el patrón o formato empleado para dirigir a los usuarios a ubicaciones de almacenamiento de back-end. Por ejemplo, una URL puede mostrar el patrón / formato de un identificador de registro en un sistema de almacenamiento como un sistema de archivos o una base de datos.
El IDOR por sí solo podría ser una preocupación de bajo riesgo. Sin embargo, cuando un IDOR se combina con una verificación de control de acceso fallida, los atacantes tienen la oportunidad de atacar con éxito.
Otras vulnerabilidades comunes de las aplicaciones web que debe conocer son:
División de respuesta HTTP
Este es un tipo de ataque de inyección de CRLF. HTTP es el proceso mediante el cual los navegadores envían consultas y los servidores devuelven las respuestas. En esta vulnerabilidad de la aplicación web, los atacantes maliciosos hacen uso de las notaciones CR y LR para manipular cómo los navegadores y servidores se comunican entre sí, lo que entrega una solicitud pero le dice al servidor que "divida" la respuesta en varias partes. Dividir la respuesta en dos partes diferentes permite al actor malintencionado obtener control sobre la información que el servidor entrega en respuesta a la otra parte de la solicitud. Cuando dichos datos solicitados son datos de identificación de usuario o información confidencial, el actor malintencionado ha realizado el ataque con éxito.
Defecto de inyección
Un defecto de inyección permite una plétora de diversas técnicas de ataque. Cualquier aplicación que permita a los usuarios actualizar el comando de shell, la llamada al sistema operativo o una base de datos puede sufrir una falla de inyección. Los atacantes malintencionados aprovechan las fallas de inyección para alterar los comandos que se convierten en acciones nuevas e inesperadas dentro de la aplicación. Al aprovechar estas vulnerabilidades, los actores malintencionados pueden crear, actualizar, leer o incluso eliminar datos.
Vulnerabilidad insegura de resumen de mensajes
Se trata de una vulnerabilidad criptográfica que limita la eficacia del cifrado. Un resumen de mensaje debe incluir la función hash criptográfica. A diferencia del cifrado, las funciones hash no requieren que el remitente y los usuarios utilicen claves.
Los atacantes malintencionados se aprovechan de las vulnerabilidades de digestión insegura para perpetuar el "ataque de colisiones hash". El objetivo del ataque es averiguar si el envío de una entrada conduce a la generación de un hash duplicado. Si la acción maliciosa genera a la fuerza un hash compartido, entonces pueden usar este hash para presentar un archivo maligno para su descarga. Esto, a su vez, deja al usuario final con la suposición de que el archivo es legítimo.
Protección insuficiente de la capa de transporte
La seguridad de la capa de transporte (TLS) se refiere al proceso mediante el cual las aplicaciones informáticas pueden "comunicarse" entre sí de forma segura en Internet. Varias aplicaciones solo utilizan TLS durante el proceso de autenticación, lo que hace que los datos y la información de la sesión de identificación sean vulnerables cuando una persona usa la aplicación.
Los atacantes pueden aprovechar esta vulnerabilidad para desviar datos a medida que se mueven a través de Internet entre el dispositivo del usuario y el servidor de aplicaciones.
Ejecución remota de código (RCE)
Las vulnerabilidades de ejecución remota de código son errores de codificación en aplicaciones web que permiten a atacantes malintencionados insertar código independientemente de su ubicación geográfica. Los RCE se incluyen en una categoría más amplia de vulnerabilidades de inyección de aplicaciones web en las que los atacantes ingresan su propio código en una aplicación que no confirmará las entradas del usuario, lo que hace que el servidor lo vea como un código de aplicación genuino. Por lo general, los atacantes malintencionados aprovecharán las vulnerabilidades conocidas sin parchear e insertarán su código en la aplicación.
Inclusión remota de archivos (RFI)
Para vincular directorios comunes a una aplicación, los desarrolladores agregan declaraciones "incluir" en su código. Por ejemplo, una aplicación podría tener que extraer datos de una base de datos. En lugar de codificarlo manualmente para obtener cada archivo, la declaración "incluir" ayuda a vincular todo el directorio de origen para que todo lo almacenado allí se pueda usar.
Cuando una aplicación web sufre una vulnerabilidad de RFI, los atacantes pueden manipular la aplicación para cargar código malicioso o malware en la base de datos, el servidor o el sitio web.
Configuración incorrecta de seguridad
La probabilidad de una configuración incorrecta de la seguridad es de hecho una de las vulnerabilidades de las aplicaciones web más comunes en la actualidad. Esta vulnerabilidad generalmente ocurrirá debido a que una organización no modifica la configuración de seguridad predeterminada. Las configuraciones erróneas de seguridad comunes son:
- Hacer uso de contraseñas o cuentas predeterminadas
- Software sin parches
- Sin cifrado
- Políticas de firewall inadecuadas
- Descuidar los recursos, las funciones y otros componentes no utilizados
- inyección SQL
- SQL, que significa lenguaje de consulta estructurado , es un lenguaje de programación utilizado para bases de datos. Permite la recuperación y manipulación de datos para bases de datos relacionales. Una vulnerabilidad de inyección de SQL se encuentra en un grupo más grande de entradas de usuario no verificadas. Cuando los agentes malintencionados envían solicitudes falsas de forma deliberada, la aplicación web responde con un mensaje de error que les proporciona información sobre la estructura y protección de la base de datos.
Activación de biblioteca automática no validada
Para ahorrar tiempo al codificar, los desarrolladores tienden a utilizar bibliotecas de terceros. En la mayoría de los casos, esto les permite hacer uso de código previamente probado que acelera el proceso de desarrollo de la aplicación. Sin embargo, hacer uso de código de fuente abierta disponible públicamente aumenta los riesgos de seguridad, que incluyen:
La ausencia de propiedad documentada aumenta el riesgo de que se agregue un código maligno
Proyectos desatendidos que ya no se actualizan
Esta vulnerabilidad en particular es cada vez más frecuente, considerando que varias aplicaciones involucran dependencias de bibliotecas de terceros.
Gracias por visitar este sitio, espero que te haya gustado y vuelvas proximamente, compartela en las redes sociales, gracias
Fecha actualización el 2021-10-17. Fecha publicación el 2021-10-17. Categoría: vulnerabilidad Autor: Oscar olg Mapa del sitio Fuente: techfunnel