private void displayConfiguration(ContentSecurityPolicy policy) { IMessageEditor msg = callbacks.createMessageEditor(null, true); StringBuilder str = new StringBuilder(); str.append("Content-Security-Policy: "); str.append(policy.toHeaderString()); str.append("\n\n"); msg.setMessage(str.toString().getBytes(), false); panel.setConfiguration(msg.getComponent()); }
private void jButtonUseExpressionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonUseExpressionActionPerformed if(jRadioButtonGrep.isSelected()) { byte[] selectedData = replicatorPanel.responseEditor.getSelectedData(); if(selectedData == null) { return; } currentIssue.grepExpression = BurpExtender.escapeRegex(new String(selectedData)); jTextFieldGrepExpression.setText(currentIssue.grepExpression); } if(jRadioButtonCollaborator.isSelected()) { byte[] selectedData = replicatorPanel.requestEditor.getSelectedData(); if(selectedData == null) { return; } currentIssue.collaboratorReplace = BurpExtender.escapeRegex(new String(selectedData)); jTextFieldCollaboratorReplace.setText(currentIssue.collaboratorReplace); } }//GEN-LAST:event_jButtonUseExpressionActionPerformed
private void updateOriginalRequestResponseViewer() { SwingUtilities.invokeLater(() -> { // Set Original Request Viewer if (originalRequest != null) { originalRequestViewer.setMessage(originalRequest, true); } else { originalRequestViewer.setMessage(new byte[0], true); } // Set Original Response Viewer if (originalResponse != null) { originalResponseViewer.setMessage(originalResponse, false); } else { originalResponseViewer.setMessage(new byte[0], false); } }); }
public ReplayDetailsPanel() { super(); messageEditorRequest = callbacks.createMessageEditor(messageEditorController, false); messageEditorResponse = callbacks.createMessageEditor(messageEditorController, false); JPanel panelRequest = new JPanel(); JPanel panelResponse = new JPanel(); JSplitPane detailsSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, panelRequest, panelResponse); detailsSplitPane.setResizeWeight(0.5); panelRequest.setLayout(new BorderLayout()); panelResponse.setLayout(new BorderLayout()); panelRequest.add(messageEditorRequest.getComponent()); panelResponse.add(messageEditorResponse.getComponent()); this.setLayout(new BorderLayout()); this.add(detailsSplitPane, BorderLayout.CENTER); }
currentIssue.request = replicatorPanel.requestEditor.getMessage(); replicatorPanel.requestEditor.setMessage(EMPTY_MESSAGE, true); replicatorPanel.responseEditor.setMessage(EMPTY_MESSAGE, false); jNotes1.setText(currentIssue.notes); jTextFieldSessionRules.setText(issue.getSessionRules()); replicatorPanel.requestEditor.setMessage(issue.request == null ? EMPTY_MESSAGE : issue.request, true); replicatorPanel.responseEditor.setMessage(issue.response == null ? EMPTY_MESSAGE : issue.response, false);
private void updateModifiedRequestResponseViewer() { SwingUtilities.invokeLater(() -> { // Set Modified Request Viewer if (modifiedRequest != null) { modifiedRequestViewer.setMessage(modifiedRequest, true); } else { modifiedRequestViewer.setMessage(new byte[0], true); } // Set Modified Response Viewer if (modifiedResponse != null) { modifiedResponseViewer.setMessage(modifiedResponse, false); } else { modifiedResponseViewer.setMessage(new byte[0], false); } }); }
public RequestResponsePanel(IBurpExtenderCallbacks callbacks) { this.editorRequest = callbacks.createMessageEditor(null, false); this.editorResponse = callbacks.createMessageEditor(null, false); addTab("Request", editorRequest.getComponent()); addTab("Response", editorResponse.getComponent()); }
void setViewType(byte viewType) { requestEditor = BurpExtender.callbacks.createMessageEditor(messageEditorController, viewType == BurpExtender.TESTER_VIEW); bottomSplit.setLeftComponent(requestEditor.getComponent()); if(optionsPanel.currentIssue != null) { requestEditor.setMessage(optionsPanel.currentIssue.request == null ? OptionsPanel.EMPTY_MESSAGE : optionsPanel.currentIssue.request, true); } this.viewType = viewType; optionsPanel.setViewType(viewType); issueTableModel.setViewType(viewType); } }
public void updateMessages(int index) { if (index == -1) { messageEditorRequest.setMessage(new byte[0], true); messageEditorResponse.setMessage(new byte[0], false); messageEditorController.update(null, new byte[0], new byte[0]); } try { IHttpRequestResponse reqres = listHTTPRequestsResponses.get(index); messageEditorRequest.setMessage(reqres.getRequest(), true); messageEditorResponse.setMessage(reqres.getResponse(), false); messageEditorController.update(reqres.getHttpService(), reqres.getRequest(), reqres.getResponse()); } catch(IndexOutOfBoundsException ioob) { // this happens when there is no req/res for this replay round messageEditorRequest.setMessage(new byte[0], true); messageEditorResponse.setMessage(new byte[0], false); messageEditorController.update(null, new byte[0], new byte[0]); } catch (Exception e) { // this happens when there was a problem with reqres messageEditorRequest.setMessage(new byte[0], true); messageEditorResponse.setMessage(new byte[0], false); messageEditorController.update(null, new byte[0], new byte[0]); } }
bottomSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, requestEditor.getComponent(), responseEditor.getComponent()); bottomSplit.setResizeWeight(0.5);
PopupRequestResponseDialog(IHttpRequestResponse requestResponse, IBurpExtenderCallbacks callbacks, Container parent, String title) { this.requestResponse = requestResponse; Frame parentFrame = JOptionPane.getFrameForComponent(parent); JDialog dialog = new JDialog(parentFrame, title); requestEditor = callbacks.createMessageEditor(this, false); requestEditor.setMessage(requestResponse.getRequest(), true); responseEditor = callbacks.createMessageEditor(this, false); responseEditor.setMessage(requestResponse.getResponse(), false); JTabbedPane tabs = new JTabbedPane(); tabs.add("Request", requestEditor.getComponent()); tabs.add("Response", responseEditor.getComponent()); dialog.getContentPane().add(tabs); dialog.setSize(Math.min(800,parentFrame.getWidth()/2),Math.min(600, parentFrame.getHeight()/2)); //dialog.setLocationRelativeTo(parentFrame); dialog.setLocation(parentFrame.getWidth()/2 - dialog.getWidth()/2 + parentFrame.getX(), parentFrame.getHeight()/2 - dialog.getHeight()/2 + parentFrame.getY()); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); }
private void displayReqResp(String id, RequestResponsePanel tabbedPane) { //IHttpRequestResponse[] reqResponses = callbacks.getSiteMap(url); try { Integer requestId = Integer.parseInt(id); IHttpRequestResponse reqResp = callbacks.getProxyHistory()[requestId-1]; if (reqResp != null) { tabbedPane.editorRequest.setMessage(reqResp.getRequest(), true); if (reqResp.getResponse() != null) tabbedPane.editorResponse.setMessage(reqResp.getResponse(), false); } else { Log.error("Oups request not found."); } } catch (NumberFormatException | IndexOutOfBoundsException e) { } }
requestViewer = callbacks.createMessageEditor(this, false); responseViewer = callbacks.createMessageEditor(this, false); tab.addTab("Request", requestViewer.getComponent()); tab.addTab("Response", responseViewer.getComponent());
private void jButtonOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOkActionPerformed replicatorPanel.issueTableModel.scrubCookies(jListCookies.getSelectedValuesList()); replicatorPanel.requestEditor.setMessage(replicatorPanel.optionsPanel.currentIssue.request, true); dispose(); }//GEN-LAST:event_jButtonOkActionPerformed
originalRequestPanel.add(originalRequestViewer.getComponent()); originalRequestPanel.setPreferredSize(new Dimension(100000, 100000)); originalResponsePanel.add(originalResponseViewer.getComponent()); originalResponsePanel.setPreferredSize(new Dimension(100000, 100000)); modifiedRequestPanel.add(modifiedRequestViewer.getComponent()); modifiedRequestPanel.setPreferredSize(new Dimension(100000, 100000)); modifiedResponsePanel.add(modifiedResponseViewer.getComponent()); modifiedResponsePanel.setPreferredSize(new Dimension(100000, 100000));
/** * Controls the current displayed item in the detail view. * The item is displayed below the SSO history window. * @param row The current row. * @param col The current column. * @param toggle Should the entry be toggled. * @param extend Should the entry be extended. */ @Override public void changeSelection(int row, int col, boolean toggle, boolean extend) { // show the entry for the selected row TableEntry entry = list.get(row); UIHistory.requestViewer.setMessage(entry.getMessage().getRequest(), true); UIHistory.responseViewer.setMessage(entry.getMessage().getResponse(), false); UIHistory.currentlyDisplayedItem = entry.getMessage(); super.changeSelection(row, col, toggle, extend); }
if(replicatorPanel.optionsPanel.currentIssue == issue) replicatorPanel.requestEditor.setMessage(request, true);
if (currentIssue != null) replicatorPanel.requestEditor.setMessage(currentIssue.request == null ? EMPTY_MESSAGE : currentIssue.request, true);
replicatorPanel.responseEditor.setMessage(issue.response == null ? OptionsPanel.EMPTY_MESSAGE : issue.response, false);