Teruskan permintaan byte si penelpon di proksi yang menghadap publik

FixAPIService
Dikirim
7 Agustus 2026 pukul 05.02 UTC
Penulis
Kamo
Commit
21670e5

Gateway berhenti double-encoding forward query string dalam 3c24d32, tapi empat proxy lain dalam layanan ini masih konkatenasi alreadid- persen -encoded bytes ke String dan menyerahkannya ke String RestTemplate yang berlebihan, yang memperlakukannya sebagai sebuah template URI dan menyandi ini kedua kalinya:% 2C ditinggalkan sebagai% 252C, arus hulu diterjemahkan sekali dan mendapat literal token A% 2CB. Ini semua permukaan publik, sehingga kegagalan diam dan tanah di luar perusahaan: - # api / public / esign / * - a Business- plan 's status pelanggan = SENT% 2COMPLETED filter tiba di ESigService sebagai satu run- bersama token. - / api / public / webinar / * - bentuk yang sama, MediaService side. - / api / sosial / webhook / {token} - jabat tangan verifikasi GET IS permintaan String. Sebuah tanda verifikasi Meta berisi ruang dibandingkan hilir tidak sama dan MediaService menjawab 200-kosong, jadi Meta menjatuhkan langganan; X 's crc _ token adalah verbatim HMAC 'd, jadi salah satu deregisters webhook. Aman untuk diubah: Tanda tangan x-hub Meta -256 dan tanda tangan X keduanya HMAC atas body mentah (MessengerAdapter: 110, InstagamAdapter: 114, XAdapter: 151), yang diteruskan sebagai byte yang tidak tersentuh Tak ada tanda tangan yang mencakup URL. - / api / public-chat / * * - tiga penangan yang menambahkan getQueryString (). Pembantu keluar dari APIGateway Controller ke UpslemUri jadi empat kelas berbagi satu bagian - dan -fall- cabang belakang daripada empat salinan. URL yang URI.create penolakan (ruang mentah, £124;, {}, terpotong escape - bentuk yang bekerja hari ini Hanya KARENKOL kedua masih turun jalur String tua dengan WARN, sehingga salah bentuk lalu lintas berperilaku persis seperti itu. Percakapan publik membutuhkan titik masuk kedua daripada pintu gerbang. Jalurnya adalah dibuat dari @ PathVariabel bahwa Spring telah DICODED sementara query nya mentah, sehingga membungkus URL yang telah dikonkatenasi dalam URI. membuat akan menjadi regresi: sebuah sesi token tiba sebagai abc% 23xyz decodes ke abc # xyz, yang URI.create menerima sementara diam-diam memotong jalan pada fragmen. The Setengah disimpan terpisah ke situs panggilan - jalan dikodekan melalui sama UriCompontentsBuilder call DefaultUriBuilderFactory makes, so those bytes are tidak berubah; permintaan yang ditinggalkan. Tujuh query-less penangan menjaga String path tidak tersentuh: tidak ada query, tidak ada double-encode untuk diperbaiki. Sengaja TIDAK berubah, dan mereka harus tetap seperti itu - semua kode tepat sekali hari ini, jadi "memperbaiki" mereka akan 502 hidup lalu lintas: subscription-katalog (splits a DECODED @ RequestParam lokal), subscription-promosi (literal tetap), validate- kunci dalam * * * * * * * * * * * * * * * * * * * (SHA-256 hex, titik tetap di bawah URI _ COMPONENT), LeadIntaking PublicController (decode UUID path variabel, tidak pernah memanggil getQueryString), rekaman VOIP POST tertelan (config literal, semua masukan dalam tubuh multipart), dan CapchaVerificationService (muatan dalam tubuh JSON).

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.

Mulai Bebas SelamanyaTampilkan Harga