La parte de la solicitud HTTP que debe enviarse al servidor con Content-Type: multipart/form-data;
se ve así:
------WebKitFormBoundaryQ7KGYev31biaJTW8
Content-Disposition: form-data; name="subject"
attacker_controlled
Luego, este valor se incluye en el encabezado de la respuesta a otra solicitud:
Content-Disposition:attachment; filename="attacker_controlled.html"
Me gustaría hacer una inyección de cabecera HTTP aquí. ¿Cómo codificar los caracteres CR / LF en mulupart/formdata
para que aparezcan como CR / LF en el lado del servidor? ¿Cómo hacer aquí la inyección del encabezado HTTP si no es posible?
Editar: He intentado cambiar esta solicitud de acuerdo con el consejo de @ AndrewSmith pero no funcionó :
------WebKitFormBoundaryQ7KGYev31biaJTW8
Content-Disposition: form-data; name="subject"
Content-Transfer-Encoding: base64
YXR0YWNrZXJfY29udHJvbGxlZA==
En el HTML resultante en lugar de attacker_controlled
hay YXR0YWNrZXJfY29udHJvbGxlZA==
(es decir, el servidor web no reconoció la codificación de transferencia de contenido)
Entonces, ¿hay manera de codificar caracteres CR / LF?