-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
strip BOM #5
Comments
Hey @FranklinYu I think that's a great idea. I'm not too familiar with BOM, would it be valuable to add it back into the request body when they issue the request? |
It is possible, but then we need to remember which request has BOM. Given that information, simply prepend those several bytes to the request. |
I'm having some trouble reproducing this. I'm using the unicode BOM character \uFEFF in this string, but it's still able to beautify in the extension. The string I'm using: It also looks like Google's GSON parser has handling for this https://github.com/google/gson/blob/master/gson/src/main/java/com/google/gson/stream/JsonReader.java#L1298 Could you send me an example string that causes this error? |
It may take me some time to find the Burp record (I can do it during weekend), but I remember it was a UTF-8 BOM. According to the source you cite, it seems like only UTF-16 is handled by GSON. |
Coming back to this, @FranklinYu was right, as I'm having the same issue. A UTF-8 BOM is not handled by the GSON parser - this appears as bytes This could be mitigated with an issue in google/gson which gets pulled downstream, or with a mitigation here. The former is likely a better scenario. |
My try with Gson: google/gson#1481 |
Gson team doesn’t seem to like BOM detection as part of their library (and I kind of agree with that). I think related logic is in JSONBeautifier/burp/BurpExtender.java Lines 189 to 191 in 43e10a9
Given that, and assuming:
I can come up with some simple (naive) solution. |
If a response body starts with BOM, the JSON decoder would throw exception. That is pretty common in reality (although
Content-Type
is the right way for HTTP). Please strip the BOM before feeding it to parser.The text was updated successfully, but these errors were encountered: