From 8b79c71df949dd9acf5c88884d902f43a77a1da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=B4=8B=E1=B4=87=CA=8F?= <24655118+gh0stkey@users.noreply.github.com> Date: Wed, 18 Oct 2023 17:28:07 +0800 Subject: [PATCH] Version: 2.5.1 Update --- src/main/java/burp/BurpExtender.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/burp/BurpExtender.java b/src/main/java/burp/BurpExtender.java index 9037c39..2c536d8 100644 --- a/src/main/java/burp/BurpExtender.java +++ b/src/main/java/burp/BurpExtender.java @@ -126,7 +126,7 @@ public class BurpExtender implements IBurpExtender, IHttpListener, IMessageEdito String addComment = String.join(", ", result.get(1).get("comment")); String allComment = !Objects.equals(originalComment, "") ? String.format("%s, %s", originalComment, addComment) : addComment; resComment = mergeComment(allComment); - messageInfo.setComment(allComment); + messageInfo.setComment(resComment); } String endComment = resComment.isEmpty() ? originalComment : resComment; @@ -139,19 +139,23 @@ public class BurpExtender implements IBurpExtender, IHttpListener, IMessageEdito } private String mergeComment(String comment) { + if (!comment.contains(",")) { + return comment; + } + Map itemCounts = new HashMap<>(); String[] items = comment.split(", "); for (String item : items) { - if (!item.contains("(") || !item.contains(")") || !item.contains(",")) { - // 没有括号的情况,直接返回原始Comment - itemCounts.put(item, 0); - } else { + if (item.contains("(") && item.contains(")")) { int openParenIndex = item.lastIndexOf("("); int closeParenIndex = item.lastIndexOf(")"); String itemName = item.substring(0, openParenIndex).trim(); int count = Integer.parseInt(item.substring(openParenIndex + 1, closeParenIndex).trim()); itemCounts.put(itemName, itemCounts.getOrDefault(itemName, 0) + count); + } else { + itemCounts.put(item, 0); + BurpExtender.stdout.println(String.format("%s: %s", "A", item)); } } @@ -160,9 +164,7 @@ public class BurpExtender implements IBurpExtender, IHttpListener, IMessageEdito for (Map.Entry entry : itemCounts.entrySet()) { String itemName = entry.getKey(); int count = entry.getValue(); - if (count == 0) { - mergedItems.append(itemName); - } else { + if (count != 0) { mergedItems.append(itemName).append(" (").append(count).append("), "); } }