def run(self): frame = JFrame('HTMLtext_03', size=(100, 100), locationRelativeTo=None, defaultCloseOperation=JFrame.EXIT_ON_CLOSE) text = '<html><font color="red">Off</font>' label = frame.add(JToggleButton(text, itemStateChanged=self.toggle)) frame.setVisible(1)
def run( self ) : frame = JFrame( 'Toggle Button', layout = FlowLayout(), size = ( 275, 85 ), defaultCloseOperation = JFrame.EXIT_ON_CLOSE ) button = JToggleButton( # Make a toggle button 'Off' , # Initial button text itemStateChanged = self.toggle # Event handler ) frame.add( button ) frame.setVisible( 1 )
def startGui(self): frame = JFrame("Life", defaultCloseOperation=JFrame.EXIT_ON_CLOSE) self.gridPanel = JPanel(GridLayout(self.numRows, self.numCols)) self.cellButtons = self._doForAllCells(self._createCellButton) self.grid = self._doForAllCells(lambda r, c: False) frame.add(self.gridPanel) buttonPanel = JPanel(FlowLayout()) stepButton = JButton("Step", actionPerformed=self._step) runButton = JToggleButton("Run", actionPerformed=self._run) buttonPanel.add(stepButton) buttonPanel.add(runButton) frame.add(buttonPanel, SOUTH) frame.pack() frame.locationRelativeTo = None frame.visible = True
def startGui(self): frame = JFrame("Life", defaultCloseOperation=JFrame.EXIT_ON_CLOSE) (R, C) = (self.numRows, self.numCols) gridPanel = JPanel(GridLayout(R, C)) self.checkBoxes = [[JCheckBox() for c in range(C)] for r in range(R)] self.grid = [[False for c in range(C)] for r in range(R)] for r in range(R): for c in range(C): gridPanel.add(self.checkBoxes[r][c]) frame.add(gridPanel) buttonPanel = JPanel(FlowLayout()) stepButton = JButton("Step", actionPerformed=self._step) runButton = JToggleButton("Run", actionPerformed=self._run) buttonPanel.add(stepButton) buttonPanel.add(runButton) frame.add(buttonPanel, SOUTH) frame.pack() frame.locationRelativeTo = None frame.visible = True
def configTab(self): Config = JLabel("Config") self.startButton = JToggleButton("Intercept Off", actionPerformed=self.startOrStop) self.startButton.setBounds(40, 30, 200, 30) self.autoScroll = JCheckBox("Auto Scroll") self.autoScroll.setBounds(40, 80, 200, 30) self.xsscheck = JCheckBox("Detect XSS") self.xsscheck.setSelected(True) self.xsscheck.setBounds(40, 110, 200, 30) self.sqlicheck = JCheckBox("Detect SQLi") self.sqlicheck.setSelected(True) self.sqlicheck.setBounds(40, 140, 200, 30) self.ssticheck = JCheckBox("Detect SSTI") self.ssticheck.setSelected(True) self.ssticheck.setBounds(40, 170, 200, 30) self.blindxss = JCheckBox("Blind XSS") self.blindxss.setBounds(40, 200, 200, 30) self.BlindXSSText = JTextArea("", 5, 30) scrollbxssText = JScrollPane(self.BlindXSSText) scrollbxssText.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED) scrollbxssText.setBounds(40, 250, 400, 110) self.configtab = JPanel() self.configtab.setLayout(None) self.configtab.setBounds(0, 0, 300, 300) self.configtab.add(Config) self.configtab.add(self.startButton) self.configtab.add(self.autoScroll) self.configtab.add(self.xsscheck) self.configtab.add(self.sqlicheck) self.configtab.add(self.ssticheck) self.configtab.add(self.blindxss) self.configtab.add(scrollbxssText)
def _createCellButton(self, r, c): button = JToggleButton() s = button.preferredSize button.preferredSize = (s.height, s.height) # Make square self.gridPanel.add(button) return button
def draw(self): """ init configuration tab """ self._extender.startButton = JToggleButton("Autorize is off", actionPerformed=self.startOrStop) self._extender.startButton.setBounds(10, 20, 230, 30) self._extender.clearButton = JButton("Clear List", actionPerformed=self.clearList) self._extender.clearButton.setBounds(10, 80, 100, 30) self._extender.autoScroll = JCheckBox("Auto Scroll") self._extender.autoScroll.setBounds(145, 80, 130, 30) self._extender.ignore304 = JCheckBox("Ignore 304/204 status code responses") self._extender.ignore304.setBounds(280, 5, 300, 30) self._extender.ignore304.setSelected(True) self._extender.prevent304 = JCheckBox("Prevent 304 Not Modified status code") self._extender.prevent304.setBounds(280, 25, 300, 30) self._extender.interceptRequestsfromRepeater = JCheckBox("Intercept requests from Repeater") self._extender.interceptRequestsfromRepeater.setBounds(280, 45, 300, 30) self._extender.doUnauthorizedRequest = JCheckBox("Check unauthenticated") self._extender.doUnauthorizedRequest.setBounds(280, 65, 300, 30) self._extender.doUnauthorizedRequest.setSelected(True) self._extender.saveHeadersButton = JButton("Save headers", actionPerformed=self.saveHeaders) self._extender.saveHeadersButton.setBounds(360, 115, 120, 30) savedHeadersTitles = self.getSavedHeadersTitles() self._extender.savedHeadersTitlesCombo = JComboBox(savedHeadersTitles) self._extender.savedHeadersTitlesCombo.addActionListener(SavedHeaderChange(self._extender)) self._extender.savedHeadersTitlesCombo.setBounds(10, 115, 300, 30) self._extender.replaceString = JTextArea("Cookie: Insert=injected; cookie=or;\nHeader: here", 5, 30) self._extender.replaceString.setWrapStyleWord(True) self._extender.replaceString.setLineWrap(True) scrollReplaceString = JScrollPane(self._extender.replaceString) scrollReplaceString.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED) scrollReplaceString.setBounds(10, 150, 470, 150) self._extender.fetchButton = JButton("Fetch cookies from last request", actionPerformed=self.fetchCookies) self._extender.fetchButton.setEnabled(False) self._extender.fetchButton.setBounds(10, 305, 250, 30) self._extender.filtersTabs = JTabbedPane() self._extender.filtersTabs = self._extender.filtersTabs self._extender.filtersTabs.addTab("Enforcement Detector", self._extender.EDPnl) self._extender.filtersTabs.addTab("Detector Unauthenticated", self._extender.EDPnlUnauth) self._extender.filtersTabs.addTab("Interception Filters", self._extender.filtersPnl) self._extender.filtersTabs.addTab("Match/Replace", self._extender.MRPnl) self._extender.filtersTabs.addTab("Table Filter", self._extender.filterPnl) self._extender.filtersTabs.addTab("Save/Restore", self._extender.exportPnl) self._extender.filtersTabs.setSelectedIndex(2) self._extender.filtersTabs.setBounds(0, 350, 2000, 700) self._extender.pnl = JPanel() self.pnl = self._extender.pnl self.pnl.setBounds(0, 0, 1000, 1000) self.pnl.setLayout(None) self.pnl.add(self._extender.startButton) self.pnl.add(self._extender.clearButton) self.pnl.add(scrollReplaceString) self.pnl.add(self._extender.saveHeadersButton) self.pnl.add(self._extender.savedHeadersTitlesCombo) self.pnl.add(self._extender.fetchButton) self.pnl.add(self._extender.autoScroll) self.pnl.add(self._extender.interceptRequestsfromRepeater) self.pnl.add(self._extender.ignore304) self.pnl.add(self._extender.prevent304) self.pnl.add(self._extender.doUnauthorizedRequest) self.pnl.add(self._extender.filtersTabs)
def registerExtenderCallbacks(self, callbacks): # set our extension name self._callbacks = callbacks self.ATTRIBUTE_QUOTES = "(\".*\")|(\'.*\')" callbacks.setExtensionName("Rexsser") # obtain our output stream self._stdout = PrintWriter(callbacks.getStdout(), True) self._helpers = callbacks.getHelpers() # register ourselves as an HTTP listener self._log = ArrayList() self._lock = Lock() # main split pane self._splitpane = JSplitPane(JSplitPane.VERTICAL_SPLIT) # table of log entries logTable = Table(self) scrollPane = JScrollPane(logTable) self.logTable = logTable self._splitpane.setLeftComponent(scrollPane) splane = JSplitPane(JSplitPane.HORIZONTAL_SPLIT) btn = JToggleButton("Turn on/off") self._btn = btn panel = JPanel() panel1 = JPanel() chxbox = JCheckBox("In Scope Only") self.chxbox = chxbox panel1.add(self._btn) panel1.add(chxbox) panel.add(panel1) panel2 = JPanel() panel2.setLayout(BoxLayout(panel2, BoxLayout.Y_AXIS)) textarea = JTextArea("text/html\napplication/json") textarea.setRows(5) textarea.setColumns(5) textarea.setLineWrap(1) panel2.add(JLabel("Content Types: ")) panel2.add(textarea) panel.add(panel2) self.content_types = textarea panel3 = JPanel() panel3.add(JLabel("Status Codes: ")) txtarea = JTextArea("200,500") txtarea.setRows(3) txtarea.setLineWrap(1) self.status_codes = txtarea panel3.add(txtarea) panel3.setLayout(BoxLayout(panel3, BoxLayout.Y_AXIS)) panel.add(panel3) panel.setLayout(BoxLayout(panel, BoxLayout.Y_AXIS)) tabs = JTabbedPane() splane.setLeftComponent(panel) self._requestViewer = callbacks.createMessageEditor(self, False) self._responseViewer = callbacks.createMessageEditor(self, False) tabs.addTab("Request", self._requestViewer.getComponent()) tabs.addTab("Response", self._responseViewer.getComponent()) splane.setRightComponent(tabs) self._splitpane.setRightComponent(splane) # customize our UI components callbacks.customizeUiComponent(self._splitpane) callbacks.customizeUiComponent(logTable) callbacks.customizeUiComponent(scrollPane) callbacks.customizeUiComponent(splane) # add the custom tab to Burp's UI callbacks.addSuiteTab(self) callbacks.registerHttpListener(self) return