www top org descargar java security scala playframework owasp

java - org - owasp top 10 2016



playframework owasp top 10 (2)

Estoy pensando en usar Play para un proyecto a gran escala, por lo tanto, ¿alguien tiene un framework Play probado para OWASP Top 10? ¿Hay algún problema de seguridad que conozca en Play framework?


Acerca de A3, hay que tener cuidado. El juego tiene dos tipos de variables de sesión. Una es session() que está firmada digitalmente, y la otra es flash() que no está firmada. Además, ambos se almacenan en las cookies del lado del cliente , lo que puede generar problemas de privacidad si decide almacenar datos confidenciales allí.

También en lo que se refiere a A7 (criptografía), tenga en cuenta que Play ofrece una biblioteca Crypto conveniente, pero su encriptación utiliza el modo ECB, que nuevamente abre un nuevo grupo de posibles problemas .


En el OWASP Top 10 y Play ( here hay información):

  • A1: inyección

    Utiliza JPA y escapa de las cadenas por defecto

  • A2: Secuencias de comandos entre sitios (XSS)

    Desde la versión 1.0.1, el motor de plantillas de Play escapa automáticamente la cadena

  • A3: Autenticación rota y gestión de sesión

    El juego es apátrida, no hay sesión involucrada. Las cookies están protegidas con criptografía. El almacenamiento de datos de forma segura en la base de datos (contraseñas) a través de hashing depende del usuario, no del marco

  • A4: Referencias de objetos directos inseguros

    De nuevo, esto depende de que el desarrollador verifique el acceso a los recursos permitidos, no tanto el marco

  • A5: falsificación de solicitudes entre sitios (CSRF)

    Las solicitudes POST permiten tokens de autenticidad para evitar esto. Por supuesto, esto depende de que el desarrollador use GET / POST correctamente

  • A6: Mala configuración de seguridad

    El proceso de informe de errores predeterminado parece seguro en la producción (sin pérdidas de seguimiento de la pila). La única preocupación sería la entrada "atrapar todo" en las rutas, pero esto debería comentarse en el modo de producción

  • A7: Almacenamiento criptográfico inseguro

    El desarrollador es responsable de cifrar la información sensible en la base de datos

  • A8: Error al restringir el acceso a la URL

    El desarrollador debe implementar una restricción de seguridad (a través de @Antes, como en el tutorial) para no permitir el acceso a páginas prohibidas.

  • A9: Protección insuficiente de la capa de transporte

    Play soporta SSL

  • A10: Redirecciones y reenvíos no validados

    La redirección de reproducción se realiza a través de 302, no en cadenas codificadas, lo que debería evitarlo.

TL; DR: En las partes en que el framework puede hacer todo el trabajo, Play lo hace. En las partes que el desarrollador necesita para hacer todo el trabajo, bueno, el desarrollador debe hacer todo el trabajo. Piezas que necesitan el 50% de cada una, Play da su 50%.

Pongámoslo de esta manera: no hay ninguna razón por la que debas considerar jugar menos seguro que cualquier otro marco Java. En muchos casos puedes considerarlo más seguro. Y, dado que Play es un marco fácil de desarrollar, sin estado y de REST, tiene menos posibilidades de desordenarlo.