flawopen.com/Simulators/HTTP Request Smuggling
प्रॉक्सी-बैकएंड सॉकेट कनेक्शन, चंक्ड इनकोडिंग सीमा और रिक्वेस्ट कतार विषाक्तीकरण को चरण-दर-चरण दिखाने वाला विज़ुअल टूल।
कैशियर और रसोइए के बीच कन्वेयर बेल्ट की कल्पना करें। आप 1 बर्गर और 1 अतिरिक्त गुप्त ऑर्डर पर्ची वाला बॉक्स देते हैं। कैशियर 1 आइटम मानकर आगे भेजता है। रसोइया बर्गर निकालता है और पर्ची काउंटर पर छोड़ देता है। जब अगला ग्राहक सलाद मांगता है, तो रसोइया उसके कार्ड से आपकी गुप्त पर्ची प्रोसेस कर देता है!
// 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 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;
}
}