From bf45973bf9bd8f0622267376c5166646de808fbe Mon Sep 17 00:00:00 2001 From: Sleeyax Date: Wed, 26 Feb 2025 20:59:39 +0100 Subject: [PATCH] Fix intercept proxy error handling, remove unused response interceptor --- src/main/java/burp/Extension.java | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/main/java/burp/Extension.java b/src/main/java/burp/Extension.java index 56affe7..737da95 100644 --- a/src/main/java/burp/Extension.java +++ b/src/main/java/burp/Extension.java @@ -3,7 +3,10 @@ import burp.api.montoya.BurpExtension; import burp.api.montoya.MontoyaApi; import burp.api.montoya.http.HttpService; -import burp.api.montoya.proxy.http.*; +import burp.api.montoya.proxy.http.InterceptedRequest; +import burp.api.montoya.proxy.http.ProxyRequestHandler; +import burp.api.montoya.proxy.http.ProxyRequestReceivedAction; +import burp.api.montoya.proxy.http.ProxyRequestToBeSentAction; import com.google.gson.Gson; import java.net.URL; @@ -42,17 +45,6 @@ public ProxyRequestReceivedAction handleRequestReceived(InterceptedRequest inter return ProxyRequestReceivedAction.continueWith(interceptedRequest); } }); - api.proxy().registerResponseHandler(new ProxyResponseHandler() { - @Override - public ProxyResponseToBeSentAction handleResponseToBeSent(InterceptedResponse interceptedResponse) { - return processHttpResponse(interceptedResponse); - } - - @Override - public ProxyResponseReceivedAction handleResponseReceived(InterceptedResponse interceptedResponse) { - return ProxyResponseReceivedAction.continueWith(interceptedResponse); - } - }); new Thread(() -> { var err = ServerLibrary.INSTANCE.StartServer(settings.getSpoofProxyAddress()); @@ -70,6 +62,10 @@ private ProxyRequestToBeSentAction processHttpRequest(InterceptedRequest request try { var requestURL = new URL(request.url()); + if (requestURL.getHost().equals("awesome-tls-error")) { + throw new Error(new String(request.body().getBytes(), StandardCharsets.UTF_8)); + } + var headerOrder = new String[request.headers().size()]; for (var i = 0; i < request.headers().size(); i++) { headerOrder[i] = request.headers().get(i).name(); @@ -91,12 +87,4 @@ private ProxyRequestToBeSentAction processHttpRequest(InterceptedRequest request return null; } } - - private ProxyResponseToBeSentAction processHttpResponse(InterceptedResponse proxyMessage) { - if (proxyMessage.request().httpService().host().equals("awesome-tls-error")) { - api.logging().logToError("Http response error: " + new String(proxyMessage.body().getBytes(), StandardCharsets.UTF_8)); - } - - return ProxyResponseToBeSentAction.continueWith(proxyMessage); - } }