सार्वजनिक-facing प्रॉक्सी पर कॉलर के क्वेरी बाइट्स को आगे बढ़ाएं

FixAPIService
शिप
7 अगस्त 2026 को 5:02 am बजे UTC
लेखक
Kamo
Commit
21670e5

गेटवे ने 3c24d32 में डबल एन्कोडिंग अग्रेषित क्वेरी स्ट्रिंग्स को रोक दिया, लेकिन चार इस सेवा में अन्य प्रॉक्सी अभी भी पहले से ही पूर्ण-अनकोडित बाइटों को स्वीकार करते हैं स्ट्रिंग में और इसे RestTemplate के स्ट्रिंग ओवरलोड को सौंप दिया, जो इसे व्यवहार करता है एक URI टेम्पलेट के रूप में और यह एक दूसरे समयकोड: %2C %252C के रूप में छोड़ दिया, अपस्ट्रीम एक बार decoded और literal टोकन A%2CB मिला। ये सभी सार्वजनिक सतहें हैं, इसलिए असफलता चुप हैं और बाहर की भूमि हैं। कंपनी: - /api/public/esign/* - a Business-plan customer's status=SENT%2CCOMPLETED फ़िल्टर एक रन-टोगथर टोकन के रूप में ESigService में पहुंचा। - /api/public/webinar/* - समान आकार, MediaService पक्ष। - /api/social/webhook/{token} - GET सत्यापन हैंडशेक क्वेरी है स्ट्रिंग। एक मेटा सत्यापित टोकन जिसमें असमान डाउनस्ट्रीम की तुलना में अंतरिक्ष शामिल है और मीडिया सर्विस ने 200-empty का जवाब दिया, इसलिए मेटा ने सदस्यता छोड़ दी; एक्स Crc token HMAC'd wordatim है, इसलिए एक mangled one deregisters webhook. बदलने के लिए सुरक्षित: मेटा का x-hub-signature-256 और X का हस्ताक्षर दोनों HMAC हैं कच्चे शरीर पर (MessengerAdapter: 110, InstagramAdapter: 114, XAdapter: 151), जो एक untouched byte[] के रूप में अग्रेषित है। कोई हस्ताक्षर यूआरएल को कवर नहीं करता है। - /api / public-chat/* - तीन हैंडलर जो QueryString () को प्रस्तुत करते हैं। सहायक एपीआईगेटवे कंट्रोलर से अपस्ट्रीम यूरी में चल रहा है ताकि चार वर्ग चार प्रतियों के बजाय एक पार्स-एंड-फॉल-बैक शाखा साझा करें। एक यूआरएल URI.create अस्वीकार (कच्चा अंतरिक्ष, |, {}, truncated बच — आकृतियाँ जो आज काम करती हैं दूसरे एन्कोड के केवल BECAUSE) अभी भी पुराने स्ट्रिंग पथ को एक साथ नीचे चला जाता है WARN, तो विकृत यातायात वास्तव में व्यवहार करता है के रूप में यह किया। सार्वजनिक चैट को प्रवेश द्वार के बजाय दूसरे प्रवेश बिंदु की आवश्यकता होती है। इसका मार्ग है @PathVariables से बनाया गया है कि वसंत पहले से ही DECODED किया गया है जबकि इसकी क्वेरी है कच्चे, इसलिए यूआरआई में दूषित यूआरएल को लपेटना। बनाना प्रतिगमन: एक सत्र टोकन एबीसी%23xyz डीकोड्स के रूप में पहुंच रहा है, जो एबीसी # xyz के लिए है, जो URI.create स्वीकार करता है जबकि चुपचाप टुकड़ा पर पथ truncating। The हलवे को कॉल साइट के अलावा रखा जाता है - उसी के माध्यम से कोडित पथ UriComponentsBuilder call डिफ़ॉल्टUriBuilder Factory बनाता है, तो उन बाइट्स हैं अपरिवर्तित; क्वेरी अकेले छोड़ दिया। सात क्वेरी-कम हैंडलर स्ट्रिंग रखते हैं पथ untouched: कोई क्वेरी नहीं, ठीक करने के लिए कोई डबल-encode नहीं। स्पष्ट रूप से नहीं बदला, और उन्हें इस तरह रहना चाहिए - सभी को एक बार ठीक तरह से कोडित करना चाहिए आज, इसलिए "फिक्सिंग" उन्हें 502 लाइव ट्रैफिक होगा: सदस्यता-कैटलॉग (एक टुकड़ा) DECODED @RequestParam Locale), सदस्यता-प्रचारन (fixed literal), ******************* (SHA-256 हेक्स, URI COMPONENT के तहत एक निश्चित बिंदु), लीडइनटेक पब्लिक कंट्रोलर (decoded UUID पथ चर, कभी नहीं कॉल QueryString), VOIP रिकॉर्डिंग ingest POST (config literal, multipart शरीर में सभी इनपुट), और CapchaVerification Service (payload JSON बॉडी में है)।.

सभी बदलाव

जैसा कि आप शिपिंग देखते हैं?

इन अद्यतनों में से प्रत्येक स्वचालित रूप से अपने कार्यक्षेत्र में उतरता है। प्रारंभ करें और सप्ताह के बाद इसे सप्ताह के अंत में देखें।.

Foreverमूल्य निर्धारण देखें