Omitir la validación de cookies

2

Descubrí que una aplicación web permite configurar ciertos valores de cookies a través de parámetros de solicitud. Cada parámetro de solicitud da como resultado un encabezado Set-Cookie separado. es decir, una solicitud como esta:

/url?cookie1=first_value&cookie2=second_value

da como resultado los siguientes encabezados:

Set-Cookie: cookie1=first_value
Set-Cookie: cookie2=second_value

Estos encabezados aparecen después del encabezado de la cookie de identificación de sesión, así que me imagino que debería poder arreglar la sesión usando un valor de cookie como el siguiente

first_value; another_cookie=another_value

URL que codifica el espacio, el punto y coma y los signos de igual. Sin embargo, una vez que la aplicación ve el punto y coma, simplemente se trunca hasta ese punto, por lo que el encabezado de respuesta se convierte en:

Set-Cookie: first_value

Mi pregunta es, qué otros delimitadores podría aceptar un navegador, o qué métodos podrían permitir que se omita el filtro.

    
pregunta Slicedpan 20.02.2014 - 17:23
fuente

2 respuestas

1

Una inyección CRLF podría funcionar. Usaría una URL como la siguiente:

/url?cookie1=first_value%0d%0aSet-Cookie:%20cookie2=second_value
    
respondido por el Disenchant 02.03.2014 - 18:03
fuente
1

El punto y coma es un valor antiguo, en su mayoría obsoleto, para el separador de registros CGI, pero aún es reconocido por muchos scripts CGI. Lo más probable es que tu

/url?cookie1=first_value;another_cookie=another_value&cookie2=second_value

se está interpretando como

cookie1=first_value
another_cookie=another_value
cookie2=second_value

y dado que el script CGI no sabe qué hacer con un parámetro llamado another_cookie , lo ignora. Probablemente pueda evitar esto mediante la codificación porcentual de su punto y coma:

/url?cookie1=first_value%3Banother_cookie=another_value&cookie2=second_value
    
respondido por el Mark 01.07.2014 - 08:36
fuente

Lea otras preguntas en las etiquetas