Esta pregunta se formuló originalmente en stackoverflow
Espero que aquí, en este foro de Seguridad, encuentre más gente porque, con suerte, ¿algunas personas están usando el material de esapi?
Tengo un pequeño proyecto JavaEE, y tengo que asegurarlo con OWASP ESAPI
He integrado el ESAPI así en Maven:
<!-- ESAPI Version 2.0.1 -->
<dependency>
<groupId>org.owasp.esapi</groupId>
<artifactId>esapi</artifactId>
<version>2.0.1</version>
</dependency>
Después de esto, puedo usar las clases de ESAPI para la programación.
También incluí la carpeta .esapi
en el inicio del servidor:
-Dorg.owasp.esapi.resources=/home/joergi/.esapi/
También copié el ESAPI.properties
y el validation.properties
en
src/main/resources
(No estoy seguro de si funciona, pero no obtengo ningún error al iniciar el servidor)
Miré la Guía de instalación de ESAPI (pdf ) (muy mal documentado) y copió el ejemplo
"Para probar si ESAPI se ha integrado y configurado correctamente, cree un archivo llamado EsapiIntegrationTest.java y péguelo en: "
import org.owasp.esapi.ESAPI;
public class EsapiTest {
public static void main(String[] args){
System.out.println("ESAPI.accessController found: "
+ ESAPI.accessController());
}
}
"Si puede ejecutar este archivo y ver la salida de impresión, entonces ESAPI tiene ha sido instalado y configurado con éxito! Ahora puedes comenzar a usar ¡Funcionalidad ESAPI para asegurar sus aplicaciones web! "
Lo "traduje" para mi ejemplo:
@ManagedBean(name="testController")
@RequestScoped
public class TestController {
public String esapiTest(){
System.out.println("ESAPI.accessController found: "
+ ESAPI.accessController());
return "ESAPI.accessController found: " + ESAPI.accessController();
}
}
y tengo un archivo test.xhtml
:
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
template="/WEB-INF/templates/default.xhtml">
<ui:define name="content">
<h2>esapi test</h2>
<h:outputText value="#{testController.esapiTest()}" />
</ui:define>
</ui:composition>
Al ingresar test.xhtml
recibo este error realmente largo (para una mejor vista, también puede verlo en pastebin.com/6an0awMc)
< >
Sé que la demostración de Swingset de ESAPI, y esto se está ejecutando en mi configuración
Tengo 2 preguntas:
¿Es mi configuración de inicio y mi servidor es correcto?
porque el error parece que ESAPI no puede encontrar las funciones del registrador ESAPI ....
y
¿Es posible usar el simple fragmento de código de prueba en mi configuración?
(p.s. también lo probé sin Maven y solo con la inclusión del contenedor descargado, pero no funciona)
Extraño algo como:
(esto es del ejemplo de demostración de swingset, NO de mi propio proyecto)
Seeking ESAPI.properties
Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/joergi/dev/projects/esapi_demo_1punkt0/ESAPI.properties
Not found in SystemResource Directory/resourceDirectory: .esapi/ESAPI.properties
Not found in SystemResource Directory/.esapi: .esapi/ESAPI.properties
Not found in SystemResource Directory: ESAPI.properties
Found in 'user.home' directory: /home/joergi/.esapi/ESAPI.properties
Loaded 'ESAPI.properties' properties file
Seeking validation.properties
Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/joergi/dev/projects/esapi_demo_1punkt0/validation.properties
Not found in SystemResource Directory/resourceDirectory: .esapi/validation.properties
Not found in SystemResource Directory/.esapi: .esapi/validation.properties
Not found in SystemResource Directory: validation.properties
Found in 'user.home' directory: /home/joergi/.esapi/validation.properties
Loaded 'validation.properties' properties file
Seeking ESAPI_logging_file
Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/joergi/dev/projects/esapi_demo_1punkt0/ESAPI_logging_file
Not found in SystemResource Directory/resourceDirectory: .esapi/ESAPI_logging_file
Not found in SystemResource Directory/.esapi: .esapi/ESAPI_logging_file
Not found in SystemResource Directory: ESAPI_logging_file
Found in 'user.home' directory: /home/joergi/.esapi/ESAPI_logging_file
¡Esperemos que alguien pueda ayudar!