1 :Broken access control

Control de acceso roto

El control de acceso ,que los usuarios no pueden actuar fuera de sus permisos previstos. Los fallos suelen dar lugar a accesos no autorizados. divulgación de información, modificación o destrucción de todos los datos o realizar una función comercial fuera de los límites del usuario.

Acceso común Las vulnerabilidades de control incluyen:

  • Violación del principio de privilegio mínimo o denegación por defecto, donde el acceso sólo debe otorgarse para capacidades particulares, roles o usuarios, pero está disponible para cualquiera.

  • Eludir las comprobaciones de control de acceso modificando la URL (parámetro manipulación o navegación forzada), el estado interno de la aplicación o el página HTML o mediante el uso de una herramienta de ataque que modifique las solicitudes de API.

  • Permitir ver o editar la cuenta de otra persona, proporcionando su identificador único (referencias directas a objetos inseguros)

  • Accediendo a API a la que le faltan controles de acceso para POST, PUT y DELETE.

  • Elevación de privilegios. Actuar como usuario sin haber iniciado sesión o actuando como administrador cuando inicia sesión como usuario.

  • Manipulación de metadatos, como reproducir o alterar un JSON Token de control de acceso Web Token (JWT), o una cookie o un campo oculto manipulado para elevar privilegios o abusar de la invalidación de JWT.

  • La configuración incorrecta de CORS permite el acceso a API desde personas no autorizadas/no confiables orígenes.

  • Forzar la navegación a páginas autenticadas como usuario no autenticado o a páginas privilegiadas como usuario estándar.

Ejemplos de escenarios de ataque

Escenario #1: La aplicación utiliza datos no verificados en una llamada SQL que está accediendo a la información de la cuenta:

 pstmt.setString(1, request.getParameter("acct"));
 ResultSet results = pstmt.executeQuery( );

Un atacante simplemente modifica la "cuenta" del navegador. parámetro a enviar cualquier número de cuenta que quieran. Si no se verifica correctamente, el El atacante puede acceder a la cuenta de cualquier usuario.

 https://example.com/app/accountInfo?acct=notmyacct

Escenario n.º 2: Un atacante simplemente fuerza la navegación a las URL de destino. Administración Se requieren derechos para acceder a la página de administración.

 https://example.com/app/getappInfo
 https://example.com/app/admin_getappInfo

Si un usuario no autenticado puede acceder a cualquiera de las páginas, se trata de un defecto. si un los no administradores pueden acceder a la página de administración, esto es un defecto.

Lista de Mapeados CWEs

CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CWE-23 Relative Path Traversal

CWE-35 Path Traversal: '.../...//'

CWE-59 Improper Link Resolution Before File Access ('Link Following')

CWE-200 Exposure of Sensitive Information to an Unauthorized Actor

CWE-201 Exposure of Sensitive Information Through Sent Data

CWE-219 Storage of File with Sensitive Data Under Web Root

CWE-264 Permissions, Privileges, and Access Controls (should no longer be used)

CWE-275 Permission Issues

CWE-276 Incorrect Default Permissions

CWE-284 Improper Access Control

CWE-285 Improper Authorization

CWE-352 Cross-Site Request Forgery (CSRF)

CWE-359 Exposure of Private Personal Information to an Unauthorized Actor

CWE-377 Insecure Temporary File

CWE-402 Transmission of Private Resources into a New Sphere ('Resource Leak')

CWE-425 Direct Request ('Forced Browsing')

CWE-441 Unintended Proxy or Intermediary ('Confused Deputy')

CWE-497 Exposure of Sensitive System Information to an Unauthorized Control Sphere

CWE-538 Insertion of Sensitive Information into Externally-Accessible File or Directory

CWE-540 Inclusion of Sensitive Information in Source Code

CWE-548 Exposure of Information Through Directory Listing

CWE-552 Files or Directories Accessible to External Parties

CWE-566 Authorization Bypass Through User-Controlled SQL Primary Key

CWE-601 URL Redirection to Untrusted Site ('Open Redirect')

CWE-639 Authorization Bypass Through User-Controlled Key

CWE-651 Exposure of WSDL File Containing Sensitive Information

CWE-668 Exposure of Resource to Wrong Sphere

CWE-706 Use of Incorrectly-Resolved Name or Reference

CWE-862 Missing Authorization

CWE-863 Incorrect Authorization

CWE-913 Improper Control of Dynamically-Managed Code Resources

CWE-922 Insecure Storage of Sensitive Information

CWE-1275 Sensitive Cookie with Improper SameSite Attribute

Recursos

Recursos

OWASP Top 10: Broken Access Control

Packet Labs: Broken Access Control

Última actualización