Pregunta

Necesito para prevenir Sesión De Fijación, un tipo particular de secuestro de sesión, en una aplicación web Java que se ejecuta en JBoss.Sin embargo, parece que el estándar de lenguaje no funciona en JBoss.Este puede ser trabajado alrededor?

¿Fue útil?

Solución

Este defecto (se encuentra aquí) señala el camino a la solución.La instancia de Tomcat que se ejecuta en JBoss está configurado con emptySessionPath="true", en lugar de "falsa", que es el valor predeterminado.Esto puede ser modificado en .../deploy/jboss-web.deployer/server.xml;el HTTP y AJP conectores tienen esta opción.

La función en sí, se utiliza para eliminar el contexto de ruta de acceso (por ejemplo."foo" en http://example.com/foo) de ser incluido en la cookie JSESSIONID.Establecer a false romper las aplicaciones que dependen de la cruz-de autenticación de la aplicación, que incluye cosas construida utilizando algún portal de marcos.No afectan negativamente a la aplicación en cuestión, sin embargo.

Otros consejos

Este problema y el caso específico en el que se produce es un problema en Tomcat así como JBoss.Tomcat comparte la emptySessionPath="true" efecto (y en realidad JBoss hereda de Tomcat).

Esto realmente parece un error en Tomcat y JBoss cuando usted está tratando de evitar la fijación de sesiones ataques, pero el servlet spec (al menos la versión 2.3) en realidad no requieren la JSESSIONID a ser definido o redefinido de acuerdo a cualquier lógica.Tal vez este haya sido limpiado en versiones posteriores.

Una solución es almacenar la dirección del cliente en la sesión.Una respuesta contenedor debe validar el conjunto de direcciones de cliente en la sesión es la misma que la de acceder a la sesión.

Llegué a conocer a continuación la configuración de código de fragmento de uno de los foros.Y he añadido debajo de las líneas.Pero cuando voy a imprimir el ID de sesión antes y después de iniciar sesión en la aplicación es la misma.Cómo iba yo a la prueba de Fijación de sesiones.

  1. D:\jboss-5.1.0.GA\bin un.cof archivo y agregue la siguiente línea.conjunto "JAVA_OPTS=%JAVA_OPTS% -Dorg.apache.catalina.el conector.Solicitud.SESSION_ID_CHECK=false"

  2. en cada uno de los context.xml de las aplicaciones jboss.D:\jboss-5.1.0.GA\server\default\deploy\jbossweb.sar\context.xml

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top