From 3a536a52de975a098bb520a87ce3015ecc1c752c Mon Sep 17 00:00:00 2001 From: gh0stkey <24655118+gh0stkey@users.noreply.github.com> Date: Fri, 2 Feb 2024 19:07:03 +0800 Subject: [PATCH] Version: 2.6 Update --- README.md | 6 +- images/rules.png | Bin 102380 -> 119722 bytes src/main/java/burp/BurpExtender.java | 2 +- src/main/java/burp/config/ConfigLoader.java | 2 +- .../core/processor/DataProcessingUnit.java | 163 ++++++++++++++---- src/main/java/burp/rule/RuleProcessor.java | 9 +- src/main/java/burp/rule/model/Rule.java | 6 +- src/main/java/burp/ui/MainUI.java | 2 +- src/main/java/burp/ui/board/Databoard.java | 42 +++-- .../java/burp/ui/board/DatatablePanel.java | 4 +- src/main/java/burp/ui/board/MessagePanel.java | 105 ++++++----- src/main/java/burp/ui/rule/RulePane.java | 39 +++-- src/main/java/burp/ui/rule/RuleSetting.java | 37 ++-- 13 files changed, 288 insertions(+), 129 deletions(-) diff --git a/README.md b/README.md index e857273..ab5322f 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,16 @@ ### 规则释义 -HaE目前的规则一共有6个字段,分别是规则名称、规则正则、规则作用域、正则引擎、规则匹配颜色、规则敏感性。 +HaE目前的规则一共有8个字段,分别是规则名称、规则正则、规则作用域、正则引擎、规则匹配颜色、规则敏感性。 详细的含义如下所示: | 字段 | 含义 | |-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Name | 规则名称,主要用于简短概括当前规则的作用。 | -| Regex | 规则正则,主要用于填写正则表达式。在HaE中所需提取匹配的内容需要用`(`、`)`将正则表达式进行包裹。 | +| F-Regex | 规则正则,主要用于填写正则表达式。在HaE中所需提取匹配的内容需要用`(`、`)`将正则表达式进行包裹。| +| S-Regex | 规则正则,作用及使用同F-Regex。S-Regex为二次正则,可以用于对F-Regex匹配的数据结果进行二次的匹配提取,如不需要的情况下可以留空。| +| Format | 格式化输出,在NFA引擎的正则表达式中,我们可以通过`{0}`、`{1}`、`{2}`…的方式进行取分组格式化输出。默认情况下使用`{0}`即可。 | | Scope | 规则作用域,主要用于表示当前规则作用于HTTP报文的哪个部分。 | | Engine | 正则引擎,主要用于表示当前规则的正则表达式所使用的引擎。**DFA引擎**:对于文本串里的每一个字符只需扫描一次,速度快、特性少;**NFA引擎**:要翻来覆去标注字符、取消标注字符,速度慢,但是特性(如:分组、替换、分割)丰富。 | | Color | 规则匹配颜色,主要用于表示当前规则匹配到对应HTTP报文时所需标记的高亮颜色。在HaE中具备颜色升级算法,当出现相同颜色时会自动向上升级一个颜色进行标记。 | diff --git a/images/rules.png b/images/rules.png index 3dfadbcf8120c201a9975b4069b09e53bb2b89c0..7f5c59a950fa19b34bc78beb8dfd087f11938eec 100644 GIT binary patch literal 119722 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 literal 102380 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 diff --git a/src/main/java/burp/BurpExtender.java b/src/main/java/burp/BurpExtender.java index 0ee2439..55a01c1 100644 --- a/src/main/java/burp/BurpExtender.java +++ b/src/main/java/burp/BurpExtender.java @@ -36,7 +36,7 @@ public void registerExtenderCallbacks(final IBurpExtenderCallbacks callbacks) new ConfigLoader(); - String version = "2.5.11"; + String version = "2.6"; callbacks.setExtensionName(String.format("HaE (%s) - Highlighter and Extractor", version)); // 定义输出 diff --git a/src/main/java/burp/config/ConfigLoader.java b/src/main/java/burp/config/ConfigLoader.java index 02f8404..95f96af 100644 --- a/src/main/java/burp/config/ConfigLoader.java +++ b/src/main/java/burp/config/ConfigLoader.java @@ -112,7 +112,7 @@ public static String getExcludeSuffix(){ public static Map getRules() { Map rulesMap = YamlTool.loadYaml(getRulesFilePath()); Map resRule = new HashMap<>(); - String[] fieldKeys = {"loaded", "name", "regex", "color", "scope", "engine", "sensitive"}; + String[] fieldKeys = {"loaded", "name", "f_regex", "s_regex", "format", "color", "scope", "engine", "sensitive"}; Object rulesObj = rulesMap.get("rules"); if (rulesObj instanceof List) { diff --git a/src/main/java/burp/core/processor/DataProcessingUnit.java b/src/main/java/burp/core/processor/DataProcessingUnit.java index 618fed1..0d2b03b 100644 --- a/src/main/java/burp/core/processor/DataProcessingUnit.java +++ b/src/main/java/burp/core/processor/DataProcessingUnit.java @@ -12,6 +12,7 @@ import dk.brics.automaton.RunAutomaton; import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; +import java.text.MessageFormat; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -66,13 +67,16 @@ public Map> matchContentByRegex(byte[] content, Stri List result = new ArrayList<>(); Map tmpMap = new HashMap<>(); - String name = objects[1].toString(); boolean loaded = (Boolean) objects[0]; - String regex = objects[2].toString(); - String color = objects[3].toString(); - String scope = objects[4].toString(); - String engine = objects[5].toString(); - boolean sensitive = (Boolean) objects[6]; + String name = objects[1].toString(); + String f_regex = objects[2].toString(); + String s_regex = objects[3].toString(); + String format = objects[4].toString(); + String color = objects[5].toString(); + String scope = objects[6].toString(); + String engine = objects[7].toString(); + boolean sensitive = (Boolean) objects[8]; + // 判断规则是否开启与作用域 if (loaded && (scope.contains(scopeString) || scope.contains("any"))) { switch (scope) { @@ -96,34 +100,9 @@ public Map> matchContentByRegex(byte[] content, Stri } try { - if ("nfa".equals(engine)) { - Pattern pattern; - // 判断规则是否大小写敏感 - if (sensitive) { - pattern = new Pattern(regex); - } else { - pattern = new Pattern(regex, Pattern.IGNORE_CASE); - } - - Matcher matcher = pattern.matcher(matchContent); - while (matcher.find()) { - // 添加匹配数据至list - // 强制用户使用()包裹正则 - result.add(matcher.group(1)); - } - } else { - RegExp regexp = new RegExp(regex); - Automaton auto = regexp.toAutomaton(); - RunAutomaton runAuto = new RunAutomaton(auto, true); - AutomatonMatcher autoMatcher = runAuto.newMatcher(matchContent); - while (autoMatcher.find()) { - // 添加匹配数据至list - // 强制用户使用()包裹正则 - result.add(autoMatcher.group()); - } - } + result.addAll(matchByRegex(f_regex, s_regex, matchContent, format, engine, sensitive)); } catch (Exception e) { - BurpExtender.stdout.println(String.format("[x] Error Info:\nName: %s\nRegex: %s", name, regex)); + BurpExtender.stdout.println(String.format("[x] Error Info:\nName: %s\nRegex: %s", name, f_regex)); e.printStackTrace(); continue; } @@ -190,6 +169,122 @@ public Map> matchContentByRegex(byte[] content, Stri GlobalCachePool.addToCache(messageIndex, finalMap); return finalMap; } + } + + private List matchByRegex(String f_regex, String s_regex, String content, String format, String engine, boolean sensitive) { + List retList = new ArrayList<>(); + if ("nfa".equals(engine)) { + Matcher matcher = createPatternMatcher(f_regex, content, sensitive); + retList.addAll(extractMatches(s_regex, format, sensitive, matcher)); + } else { + String newContent = content; + String newFirstRegex = f_regex; + if (!sensitive) { + newContent = content.toLowerCase(); + newFirstRegex = f_regex.toLowerCase(); + } + AutomatonMatcher autoMatcher = createAutomatonMatcher(newFirstRegex, newContent); + retList.addAll(extractMatches(s_regex, format, autoMatcher, content)); + } + return retList; + } + + private List extractMatches(String s_regex, String format, boolean sensitive, Matcher matcher) { + List matches = new ArrayList<>(); + if (s_regex.isEmpty()) { + matches.addAll(getFormatString(matcher, format)); + } else { + while (matcher.find()) { + matcher = createPatternMatcher(s_regex, matcher.group(1), sensitive); + matches.addAll(getFormatString(matcher, format)); + } + } + return matches; + } + + private List extractMatches(String s_regex, String format, AutomatonMatcher autoMatcher, String content) { + List matches = new ArrayList<>(); + if (s_regex.isEmpty()) { + matches.addAll(getFormatString(autoMatcher, format, content)); + } else { + while (autoMatcher.find()) { + autoMatcher = createAutomatonMatcher(s_regex, getSubString(content, autoMatcher.group())); + matches.addAll(getFormatString(autoMatcher, format, content)); + } + } + return matches; + } + + public List getFormatString(Matcher matcher, String format) { + List indexList = parseIndexesFromString(format); + List stringList = new ArrayList<>(); + + while (matcher.find()) { + Object[] params = indexList.stream().map(i -> { + if (matcher.group(i+1) != null) { + return matcher.group(i+1); + } + return ""; + }).toArray(); + stringList.add(MessageFormat.format(reorderIndex(format), params)); + } + + return stringList; + } + + public List getFormatString(AutomatonMatcher matcher, String format, String content) { + List indexList = parseIndexesFromString(format); + List stringList = new ArrayList<>(); + + while (matcher.find()) { + Object[] params = indexList.stream().map(i -> getSubString(content, matcher.group(i))).toArray(); + stringList.add(MessageFormat.format(reorderIndex(format), params)); + } + + return stringList; + } + + private Matcher createPatternMatcher(String regex, String content, boolean sensitive) { + Pattern pattern = (sensitive) ? new Pattern(regex) : new Pattern(regex, Pattern.IGNORE_CASE); + return pattern.matcher(content); + } + private AutomatonMatcher createAutomatonMatcher(String regex, String content) { + RegExp regexp = new RegExp(regex); + Automaton auto = regexp.toAutomaton(); + RunAutomaton runAuto = new RunAutomaton(auto, true); + return runAuto.newMatcher(content); } -} \ No newline at end of file + + private LinkedList parseIndexesFromString(String input) { + LinkedList indexes = new LinkedList<>(); + Pattern pattern = new Pattern("\\{(\\d+)}"); + Matcher matcher = pattern.matcher(input); + + while (matcher.find()) { + indexes.add(Integer.valueOf(matcher.group(1))); + } + + return indexes; + } + + private String getSubString(String content, String s) { + int startIndex = content.toLowerCase().indexOf(s); + int endIndex = startIndex + s.length(); + return content.substring(startIndex, endIndex); + } + + private String reorderIndex(String format) { + Pattern pattern = new Pattern("\\{(\\d+)}"); + Matcher matcher = pattern.matcher(format); + int count = 0; + while (matcher.find()) { + String newStr = String.format("{%s}", count); + String matchStr = matcher.group(0); + format = format.replace(matchStr, newStr); + count++; + } + return format; + } +} + diff --git a/src/main/java/burp/rule/RuleProcessor.java b/src/main/java/burp/rule/RuleProcessor.java index 5f655ed..bd1d1b1 100644 --- a/src/main/java/burp/rule/RuleProcessor.java +++ b/src/main/java/burp/rule/RuleProcessor.java @@ -33,7 +33,9 @@ public void rulesFormatAndSave() { (String) objects[3], (String) objects[4], (String) objects[5], - (boolean) objects[6])) + (String) objects[6], + (String) objects[7], + (boolean) objects[8])) .collect(Collectors.toList()); ruleGroupList.add(new RuleGroup(k, ruleList)); }); @@ -80,17 +82,20 @@ public void deleteRuleGroup(String Rules) { ConfigEntry.globalRules.remove(Rules); this.rulesFormatAndSave(); } + public String newRule() { int i = 0; String name = "New "; Object[][] data = new Object[][] { { - false, "New Name", "(New Regex)", "gray", "any", "nfa", false + false, "New Name", "(First Regex)", "(Second Regex)", "{0}", "gray", "any", "nfa", false } }; + while (ConfigEntry.globalRules.containsKey(name + i)) { i++; } + ConfigEntry.globalRules.put(name + i, data); this.rulesFormatAndSave(); return name + i; diff --git a/src/main/java/burp/rule/model/Rule.java b/src/main/java/burp/rule/model/Rule.java index fcc5191..a22a778 100644 --- a/src/main/java/burp/rule/model/Rule.java +++ b/src/main/java/burp/rule/model/Rule.java @@ -10,11 +10,13 @@ public class Rule { private Map fields; - public Rule(boolean loaded, String name, String regex, String color, String scope, String engine, boolean sensitive) { + public Rule(boolean loaded, String name, String f_regex, String s_regex, String format, String color, String scope, String engine, boolean sensitive) { fields = new LinkedHashMap<>(); fields.put("name", name); fields.put("loaded", loaded); - fields.put("regex", regex); + fields.put("f_regex", f_regex); + fields.put("s_regex", s_regex); + fields.put("format", format); fields.put("color", color); fields.put("scope", scope); fields.put("engine", engine); diff --git a/src/main/java/burp/ui/MainUI.java b/src/main/java/burp/ui/MainUI.java index b1d293b..de9afd0 100644 --- a/src/main/java/burp/ui/MainUI.java +++ b/src/main/java/burp/ui/MainUI.java @@ -294,7 +294,7 @@ protected TabTitleEditListener(JTabbedPane tabbedPane) { } public void newTab(){ - Object[][] data = new Object[][]{{false, "New Name", "(New Regex)", "gray", "any", "nfa", false}}; + Object[][] data = new Object[][]{{false, "New Name", "(New Regex)", "", "{0}", "gray", "any", "nfa", false}}; insertTab(ruleEditTabbedPane, ruleProcessor.newRule(),data); } diff --git a/src/main/java/burp/ui/board/Databoard.java b/src/main/java/burp/ui/board/Databoard.java index 60c8808..891633e 100644 --- a/src/main/java/burp/ui/board/Databoard.java +++ b/src/main/java/burp/ui/board/Databoard.java @@ -109,9 +109,28 @@ private void initComponents() { GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(8, 0, 5, 5), 0, 0)); + splitPane.addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + resizePanel(); + } + }); + setAutoMatch(); } + private void resizePanel() { + splitPane.setDividerLocation(0.4); + TableColumnModel columnModel = table.getColumnModel(); + int totalWidth = (int) (getWidth() * 0.6); + columnModel.getColumn(0).setPreferredWidth((int) (totalWidth * 0.1)); + columnModel.getColumn(1).setPreferredWidth((int) (totalWidth * 0.3)); + columnModel.getColumn(2).setPreferredWidth((int) (totalWidth * 0.3)); + columnModel.getColumn(3).setPreferredWidth((int) (totalWidth * 0.1)); + columnModel.getColumn(4).setPreferredWidth((int) (totalWidth * 0.1)); + columnModel.getColumn(5).setPreferredWidth((int) (totalWidth * 0.1)); + } + private static List getHostByList() { return new ArrayList<>(ConfigEntry.globalDataMap.keySet()); } @@ -236,6 +255,7 @@ private void populateTabbedPaneByHost(String selectedHost) { dataTabbedPane.removeAll(); dataTabbedPane.setPreferredSize(new Dimension(500,0)); dataTabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); + dataTabbedPane.removeChangeListener(changeListenerInstance); splitPane.setLeftComponent(dataTabbedPane); if (selectedHost.contains("*")) { @@ -263,10 +283,12 @@ private void populateTabbedPaneByHost(String selectedHost) { } if (selectedHost.equals("**")) { + if (currentWorker != null && !currentWorker.isDone()) { + currentWorker.cancel(true); + } for (ConcurrentHashMap.Entry>> entry : dataMap.entrySet()) { JTabbedPane newTabbedPane = new JTabbedPane(); newTabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); - for (Map.Entry> entrySet : entry.getValue().entrySet()) { currentWorker = new SwingWorker() { @Override @@ -300,8 +322,6 @@ protected void done() { dataTabbedPane.addChangeListener(changeListenerInstance); } else { - dataTabbedPane.removeChangeListener(changeListenerInstance); - for (Map.Entry> entry : selectedDataMap.entrySet()) { String tabTitle = String.format("%s (%s)", entry.getKey(), entry.getValue().size()); DatatablePanel datatablePanel = new DatatablePanel(entry.getKey(), entry.getValue()); @@ -315,21 +335,7 @@ protected void done() { this.splitPane.setRightComponent(messageSplitPane); table = this.messagePanel.getTable(); - this.splitPane.addComponentListener(new ComponentAdapter() { - @Override - public void componentResized(ComponentEvent e) { - splitPane.setDividerLocation(0.4); - TableColumnModel columnModel = table.getColumnModel(); - int totalWidth = (int) (getWidth() * 0.6); - columnModel.getColumn(0).setPreferredWidth((int) (totalWidth * 0.1)); - columnModel.getColumn(1).setPreferredWidth((int) (totalWidth * 0.3)); - columnModel.getColumn(2).setPreferredWidth((int) (totalWidth * 0.3)); - columnModel.getColumn(3).setPreferredWidth((int) (totalWidth * 0.1)); - columnModel.getColumn(4).setPreferredWidth((int) (totalWidth * 0.1)); - columnModel.getColumn(5).setPreferredWidth((int) (totalWidth * 0.1)); - } - }); - + resizePanel(); splitPane.setVisible(true); applyHostFilter(selectedHost); diff --git a/src/main/java/burp/ui/board/DatatablePanel.java b/src/main/java/burp/ui/board/DatatablePanel.java index 0817d30..44a5513 100644 --- a/src/main/java/burp/ui/board/DatatablePanel.java +++ b/src/main/java/burp/ui/board/DatatablePanel.java @@ -66,7 +66,9 @@ public int compare(Integer s1, Integer s2) { idColumn.setMaxWidth(50); for (String item : list) { - addRowToTable(model, new Object[]{item}); + if (!item.isEmpty()) { + addRowToTable(model, new Object[]{item}); + } } String defaultText = "Search"; diff --git a/src/main/java/burp/ui/board/MessagePanel.java b/src/main/java/burp/ui/board/MessagePanel.java index e135aa7..90b693e 100644 --- a/src/main/java/burp/ui/board/MessagePanel.java +++ b/src/main/java/burp/ui/board/MessagePanel.java @@ -16,11 +16,13 @@ import java.net.URL; import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTabbedPane; @@ -216,56 +218,61 @@ public void applyMessageFilter(String tableName, String filterText) { int responseBodyOffset = helpers.analyzeResponse(responseByte).getBodyOffset(); String responseBody = new String(Arrays.copyOfRange(responseByte, responseBodyOffset, responseByte.length), StandardCharsets.UTF_8); - final boolean[] isMatched = {false}; // 标志变量,表示是否满足过滤条件 + // 标志变量,表示是否满足过滤条件 + AtomicBoolean isMatched = new AtomicBoolean(false); ConfigEntry.globalRules.keySet().forEach(i -> { for (Object[] objects : ConfigEntry.globalRules.get(i)) { String name = objects[1].toString(); - String scope = objects[4].toString(); - if (name.contains(tableName)) { - boolean match = false; // 标志变量,表示当前规则是否匹配 - - switch (scope) { - case "any": - match = requestString.contains(filterText) || responseString.contains(filterText); - break; - case "request": - match = requestString.contains(filterText); - break; - case "response": - match = responseString.contains(filterText); - break; - case "any header": - match = requestHeaders.contains(filterText) || responseHeaders.contains(filterText); - break; - case "request header": - match = requestHeaders.contains(filterText); - break; - case "response header": - match = responseHeaders.contains(filterText); - break; - case "any body": - match = requestBody.contains(filterText) || responseBody.contains(filterText); - break; - case "request body": - match = requestBody.contains(filterText); - break; - case "response body": - match = responseBody.contains(filterText); - break; - default: - break; - } + String format = objects[4].toString(); + String scope = objects[6].toString(); + + // 从注释中查看是否包含当前规则名,包含的再进行查询,有效减少无意义的检索时间 + if (entry.getComment().contains(name)) { + if (name.equals(tableName)) { + // 标志变量,表示当前规则是否匹配 + boolean isMatch = false; + + switch (scope) { + case "any": + isMatch = matchingString(format, filterText, requestString) || matchingString(format, filterText, responseString); + break; + case "request": + isMatch = matchingString(format, filterText, requestString); + break; + case "response": + isMatch = matchingString(format, filterText, responseString); + break; + case "any header": + isMatch = matchingString(format, filterText, requestHeaders) || matchingString(format, filterText, responseHeaders); + break; + case "request header": + isMatch = matchingString(format, filterText, requestHeaders); + break; + case "response header": + isMatch = matchingString(format, filterText, responseHeaders); + break; + case "any body": + isMatch = matchingString(format, filterText, requestBody) || matchingString(format, filterText, responseBody); + break; + case "request body": + isMatch = matchingString(format, filterText, requestBody); + break; + case "response body": + isMatch = matchingString(format, filterText, responseBody); + break; + default: + break; + } - if (match) { - isMatched[0] = true; + isMatched.set(isMatch); break; } } } }); - if (isMatched[0]) { + if (isMatched.get()) { filteredLog.add(entry); } } @@ -273,6 +280,26 @@ public void applyMessageFilter(String tableName, String filterText) { logTable.lastSelectedIndex = -1; } + private boolean matchingString(String format, String filterText, String target) { + boolean isMatch = true; + + try { + MessageFormat mf = new MessageFormat(format); + Object[] parsedObjects = mf.parse(filterText); + + for (Object parsedObject : parsedObjects) { + if (!target.contains(parsedObject.toString())) { + isMatch = false; + break; + } + } + } catch (Exception e) { + isMatch = false; + } + + return isMatch; + } + public void deleteByHost(String filterText) { filteredLog.clear(); List rowsToRemove = new ArrayList<>(); diff --git a/src/main/java/burp/ui/rule/RulePane.java b/src/main/java/burp/ui/rule/RulePane.java index 4b66be2..6bce47e 100644 --- a/src/main/java/burp/ui/rule/RulePane.java +++ b/src/main/java/burp/ui/rule/RulePane.java @@ -20,7 +20,7 @@ public class RulePane extends JPanel { private DefaultTableModel model = createModel(); private static final int YES_OPTION = JOptionPane.YES_OPTION; private static final String[] TITLE = { - "Loaded", "Name", "Regex", "Color", "Scope", "Engine", "Sensitive" + "Loaded", "Name", "F-Regex", "S-Regex", "Format", "Color", "Scope", "Engine", "Sensitive" }; public RulePane(Object[][] data, JTabbedPane pane) { @@ -44,14 +44,19 @@ public boolean isCellEditable(int row, int column) { private void updateModel() { model = (DefaultTableModel) ruleTable.getModel(); } + private void ruleAddActionPerformed(ActionEvent e, JTabbedPane pane) { RuleSetting ruleSettingPanel = new RuleSetting(); + ruleSettingPanel.formatTextField.setText("{0}"); + int showState = JOptionPane.showConfirmDialog(null, ruleSettingPanel, "Add Rule", JOptionPane.OK_OPTION); if (showState == YES_OPTION) { Vector ruleData = new Vector<>(); ruleData.add(false); ruleData.add(ruleSettingPanel.ruleNameTextField.getText()); - ruleData.add(ruleSettingPanel.regexTextField.getText()); + ruleData.add(ruleSettingPanel.firstRegexTextField.getText()); + ruleData.add(ruleSettingPanel.secondRegexTextField.getText()); + ruleData.add(ruleSettingPanel.formatTextField.getText()); ruleData.add(ruleSettingPanel.colorComboBox.getSelectedItem().toString()); ruleData.add(ruleSettingPanel.scopeComboBox.getSelectedItem().toString()); ruleData.add(ruleSettingPanel.engineComboBox.getSelectedItem().toString()); @@ -66,13 +71,15 @@ private void ruleEditActionPerformed(ActionEvent e, JTabbedPane pane){ if (ruleTable.getSelectedRowCount() >= 1){ RuleSetting ruleSettingPanel = new RuleSetting(); ruleSettingPanel.ruleNameTextField.setText(ruleTable.getValueAt(ruleTable.getSelectedRow(), 1).toString()); - ruleSettingPanel.regexTextField.setText(ruleTable.getValueAt(ruleTable.getSelectedRow(), 2).toString()); - ruleSettingPanel.colorComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(), 3).toString()); - ruleSettingPanel.scopeComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(), 4).toString()); - ruleSettingPanel.engineComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(), 5).toString()); - ruleSettingPanel.sensitiveComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(),6)); - - ruleSettingPanel.sensitiveComboBox.setEnabled( + ruleSettingPanel.firstRegexTextField.setText(ruleTable.getValueAt(ruleTable.getSelectedRow(), 2).toString()); + ruleSettingPanel.secondRegexTextField.setText(ruleTable.getValueAt(ruleTable.getSelectedRow(), 3).toString()); + ruleSettingPanel.formatTextField.setText(ruleTable.getValueAt(ruleTable.getSelectedRow(), 4).toString()); + ruleSettingPanel.colorComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(), 5).toString()); + ruleSettingPanel.scopeComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(), 6).toString()); + ruleSettingPanel.engineComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(), 7).toString()); + ruleSettingPanel.sensitiveComboBox.setSelectedItem(ruleTable.getValueAt(ruleTable.getSelectedRow(),8)); + + ruleSettingPanel.formatTextField.setEnabled( ruleSettingPanel.engineComboBox.getSelectedItem().toString().equals("nfa") ); @@ -80,11 +87,13 @@ private void ruleEditActionPerformed(ActionEvent e, JTabbedPane pane){ if (showState == 0){ int select = ruleTable.convertRowIndexToModel(ruleTable.getSelectedRow()); model.setValueAt(ruleSettingPanel.ruleNameTextField.getText(), select, 1); - model.setValueAt(ruleSettingPanel.regexTextField.getText(), select, 2); - model.setValueAt(ruleSettingPanel.colorComboBox.getSelectedItem().toString(), select, 3); - model.setValueAt(ruleSettingPanel.scopeComboBox.getSelectedItem().toString(), select, 4); - model.setValueAt(ruleSettingPanel.engineComboBox.getSelectedItem().toString(), select, 5); - model.setValueAt(ruleSettingPanel.sensitiveComboBox.getSelectedItem(), select, 6); + model.setValueAt(ruleSettingPanel.firstRegexTextField.getText(), select, 2); + model.setValueAt(ruleSettingPanel.secondRegexTextField.getText(), select, 3); + model.setValueAt(ruleSettingPanel.formatTextField.getText(), select, 4); + model.setValueAt(ruleSettingPanel.colorComboBox.getSelectedItem().toString(), select, 5); + model.setValueAt(ruleSettingPanel.scopeComboBox.getSelectedItem().toString(), select, 6); + model.setValueAt(ruleSettingPanel.engineComboBox.getSelectedItem().toString(), select, 7); + model.setValueAt(ruleSettingPanel.sensitiveComboBox.getSelectedItem(), select, 8); model = (DefaultTableModel) ruleTable.getModel(); ruleProcessor.changeRule((Vector) model.getDataVector().get(select), select, pane.getTitleAt(pane.getSelectedIndex())); } @@ -93,7 +102,7 @@ private void ruleEditActionPerformed(ActionEvent e, JTabbedPane pane){ private void ruleRemoveActionPerformed(ActionEvent e, JTabbedPane pane){ if (ruleTable.getSelectedRowCount() >= 1){ - int isOk = JOptionPane.showConfirmDialog(null, "Are your sure?", "Delete Rule", JOptionPane.OK_OPTION); + int isOk = JOptionPane.showConfirmDialog(null, "Are you sure you want to delete this rule?", "Info", JOptionPane.OK_OPTION); if (isOk == 0){ int select = ruleTable.convertRowIndexToModel(ruleTable.getSelectedRow()); model.removeRow(select); diff --git a/src/main/java/burp/ui/rule/RuleSetting.java b/src/main/java/burp/ui/rule/RuleSetting.java index ca52ec3..f647f20 100644 --- a/src/main/java/burp/ui/rule/RuleSetting.java +++ b/src/main/java/burp/ui/rule/RuleSetting.java @@ -9,8 +9,9 @@ */ public class RuleSetting extends JPanel { - - public JTextField regexTextField; + public JTextField firstRegexTextField; + public JTextField secondRegexTextField; + public JTextField formatTextField; public JTextField ruleNameTextField; public JComboBox scopeComboBox; public JComboBox engineComboBox; @@ -29,21 +30,31 @@ private void initComponents() { addLabel("Name:", 0, c); ruleNameTextField = addTextField(0, c); - addLabel("Regex:", 1, c); - regexTextField = addTextField(1, c); + addLabel("F-Regex:", 1, c); + firstRegexTextField = addTextField(1, c); + + addLabel("S-Regex:", 2, c); + secondRegexTextField = addTextField(2, c); + + addLabel("Format:", 3, c); + formatTextField = addTextField(3, c); - addLabel("Scope:", 2, c); - scopeComboBox = addComboBox(ConfigEntry.scopeArray, 2, c); + addLabel("Scope:", 4, c); + scopeComboBox = addComboBox(ConfigEntry.scopeArray, 4, c); - addLabel("Engine:", 3, c); - engineComboBox = addComboBox(ConfigEntry.engineArray, 3, c); - engineComboBox.addActionListener(e -> sensitiveComboBox.setEnabled("nfa".equals(engineComboBox.getSelectedItem().toString()))); + addLabel("Engine:", 5, c); + engineComboBox = addComboBox(ConfigEntry.engineArray, 5, c); + engineComboBox.addActionListener(e -> { + boolean isNfa = "nfa".equals(engineComboBox.getSelectedItem().toString()); + formatTextField.setEnabled(isNfa); + formatTextField.setText(isNfa ? formatTextField.getText() : "{0}"); + }); - addLabel("Color:", 4, c); - colorComboBox = addComboBox(ConfigEntry.colorArray, 4, c); + addLabel("Color:", 6, c); + colorComboBox = addComboBox(ConfigEntry.colorArray, 6, c); - addLabel("Sensitive:", 5, c); - sensitiveComboBox = addComboBox(new Boolean[]{true, false}, 5, c); + addLabel("Sensitive:", 7, c); + sensitiveComboBox = addComboBox(new Boolean[]{true, false}, 7, c); } private void addLabel(String text, int y, GridBagConstraints c) {