flawopen.com/Simulators/HTTP Request Smuggling
Web Infrastructure / HTTP Parser Desync
Simulator Interaktif Penyelundupan Permintaan HTTP
Sandbox visual interaktif langkah-demi-langkah yang memodelkan pipeline socket persistent antara proxy dan backend.
💡 Penjelasan Sederhana (ELI5)
Bayangkan ban berjalan antara kasir dan koki dapur. Anda menyerahkan kotak berisi 1 burger dan secarik nota pesanan ekstra. Kasir mencatat 1 pesanan, tetapi koki hanya mengambil burger dan membiarkan nota tertinggal di meja. Saat pelanggan berikutnya memesan salad, koki menagihkan nota Anda ke kartu mereka!
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;
}
}