¿OWASP ESAPI sigue siendo la forma recomendada de proteger las páginas JSP?

5

Noté que OWASP ESAPI no se ha actualizado en mucho tiempo ( actualización menor en 2016, y antes de 2013 ). ¿Existen mejores alternativas para usarlo, es decir, usar las utilidades de un marco más actualizado para, por ejemplo, escapar y validar las entradas de los usuarios para la prevención XSS? Piensa en <cout .../> o Struts 2 o cualquier otra forma de marco de salida y escape de código. ¿O es preferible desde un punto de vista de seguridad usar siempre OWASP para esto? ¿Pensamientos?

    
pregunta blindcodifier9734 02.10.2017 - 17:25
fuente

2 respuestas

4

OWASP ESAPI ya no se considera un proyecto emblemático o incluso un proyecto activo. Kevin Wall, el propietario del proyecto para la implementación de Java, en 2014 admitió que el proyecto se está muriendo y dijo:

  

No lo soy, porque no puedo. Yo, por ejemplo, puedo ver la escritura en la pared.   (Pun intencionado.) Todas las acusaciones que se hacen en contra   Los ESAPI son correctos:

     

· Solo se ha publicado un punto menor desde   Julio de 2011.

     

· 164 temas abiertos, incluyendo 4 marcados como críticos y   11 marcado como Alto.

     

· Demasiadas dependencias, algo que   Nunca se ha abordado a pesar de haber sido prometido durante casi 3 años.

     

· La página de Wiki aún está en el antiguo formato OWASP.

     

· Signos mínimos de   Duración de ESAPI 3.0 en GitHub y ESAPI 2.x para Java en Google Code.   Cero signos de vida para implementaciones en otros lenguajes de programación.   [Nota: descontando el SalesForce uno porque no lo he seguido.]

     

· Para ESAPI para Java, una arquitectura realzada donde todo es un   Singleton hace que algunas cosas, como las pruebas de simulación, sean casi imposibles.   Menos del 80% de cobertura de código de prueba, en parte, debido a eso.

     

· Falta de documentación de usuario importante fuera de Javadoc y   La documentación criptográfica de ESAPI.

     

· Decepcionante participación   en el Hackathon ESAPI.

    
respondido por el Mark Burnett 02.10.2017 - 21:50
fuente
1

Otra propaganda de Kevin Wall en ¿Debo usar ESAPI?

  

Si está comenzando un nuevo proyecto o está tratando de asegurar un proyecto existente por primera vez, entonces antes considera ESAPI, debería considerar estas posibles alternativas:

     
  • Codificación de salida: OWASP Java Encoder Project
  •   
  • Desinfección de HTML general: OWASP Java HTML Sanitizer
  •   
  • Validación: JSR-303 / JSR-349 Validación de Bean
  •   
  • Criptografía fuerte: Keyczar
  •   
  • Autenticación / autorización: Apache Shiro
  •   
  • Protección CSRF: Proyecto OWASP CSRFGuard o Proyecto OWASP CSRFProtector
  •   

Tenga en cuenta que esto no es para sugerir que ESAPI está muerto, sino más bien para reconocer el hecho de que no está siendo tan bien mantenido como la mayoría de las empresas F500 desearían para su software empresarial.

OMI, si tiene la opción, debe utilizar marcos como Spring, que cuenta con instalaciones para hacer frente a muchos problemas de seguridad (por ejemplo, Spring Security para autenticación, CSRF). Para la salida, una vez más muchos frameworks / bibliotecas modernos se encargan de la codificación. P.ej. con JSP, luego use JSTL - tiene una biblioteca de etiquetas para la codificación HTML. Si está desarrollando clientes ricos, marcos como React codificarán HTML de forma predeterminada.

Un escenario en el que ESAPI sigue siendo útil es si está actualizando una aplicación heredada que carece de seguridad. Incluso entonces, ESAPI tiene suficientes problemas abiertos / vulnerabilidades que deberían hacer que se detenga. Es una triste situación y Kevin Wall parece ser un poco amargo:

  

La primera pregunta que se debe hacer es si ya está usando ESAPI en su proyecto y, de ser así, ¿tiene mucho en él? Si es así, entonces la respuesta a "¿Debo usar ESAPI?" probablemente es "sí". La segunda pregunta que debe hacer, si la estoy usando, ¿por qué no estoy contribuyendo de alguna manera? Pero no iremos allí.

    
respondido por el HTLee 07.03.2018 - 21:29
fuente

Lea otras preguntas en las etiquetas