Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
src/main/java/burp/api
target/
40 changes: 24 additions & 16 deletions src/main/java/com/staticflow/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
public class Utils {

private static final String SEARCH = "Search";
private static final String RESET = "Reset";
private static final String ENTER_QUERY = "Enter query...";
private static boolean searchResponseForText = false;
private static boolean searchRequestForText = true;
Expand Down Expand Up @@ -90,8 +91,9 @@ private static Component generateSearchBar() {
JPanel searchBarPanel = new JPanel(new GridBagLayout());
JPanel searchBarButtonsPanel = new JPanel();
searchBarButtonsPanel.setLayout(new BoxLayout(searchBarButtonsPanel,
BoxLayout.Y_AXIS));
BoxLayout.X_AXIS));
JButton searchButton = new JButton(SEARCH);
JButton resetButton = new JButton(RESET);
JTextField searchBar = new JTextField(ENTER_QUERY);
GridBagConstraints c = new GridBagConstraints();

Expand Down Expand Up @@ -123,6 +125,8 @@ public void focusLost(FocusEvent e) {
//BUILD SEARCH SUBMIT AND FILTER COMPONENTS
searchButton.addActionListener(e -> searchRepeaterTabsForString(searchBar.getText()));
searchBarButtonsPanel.add(searchButton);
resetButton.addActionListener(e -> resetRepeaterTabs());
searchBarButtonsPanel.add(resetButton);
JCheckBox searchRequest = new JCheckBox("Request");
searchRequest.setSelected(true);
searchRequest.addChangeListener(e -> searchRequestForText = !searchRequestForText);
Expand Down Expand Up @@ -157,22 +161,26 @@ private static void searchRepeaterTabsForString(String search) {
JTabbedPane repeaterTabs = ExtensionState.getInstance().getRepeaterTabbedPane();
ExtensionState.getInstance().getCallbacks().logging().logToOutput("Searching for: "+search);
for( int i=0; i < repeaterTabs.getTabCount(); i++) {
repeaterTabs.setBackgroundAt(i,new Color(0xBBBBBB));
List<Component> repeaterTabRequestResponseJTextAreas = BurpGuiControl.findAllComponentsOfType((Container) repeaterTabs.getComponentAt(i), JTextArea.class);

if ( searchRequestForText ) {
JTextArea requestTextArea = (JTextArea) repeaterTabRequestResponseJTextAreas.get(0);
ExtensionState.getInstance().getCallbacks().logging().logToOutput(requestTextArea.getText());
if (searchTextArea(search,requestTextArea) ) {
repeaterTabs.setBackgroundAt(i,new Color(0xff6633));
try{
repeaterTabs.setBackgroundAt(i,new Color(0xBBBBBB));
List<Component> repeaterTabRequestResponseJTextAreas = BurpGuiControl.findAllComponentsOfType((Container) repeaterTabs.getComponentAt(i), JTextArea.class);

if ( searchRequestForText ) {
JTextArea requestTextArea = (JTextArea) repeaterTabRequestResponseJTextAreas.get(0);
ExtensionState.getInstance().getCallbacks().logging().logToOutput(requestTextArea.getText());
if (searchTextArea(search,requestTextArea) ) {
repeaterTabs.setBackgroundAt(i,new Color(0xff6633));
}
}
}
if ( searchResponseForText ) {
JTextArea responseTextArea = (JTextArea) repeaterTabRequestResponseJTextAreas.get(1);
ExtensionState.getInstance().getCallbacks().logging().logToOutput(responseTextArea.getText());
if (searchTextArea(search, responseTextArea)) {
repeaterTabs.setBackgroundAt(i,new Color(0xff6633));
if ( searchResponseForText ) {
JTextArea responseTextArea = (JTextArea) repeaterTabRequestResponseJTextAreas.get(1);
ExtensionState.getInstance().getCallbacks().logging().logToOutput(responseTextArea.getText());
if (searchTextArea(search, responseTextArea)) {
repeaterTabs.setBackgroundAt(i,new Color(0xff6633));
}
}
}catch(Exception e){
ExtensionState.getInstance().getCallbacks().logging().logToOutput(e.getMessage());
}
}
}
Expand All @@ -183,7 +191,7 @@ private static void searchRepeaterTabsForString(String search) {
private static void resetRepeaterTabs(){
JTabbedPane repeaterTabs = ExtensionState.getInstance().getRepeaterTabbedPane();
for(int i=0; i < repeaterTabs.getTabCount(); i++) {
repeaterTabs.setBackgroundAt(i,new Color(0xBBBBBB));
repeaterTabs.setBackgroundAt(i,new Color(0x000000));
}
}

Expand Down