diff --git a/src/main/java/burp/BurpExtender.java b/src/main/java/burp/BurpExtender.java index fa407e2..0e35e32 100644 --- a/src/main/java/burp/BurpExtender.java +++ b/src/main/java/burp/BurpExtender.java @@ -143,6 +143,7 @@ public void stateChanged(ChangeEvent arg0) { public boolean isEnabled(byte[] content, boolean isRequest) { String c = new String(content, StandardCharsets.UTF_8).intern(); List> result = pm.processMessageByContent(helpers, content, isRequest, false, ""); + if (result != null && !result.isEmpty()) { Map dataMap = result.get(0); if (isRequest) { diff --git a/src/main/java/burp/Config.java b/src/main/java/burp/Config.java index a86685a..b867494 100644 --- a/src/main/java/burp/Config.java +++ b/src/main/java/burp/Config.java @@ -13,6 +13,8 @@ public class Config { public static String[] scopeArray = new String[] { "any", + "any header", + "any body", "response", "response header", "response body", diff --git a/src/main/java/burp/action/ExtractContent.java b/src/main/java/burp/action/ExtractContent.java index 266f5c9..9ab0fd1 100644 --- a/src/main/java/burp/action/ExtractContent.java +++ b/src/main/java/burp/action/ExtractContent.java @@ -33,23 +33,25 @@ public Map> matchRegex(byte[] content, String header String engine = objects[5].toString(); boolean sensitive = (Boolean) objects[6]; // 判断规则是否开启与作用域 - if (loaded && (scope.contains(scopeString) || "any".equals(scope))) { + if (loaded && (scope.contains(scopeString) || scope.contains("any"))) { switch (scope) { case "any": case "request": case "response": matchContent = new String(content, StandardCharsets.UTF_8).intern(); break; + case "any header": case "request header": case "response header": matchContent = headers; break; + case "any body": case "request body": case "response body": matchContent = new String(body, StandardCharsets.UTF_8).intern(); break; default: - break; + return; } if ("nfa".equals(engine)) { diff --git a/src/main/java/burp/action/ProcessMessage.java b/src/main/java/burp/action/ProcessMessage.java index 558c257..cee4d8d 100644 --- a/src/main/java/burp/action/ProcessMessage.java +++ b/src/main/java/burp/action/ProcessMessage.java @@ -1,5 +1,6 @@ package burp.action; +import burp.BurpExtender; import burp.IExtensionHelpers; import java.util.ArrayList; import java.util.Arrays;