From 58e7f94c2745ff992f8500aed2728e7d1648bbf9 Mon Sep 17 00:00:00 2001 From: NickLech Date: Tue, 17 Jun 2025 10:43:06 +0200 Subject: [PATCH] Removed output streams used for debugging, fixed ReqResPanel --- .../java/org/zaproxy/addon/migt/Main.java | 10 ---- .../org/zaproxy/addon/migt/ReqResPanel.java | 58 +++++++++++-------- .../org/zaproxy/addon/migt/ZAPextender.java | 7 --- 3 files changed, 34 insertions(+), 41 deletions(-) diff --git a/tool/src/main/java/org/zaproxy/addon/migt/Main.java b/tool/src/main/java/org/zaproxy/addon/migt/Main.java index 24255b5..6378630 100644 --- a/tool/src/main/java/org/zaproxy/addon/migt/Main.java +++ b/tool/src/main/java/org/zaproxy/addon/migt/Main.java @@ -894,16 +894,6 @@ private void setup_tab_track() { trackContainer.add(lblTrack, gbc); txtScript = new JTextArea(); - //rimuovere dopo - txtScript.setText("open | http://relying-party.org:8001/oidc/rp/landing |\n" + - "click | xpath=/html/body/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/span[2]/a |\n" + - "click | xpath=/html/body/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/span[2]/div/ul/li[2]/a |\n" + - "type | id=id_username | user\n" + - "type | id=id_password | oidcuser\n" + - "click | xpath=/html/body/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div[2]/div[1]/form/fieldset/div/div/div/div[3]/button/span[2] |\n" + - "click | id=agree |\n" + - "click | xpath=/html/body/div[2]/div/div/div/div/div/div/div/div/div/a |\n" + - "wait | 1000"); gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.WEST; diff --git a/tool/src/main/java/org/zaproxy/addon/migt/ReqResPanel.java b/tool/src/main/java/org/zaproxy/addon/migt/ReqResPanel.java index a4c0829..8fd8595 100644 --- a/tool/src/main/java/org/zaproxy/addon/migt/ReqResPanel.java +++ b/tool/src/main/java/org/zaproxy/addon/migt/ReqResPanel.java @@ -7,7 +7,7 @@ public class ReqResPanel extends JPanel { private final JTextPane textPane; - private static final int MAX_LINE_LENGTH = 500; + private static final int MAX_LINE_LENGTH = 100; private boolean isHexView = false; private HTTPReqRes displayedMsg; public JButton toggleButton; @@ -47,15 +47,20 @@ public void setMessage(HTTPReqRes message, boolean isRequest) throws HttpMalform private String wrapText(String text, int maxLineLength) { if (text == null) return ""; StringBuilder wrappedText = new StringBuilder(); - int start = 0; - while (start < text.length()) { - int end = Math.min(start + maxLineLength, text.length()); - wrappedText.append(text, start, end).append("\n"); - start = end; + String[] lines = text.split("\r?\n"); + + for (String line : lines) { + while (line.length() > maxLineLength) { + wrappedText.append(line, 0, maxLineLength).append("\n"); + line = line.substring(maxLineLength); + } + wrappedText.append(line).append("\n"); } + return wrappedText.toString(); } + private String highlightKeywords(String text) { String[] keywords = {"Host", "User-Agent", "Accept", "Connection", "Upgrade-Insecure-Requests", "Priority", "Accept-Language", "Date", @@ -79,25 +84,29 @@ private void toggleView() { SwingUtilities.invokeLater(() -> { StringBuilder sb = new StringBuilder(""); - if (displayedMsg.isRequest) { - sb.append("Request:
");
-                sb.append(isHexView ? wrapHexText(convertToHex(displayedMsg.Req_header), 100) : highlightKeywords(wrapText(displayedMsg.Req_header, MAX_LINE_LENGTH)));
-
-
-                if (displayedMsg.Req_body != null) {
-                    sb.append(isHexView ? wrapHexText(convertToHex(displayedMsg.Req_body), 100) : wrapText(displayedMsg.Req_body, MAX_LINE_LENGTH));
-
-                }
-            } else {
-                sb.append("Response:
");
-                sb.append(isHexView ? wrapHexText(convertToHex(displayedMsg.Res_header), 100) : highlightKeywords(wrapText(displayedMsg.Res_header, MAX_LINE_LENGTH)));
-
-
-                if (displayedMsg.Res_body != null) {
-                    sb.append(isHexView ? wrapHexText(convertToHex(displayedMsg.Res_body), 100) : wrapText(displayedMsg.Res_body, MAX_LINE_LENGTH));
-
-                }
+            // Request
+            sb.append("Request:
");
+            sb.append(isHexView
+                    ? wrapHexText(convertToHex(displayedMsg.Req_header), 100)
+                    : highlightKeywords(wrapText(displayedMsg.Req_header, MAX_LINE_LENGTH)));
+            if (displayedMsg.Req_body != null) {
+                sb.append(isHexView
+                        ? wrapHexText(convertToHex(displayedMsg.Req_body), 100)
+                        : wrapText(displayedMsg.Req_body, MAX_LINE_LENGTH));
+            }
+            sb.append("

"); + + // Response Section + sb.append("Response:
");
+            sb.append(isHexView
+                    ? wrapHexText(convertToHex(displayedMsg.Res_header), 100)
+                    : highlightKeywords(wrapText(displayedMsg.Res_header, MAX_LINE_LENGTH)));
+            if (displayedMsg.Res_body != null) {
+                sb.append(isHexView
+                        ? wrapHexText(convertToHex(displayedMsg.Res_body), 100)
+                        : wrapText(displayedMsg.Res_body, MAX_LINE_LENGTH));
             }
+            sb.append("
"); sb.append(""); textPane.setText(sb.toString()); @@ -106,6 +115,7 @@ private void toggleView() { }); } + private String wrapHexText(String hexText, int maxLineLength) { StringBuilder wrappedText = new StringBuilder(); int currentLineLength = 0; diff --git a/tool/src/main/java/org/zaproxy/addon/migt/ZAPextender.java b/tool/src/main/java/org/zaproxy/addon/migt/ZAPextender.java index dc1d779..4f936e9 100644 --- a/tool/src/main/java/org/zaproxy/addon/migt/ZAPextender.java +++ b/tool/src/main/java/org/zaproxy/addon/migt/ZAPextender.java @@ -174,10 +174,6 @@ public boolean onHttpRequestSend(HttpMessage msg) { synchronized (mainPane.interceptedMessages) { try { - getView().getOutputPanel().append( - "\n\n" + mainPane.interceptedMessages.get(mainPane.interceptedMessages.size() - 1).getHeadersString(true) + - "\n\n" + new String(mainPane.interceptedMessages.get(mainPane.interceptedMessages.size() - 1).getBody(true))); - mainPane.interceptedMessages.add(new HTTPReqRes(msg, messageIsRequest, msg.getHistoryRef().getHistoryId())); @@ -276,9 +272,6 @@ public boolean onHttpResponseReceive(HttpMessage msg) { try { mainPane.interceptedMessages.add(new HTTPReqRes(msg, messageIsRequest, msg.getHistoryRef().getHistoryId())); - getView().getOutputPanel().append( - "\n\n" + mainPane.interceptedMessages.get(mainPane.interceptedMessages.size() - 1).getHeadersString(false) + - "\n\n" + new String(mainPane.interceptedMessages.get(mainPane.interceptedMessages.size() - 1).getBody(true))); if (mainPane.defaultSession != null) { mainPane.defaultSession.addMessage(msg, mainPane.FILTERING); }