hacktricks/pentesting-web/http-connection-request-smuggling.md

4.5 KiB

HTTP Connection Request Smuggling

Aprende a hackear AWS desde cero hasta convertirte en un experto con htARTE (HackTricks AWS Red Team Expert)!

Este es un resumen del post https://portswigger.net/research/browser-powered-desync-attacks

Ataques de Manipulación del Estado de Conexión

Validación de la Primera Solicitud

Al enrutar solicitudes, los servidores proxy inversos pueden depender del encabezado Host para determinar el servidor de destino en el backend, a menudo confiando en una lista blanca de hosts que tienen acceso permitido. Sin embargo, existe una vulnerabilidad en algunos servidores proxy donde la lista blanca solo se aplica en la solicitud inicial de una conexión. En consecuencia, los atacantes podrían explotar esto primero realizando una solicitud a un host permitido y luego solicitando un sitio interno a través de la misma conexión:

GET / HTTP/1.1
Host: [allowed-external-host]

GET / HTTP/1.1
Host: [internal-host]

Enrutamiento de la primera solicitud

En algunas configuraciones, un servidor frontal puede usar el encabezado Host de la primera solicitud para determinar el enrutamiento del servidor de destino para esa solicitud, y luego enrutar de manera persistente todas las solicitudes posteriores desde la misma conexión del cliente a la misma conexión del servidor de destino. Esto se puede demostrar de la siguiente manera:

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

Este problema potencialmente se puede combinar con ataques de encabezado de host, como envenenamiento de restablecimiento de contraseña o envenenamiento de caché web, para explotar otras vulnerabilidades o obtener acceso no autorizado a hosts virtuales adicionales.

{% hint style="info" %} Para identificar estas vulnerabilidades, se puede utilizar la función 'sonda de estado de conexión' en HTTP Request Smuggler. {% endhint %}

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!