flawopen.com/Simulators/HTTP Request Smuggling

Web Infrastructure / HTTP Parser Desync

Visualizador Interactivo de Contrabando de Solicitudes HTTP

Simulador visual interactivo paso a paso que modela transmisiones persistentes entre proxy y backend, fragmentación chunked y envenenamiento de socket.

💡 Explicación Sencilla (ELI5)

Imagine una cinta transportadora entre un cajero y el cocinero. Entrega una caja con 1 hamburguesa y una nota de pedido extra. El cajero registra 1 plato, pero el cocinero prepara la hamburguesa y deja la nota sobre la mesa. Cuando el siguiente cliente pide ensalada, ¡el cocinero usa su tarjeta para pagar su nota previa!

Source Code Diff: Ambiguous Header Handling

UNPATCHED FLAW: PERMISSIVE DUAL HEADER EVALUATION
// Vulnerable HTTP parser logic
int http_parser_execute(http_parser *parser, const char *data, size_t len) {
    if (parser->flags & F_CONTENT_LENGTH && parser->flags & F_CHUNKED) {
        parser->body_read_mode = READ_CHUNKED; 
        return PARSE_CONTINUE;
    }
}
HARDENED PATCH: STRICT RFC 9112 REJECTION & CONNECTION CLOSE
// Hardened RFC 9112 section 6.1 compliant parser
int http_parser_execute(http_parser *parser, const char *data, size_t len) {
    if ((parser->flags & F_CONTENT_LENGTH) && (parser->flags & F_CHUNKED)) {
        parser->status_code = 400;
        parser->connection_close = 1;
        return PARSE_ERROR_INVALID_HEADER;
    }
}
← Simuladores Interactivos de Vulnerabilidades CVE-2024-27983 Node.js Teardown →