2012-02-29 29 views
8

Recibí este siguiente error cuando mi sitio web estaba siendo auditado. Desarrollé mi sitio web usando jsp, servlets, clases de Java.Agregue el atributo 'HttpOnly' a todas las cookies de sesión

Missing HttpOnly atributo de cookie de sesión

riesgos de seguridad

Es posible robar o manipular cookies de sesión y los clientes, que pueden ser utilizado para hacerse pasar por un usuario legítimo, lo que permite el hacker para ver o modificar registros de usuario, y para realizar transacciones como ese usuario

Causas:

La aplicación web conjuntos de cookies de sesión sin los HTTPOnly atributo

tareas de remediación:

Añadir el atributo 'HttpOnly' a todas las cookies de sesión

Paso la ficha de seguridad de Java como parámetro oculto al hacer clic en el botón Enviar. ¿Cómo puedo agregar este atributo HttpOnly en ese token?

Respuesta

12

El atributo HttpOnly se establece en Cookies, y estos (normalmente) pasan del servidor al cliente, no del cliente al servidor. HttpOnly no es un atributo que puede establecer en un formulario o parámetro de formulario. Aquí el cliente es el navegador y el servidor es el servidor Java EE que ejecuta su aplicación Java.

Las cookies son generalmente creadas por un servidor, pasan al navegador y luego se devuelven. Ahora es posible crear y manipular Cookies usando JavaScript que puede ser útil pero también puede ser un agujero de seguridad. Así que an HttpOnly Cookie is only accessible by the server, o en otras palabras, no es accesible desde el lado del cliente JavaScript que protege su sitio de algunas formas de ataques XSS. Por lo tanto, el navegador almacenará y devolverá una cookie HttpOnly, pero no la alterará ni le permitirá crearla en el cliente; se debe crear una cookie HttpOnly en el servidor.

Si está utilizando JSP es probable que su servidor esté creando automáticamente una Cookie para administrar las sesiones por usted; esta es la cookie en la que debe establecer el atributo HttpOnly. The method to set HttpOnly on your SESSIONID Cooke will be container specific.

+0

bien, pero ¿qué es este servidor y cliente? ¿puede por favor elaborar un poco más – Tom

+0

@tom - han ampliado la respuesta un poco más. Probablemente valga la pena seguir los enlaces en la respuesta para obtener más detalles. –

+0

sí, gracias, solo una duda más: si voy a hacer alguna modificación dentro de tomcat, ¿tendré que hacer alguna modificación en el lado del cliente también para el atributo httpOnly? – Tom

2

¿Pudiste establecer el atributo "HttpOnly" en las cookies de sesión?

me encontré con este código para hacer esto en https://www.owasp.org/index.php/HttpOnly

<session-config> 
<cookie-config> 
    <http-only>true</http-only> 
</cookie-config> 
<session-config> 
1

Uso <http-only> atributo para establecer HttpOnly en el archivo web.xml.

<session-config> 
<cookie-config> 
    <http-only>true</http-only> 
</cookie-config> 
<session-config> 
Cuestiones relacionadas