Cómo resolver la vulnerabilidad de división de respuesta jsp http
Servidor vulnerable: un servidor con vulnerabilidades.
Herramientas de ataque: como navegadores, similares a IE6.0.
Atacante: Persona que inicia el ataque.
La esencia de un ataque de división de encabezados de respuesta HTTP es que el atacante puede enviar uno o varios comandos HTTP para obligar al servidor vulnerable a producir el resultado previsto por el atacante. Permite que el servidor malinterprete varias solicitudes HTTP como una solicitud HTTP completa. La primera solicitud puede estar parcialmente controlada por el atacante, pero esto no es peligroso. Lo que sí es peligroso es que el atacante tenga control completo de la segunda solicitud HTTP, es decir, desde la línea de estado HTTP hasta el final de la solicitud HTTP. Si es posible, el atacante enviará varias instrucciones de solicitud al sistema de destino: la primera instrucción hará que el servidor acepte dos respuestas HTTP en su totalidad, la segunda respuesta generalmente solicitará algunos recursos ilegales en el servidor y el servidor coincidirá automáticamente con la segunda. Una respuesta que genera los recursos que el atacante quiere solicitar para lograr el propósito del atacante.
Con esta idea, podemos construir varios ataques, específicamente:
1 Ataque de secuencias de comandos entre sitios (XSS): Se trata de una vulnerabilidad de la vieja escuela muy común que permite que el usuario ejecute un fragmento de código javascript o html, que puede interceptar las cookies y la sesión del usuario. Lanzar un ataque XSS a través de algún script de redireccionamiento es muy difícil, especialmente cuando el usuario utiliza los últimos parches de Internet Explorer, a menos que el encabezado de ubicación esté completamente controlado. Pero si se combina con un ataque de encabezado de respuesta HTTP, el ataque puede llevarse a cabo fácilmente incluso si los encabezados sólo están parcialmente controlados.
2 Envenenamiento de la caché de la red (lo llamamos pérdida de la red): esta es una nueva técnica de ataque. El atacante forzará que se registre una segunda solicitud HTTP en la caché del servidor y la otra en la caché del servidor. voluntad La segunda solicitud fue cuidadosamente elaborada por el atacante. De esta manera, el sitio web de destino se puede agotar con éxito. Cuando otros visitan el sitio web de destino, solo se leerán los datos del caché, creando la ilusión de que el sitio web ha sido "pirateado". Por supuesto, además del agotamiento del sitio web, los atacantes también pueden robar las sesiones y las cookies de los usuarios.
3 Ataque de usuario: Este es un caso especial del segundo método. También puede robar la sesión y las cookies de un usuario específico engañando a un solo usuario, agotando una sola página del servidor, vaciándola temporalmente, etc.
4 Secuestro de información confidencial de la página de un usuario específico: el atacante engaña al servidor, obtiene acceso a usuarios confidenciales y ingresa al estado de su usuario para acceder a cierta información secreta.
5 Envenenamiento de la memoria caché del navegador: este es el método de ataque más reciente. Es algo similar a un ataque de secuencias de comandos entre sitios. La única diferencia es que el atacante obligará a la memoria caché del navegador a registrar una página web que continúa. desgastarse durante mucho tiempo, hasta que se borre el caché del navegador.
Los presentaré uno por uno más adelante.
Tres: Implementación del envenenamiento de la caché de red
Dado que se trata de una tecnología emergente, analizaré más a fondo la implementación del envenenamiento de la caché de red en este párrafo.
1 Envenenamiento del caché del proxy inverso: graffiti electrónico. En este enfoque, el atacante se enfrenta directamente al sitio web. Por supuesto, la técnica más poderosa es penetrar la página de inicio del sitio web y afectar a todos los clientes. Este también es el método más hermoso, pero es fácil de detectar.
2 Envenenamiento del servidor de caché intermedio: una forma indirecta. Es muy difícil ser descubierto de esta manera. Hay muchos servidores de caché intermedios y es imposible que el servidor vulnerable ocupe todos los servidores de caché intermedios, por ejemplo, probablemente no estén en el mismo lugar. un sitio web en Taiwán, es probable que lo ataquemos primero. Incluso si se encuentra el servidor de caché intermedio en los Estados Unidos, llevará mucho tiempo tal vez no tengamos tiempo de envenenarlo todo. Sitios web taiwaneses.
3 Envenenamiento de la caché del navegador: apuñalar a alguien por la espalda. Lo más probable es que un atacante se dirija a un usuario específico, por ejemplo, robando credenciales de un usuario muy rico, lo que haría que el ataque fuera único y difícil de llevar a cabo.
Porque, a diferencia de los ataques de secuencias de comandos entre sitios, debido a que la página envenenada siempre está en el caché esperando a que la víctima (su usuario objetivo) la cargue, a veces la víctima nunca ha iniciado sesión en la página o el navegador de la víctima ha deshabilitado la ejecución de Java. scripts, etc., por lo que este ataque no funcionará.
Cuatro: Técnicas básicas para ataques de vulnerabilidad del encabezado de respuesta HTTP.
El ataque de encabezado de respuesta HTTP incorpora código en la información del usuario y lo coloca en el encabezado HTTP. También incorpora información y código del usuario en la URL a la que se redirige, o incorpora un script en el valor o nombre de la cookie. En la primera respuesta, la URL redirigida es parte del encabezado de respuesta HTTP, mientras que la segunda respuesta identifica la cookie y el nombre/valor en la cookie es parte del conjunto de cookies en el encabezado de respuesta.