¿Cómo debo interpretar que "los controles de acceso en la capa de presentación se aplican en el lado del servidor?

0

Esta pregunta es con referencia al estándar OWASP (las reglas de control de acceso en la capa de presentación se aplican en el lado del servidor - OWASP ASVS 3.0 - 4.9)

Estoy tratando de entender profundamente lo que significa para poder comunicárselo a un colega menos técnico.

He considerado un ejemplo: si el control no se aplica, entonces una página web no permitirá que un usuario cambie una contraseña, pero sí permite enviar una cadena de PHP que forzará la función de cambio de contraseña a medida que la página esté codificada. para cambiar las contraseñas.

Creo que es un poco difícil de entender y no creo que sea el mejor ejemplo.

¿Alguna sugerencia sobre la mejor manera de interpretar esto? ¿Algún ejemplo de no adherirse a esta norma?

    
pregunta ellefc 31.10.2018 - 12:22
fuente

2 respuestas

1

Simplemente reitera la regla más básica de la seguridad en Internet: nunca confíe en nada del cliente (también conocido como capa de presentación, navegador, etc.). Dado que la "capa de presentación" opera en un sistema externo (es decir, la computadora de la persona que navega por su sitio web), el servidor / sitio web no tiene control sobre lo que sucede allí y, por lo tanto, no puede confiar en nada de lo que dice. Como resultado, debe volver a verificar todo por sí mismo. Un ejemplo debería ayudar.

Imagina que tienes un portal de usuarios, y hay un portal de administración que es solo para los usuarios que han recibido permiso. La capa de presentación "impone" esta restricción de acceso simplemente no muestra un enlace a la sección de administración si no es un administrador. Esto, por sí mismo, no es un control de acceso suficiente. El propio servidor tiene que hacer cumplir ese control de acceso y denegar el acceso al sistema de administración a cualquier persona que no sea un administrador. Si no lo hace, entonces cualquier usuario puede acceder al sistema de administración simplemente escribiendo su ubicación en su navegador y automáticamente obtener acceso al sistema de administración. Este es un ejemplo simple, pero también el más común:

  • Capa de presentación: no muestra enlaces a áreas que el usuario no tiene acceso a
  • lado del servidor: rechazar una solicitud a un área que el usuario no tiene acceso a

Si solo haces lo primero, tienes un problema.

Así que ese es el breve resumen. El servidor no puede confiar en nada de lo que dice el navegador porque un atacante tiene control total sobre lo que dice el navegador (de hecho, es posible que ni siquiera estén usando un navegador, sino que simplemente simulen serlo). Por lo tanto, el servidor tiene que verificar todo por sí mismo.

    
respondido por el Conor Mancone 31.10.2018 - 12:42
fuente
0

Un ejemplo sería cuando el servidor envía más datos al cliente de lo que el cliente pretende mostrar al usuario. Debido a que el cliente puede ser manipulado de una manera que el servidor no puede, debe asumir que cualquier cosa enviada al cliente podría ser vista por el usuario.

Digamos que John Smith va a Amazon y hace clic en "Mis pedidos". Si el servidor envió una respuesta JSON que contiene pedidos para cada usuario con el apellido "Smith", y el javascript que se ejecuta en el navegador web fue responsable de filtrarlo y solo mostrar los elementos de "John". entonces este es un caso en el que la capa de presentación se aplica en el lado del cliente. El problema de seguridad es que el usuario puede manipular el software del cliente (ya sea alterar el javascript o usar un proxy MITM) para ver todos los datos, y no solo el código de presentación del cliente. revelar.

He visto pequeños ejemplos a lo largo de los años, pero ninguno lo suficientemente grande como para ser documentado como referencia. Este es el tipo de error que se encuentra más comúnmente en paquetes de software pequeños y menos profesionales.

    
respondido por el gowenfawr 31.10.2018 - 12:42
fuente

Lea otras preguntas en las etiquetas