Skip to main content
Todos los Términos Glossary

Cookies HttpOnly

Definition

Las cookies HttpOnly son cookies a las que no se puede acceder a través de JavaScript del lado del cliente, lo que proporciona protección contra los ataques XSS que intentan robar tokens de sesión. Este atributo garantiza que, aunque un atacante consiga ejecutar scripts maliciosos, no pueda acceder directamente a estas cookies. Es una medida de seguridad crucial para la gestión de sesiones y la autenticación.

Qué son las cookies HttpOnly

Una cookie HttpOnly es aquella que el servidor marca con el atributo HttpOnly en su cabecera Set-Cookie. Ese único flag le indica al navegador que mantenga la cookie fuera del alcance de los scripts del lado del cliente: sigue adjuntándose automáticamente a las peticiones HTTP que coincidan, así que la aplicación funciona con normalidad, pero el JavaScript que corre en la página no puede leerla ni escribirla mediante document.cookie ni la Cookie Store API. El atributo apunta de lleno a las cookies de sesión y de autenticación, las que más desea un atacante. No cambia cómo se transmite ni cómo se acota la cookie; de eso se encargan los atributos aparte Secure, SameSite, Domain y Path.

Por qué importa HttpOnly

La forma más directa de abusar de un fallo de cross-site scripting es leer la cookie de sesión de la víctima y enviarla a un servidor controlado por el atacante, permitiéndole reproducir la sesión y suplantar al usuario. HttpOnly elimina esa primitiva: incluso el código que se ejecuta con éxito en la página no puede ver el valor de la cookie, así que no puede exfiltrarla con simples lecturas. Eso eleva de forma notable el listón para el secuestro de sesión. Conviene ser preciso sobre el límite, no obstante: HttpOnly impide que la cookie se lea, no que se use. Un script inyectado todavía puede emitir peticiones autenticadas en el navegador, aprovechando la cookie que el navegador adjunta automáticamente.

Usar HttpOnly con eficacia

Establece HttpOnly en cada cookie que JavaScript no tenga ninguna razón legítima para tocar, en especial los tokens de sesión y de autenticación, y combínalo con Secure y un valor apropiado de SameSite. No lo trates como un control anti-XSS en sí mismo: la solución real para la inyección es el manejo de la entrada, la codificación de la salida y una Content Security Policy sólida. HttpOnly limita el daño si eso falla. Como un payload inyectado todavía puede actuar dentro de la sesión sin llegar a leer la cookie, detectar el propio script malicioso importa. cside analiza las cargas útiles de los scripts de terceros a través de un método Script y puede bloquear el comportamiento anómalo en tiempo real, cerrando la brecha que dejan los flags de las cookies.

Definition

Si las cookies son HttpOnly, ¿está mi sitio a salvo del XSS?

No. HttpOnly impide que un script lea la cookie, pero el script inyectado sigue ejecutándose con los privilegios del usuario y puede enviar peticiones autenticadas, alterar la página, capturar pulsaciones de teclado o robar datos de los formularios. HttpOnly reduce una consecuencia del XSS; no previene la vulnerabilidad ni sus demás abusos.

Definition

¿Debería toda cookie ser HttpOnly?

Establécelo en cualquier cookie que JavaScript no necesite, lo que cubre la mayoría de las cookies de sesión y de autenticación. La excepción es una cookie que tu propio código del lado del cliente deba leer, por ejemplo algunos patrones de token CSRF o de estado de la interfaz. Para esas, mantén el valor no sensible y confía en otras protecciones en lugar de quitar HttpOnly de la cookie de sesión.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Reservar una demo

¿Quieres verlo en detalle con un ingeniero?

Treinta minutos, sobre tu propio sitio. Nada de diapositivas.

Te enseñaremos:

Qué scripts de terceros se están ejecutando ahora mismo en tu sitio
En qué punto estás con los requisitos 6.4.3 y 11.6.1 de PCI DSS
Qué parte de tu tráfico son bots y agentes de IA

¿Prefieres mandarnos una pregunta?

Buscando huecos libres…

Solo humanos de verdad. Nos daríamos cuenta.

¿Problemas para reservar? Abrir el calendario en una pestaña nueva

¿Qué quieres resolver?

Cuéntanoslo en una línea y te responderemos con algo útil, no con un discurso genérico.

Solemos ayudar con:

Ver qué scripts de terceros se ejecutan en tu sitio
Evidencias para PCI DSS 6.4.3 y 11.6.1
Bots, agentes de IA y robo de cuentas

¿Prefieres reservar una hora? Elegir un hueco