-
Notifications
You must be signed in to change notification settings - Fork 161
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
Doesn't show extension changes in proxy #42
Comments
Is it possible you can provide the extension which is not having the changed results displayed? |
So this issue is still there. Just use this sample (the changes won't be visible in Logger++):
so if you use another burp in front of burp, you will see the new header. But no matter where you put the Logger++, it will not show it. |
Hi! I have the same issue. I add some details. It is not possible to see modifications executed on Proxy requests/responses by extensions that implements a IHttpListener listener (and not the IProxyListener one). Maybe the requests/responses in the IProxyListener queue are all processed before the requests/responses in the IHttpListener queue and consequently modifications executed on proxy requests from IHttpListener extensions are invisible to Logger++, that handles those requests in the IProxyListener queue (but this is only a guess). In this case, the bug could be fixed by handling all requests/reponses (including the proxy ones) with a IHttpListener listener instead of a IProxyListener one. |
Hi Corey42! Thank you for the quick reply! You explained it very well. I understand the limitations due to Burp Extender API. Maybe we can ask to Burp Suite to add a feature to the Extender GUI pane, allowing to move up and down extensions in the different queues instead of moving the extensions in all the queues together. By the way, thank you for the clarification. |
That would definitely be useful, though I know similar items have been on their development backlog for a while. Maybe when they come to update the API it is something they will add, though I don't think it'll be any time soon :( |
Just had a 'why didn't I think of that earlier?' moment. For capturing the modifications to the request, I can store the request that's received initially when the request is sent via either processProxyMessage or processHttpMessage as normally, then when the response comes back through processHttpMessage check to see if the request was modified after L++ captured it. I don't have a solution for responses modified after L++ has grabbed them yet though. I'll add this to my todo list 😃 |
Reopened the issue, as this fix could be improved quite a bit. Due to Burp's API limitations it can never be perfect, but using processHTTPMessage for requests, and processProxyMessage for responses should allow the actual message sent to the server and client to be obtained by L++. |
Hey there, don't want to wake up old issues, but at least for Burp Suite professional v2022.2.4 the diagram above is not correct anymore, see https://www.pentagrid.ch/en/blog/teaching_burp_a_new_http_transport_encoding/ . If you disagree feel free to take the diagram from the github https://github.com/pentagridsec/PentagridBurpTransportEncoding repository and modify it at https://draw.io |
Thanks for sharing this @floyd-fuh, it's nice to see a better diagram of what I was trying to figure out. The diagram here is flipped from what I had originally drawn, but it looks to be essentially the same process, with the only difference being where the match+replace rules are executed. However, they've clearly spent much more time to test this, so I'm inclined to agree that they're correct here. Ultimately, I believe that Logger++ hooks into things at the best possible locations currently. The use of two extensions at the first and last extension positions as they have demonstrated in the blog post is something I had considered for Logger++, but unfortunately this would make it much harder to ship, especially via the BApp store. Though if anything changes with Burp's upcoming API update, I'll be sure to look into it. |
If an extension changes a request within the proxy tool, Logger++ does not show the changes.
The extension I was testing this with was using processHttpMessage to manipulate the requests.
Moving Logger++ before or after the other extension did not resolve the issue. Therefore, order is not an issue here.
The text was updated successfully, but these errors were encountered: