Open fenceposterror opened 5 years ago
This doesn't mean the extension is not running properly. This just means that the single invocation will lead to an exception, meaning we return early from processHttpMessage
. And the fix I would implement, would return early from processHttpMessage
just without printing the exception. So same same but different. However, it's not worth touching the code and pushing a new version just to not print an exception (I'll do it in a future release when I touch the code anyway).
What I wonder more is why getUrl()
would return None at all. Because I call analyzeRequest
with an argument of IHttpRequestResponse
which is the original object provided by the Burp API. It should have an IHttpService
. My best bet is that you have an extension that breaks the request so that it's not possible to determine the URL. For example what would a request line of GET /threeSpaces /isBad HTTP/1.1
mean? You can send that, but the server should return 400 for that.
Sidenote: I would understand if it would return None if we would just pass it a byte[] request
but that's not whats happening here. Because if that's the case, the IHttpService
object is missing, therefore Burp can't know if this request was sent via HTTP or HTTPS and also can't be sure that the HTTP host header actually corresponds to where the TCP/IP connection is going to. Therefore, Burp wouldn't be able to decide if it is an http:// or https:// URL.
Btw. we need to check that iRequestInfo.getUrl()
is not None, not iRequestInfo.getUrl().getFile()
Hi,
I occasionally get this error:
I assume this could be easily fixed by prepending a
iRequestInfo.getUrl().getFile() and
in the if statement. Unfortunately, I can't reproduce the error, since I don't know which of the requests actually triggered it. 👎