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
17 changes: 17 additions & 0 deletions ContentTypeConverter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,22 @@
<artifactId>contenttypeconverter</artifactId>
<version>1</version>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
</dependencies>


</project>
4 changes: 2 additions & 2 deletions ContentTypeConverter/src/main/java/burp/BurpExtender.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
public class BurpExtender implements IBurpExtender
{


@Override
public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks)
{
IExtensionHelpers helpers = callbacks.getHelpers();

callbacks.setExtensionName("Content-Type Converter");

callbacks.registerContextMenuFactory(new Menu(helpers));
callbacks.registerContextMenuFactory(new Menu(helpers,callbacks));

}
}
67 changes: 20 additions & 47 deletions ContentTypeConverter/src/main/java/burp/Menu.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
package burp;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.List;

public class Menu implements IContextMenuFactory {
private final IExtensionHelpers m_helpers;
private final IBurpExtenderCallbacks m_callbacks;

public Menu(IExtensionHelpers helpers) {
public Menu(IExtensionHelpers helpers,IBurpExtenderCallbacks callbacks) {
m_helpers = helpers;
m_callbacks = callbacks;
}

public List<JMenuItem> createMenuItems(final IContextMenuInvocation invocation) {
Expand All @@ -22,75 +26,44 @@ public List<JMenuItem> createMenuItems(final IContextMenuInvocation invocation)

JMenuItem sendXMLToRepeater = new JMenuItem("Convert to XML");
JMenuItem sendJSONToRepeater = new JMenuItem("Convert to JSON");
sendXMLToRepeater.addMouseListener(new MouseListener() {

public void mouseClicked(MouseEvent arg0) {

}


public void mouseEntered(MouseEvent arg0) {
}


public void mouseExited(MouseEvent arg0) {
}


public void mousePressed(MouseEvent arg0) {

}


public void mouseReleased(MouseEvent arg0) {
sendXMLToRepeater.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
IHttpRequestResponse iReqResp = invocation.getSelectedMessages()[0];
try {
byte[] request = Utilities.convertToXML(m_helpers, iReqResp);
byte[] request = Utilities.convertToXML(m_helpers, m_callbacks, iReqResp);
if (request != null) {

iReqResp.setRequest(request);
}
} catch (Exception e) {
e.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}
});

sendJSONToRepeater.addMouseListener(new MouseListener() {

public void mouseClicked(MouseEvent arg0) {

}


public void mouseEntered(MouseEvent arg0) {
}


public void mouseExited(MouseEvent arg0) {
}


public void mousePressed(MouseEvent arg0) {

}

});

public void mouseReleased(MouseEvent arg0) {
sendJSONToRepeater.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
IHttpRequestResponse iReqResp = invocation.getSelectedMessages()[0];
try {
byte[] request = Utilities.convertToJSON(m_helpers, iReqResp);
byte[] request = Utilities.convertToJSON(m_helpers, m_callbacks, iReqResp);
if (request != null) {

iReqResp.setRequest(request);
}
} catch (Exception e) {
e.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}
});




menus.add(sendXMLToRepeater);
menus.add(sendJSONToRepeater);
return menus;
Expand Down
17 changes: 9 additions & 8 deletions ContentTypeConverter/src/main/java/burp/Utilities.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package burp;

import com.google.gson.Gson;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
import org.json.XML;
Expand All @@ -14,16 +13,15 @@
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.ByteArrayInputStream;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.io.*;
import java.net.URLDecoder;
import java.util.*;

public class Utilities {
public static byte[] convertToXML(IExtensionHelpers helpers,IBurpExtenderCallbacks callbacks, IHttpRequestResponse requestResponse) throws Exception {

public static byte[] convertToXML(IExtensionHelpers helpers, IHttpRequestResponse requestResponse) throws Exception {
PrintWriter stdout = new PrintWriter(callbacks.getStdout(),true);
PrintWriter stderr = new PrintWriter(callbacks.getStderr(),true);

byte[] request = requestResponse.getRequest();

Expand Down Expand Up @@ -341,6 +339,7 @@ public Node renameNode(Node n, String namespaceURI, String qualifiedName) throws
doc = builder.parse(input);

}catch (Exception e){
stderr.println(e);
success = false;

}
Expand All @@ -367,10 +366,11 @@ public Node renameNode(Node n, String namespaceURI, String qualifiedName) throws

}

public static byte[] convertToJSON(IExtensionHelpers helpers, IHttpRequestResponse requestResponse) {
public static byte[] convertToJSON(IExtensionHelpers helpers, IBurpExtenderCallbacks callbacks, IHttpRequestResponse requestResponse) {

byte[] request = requestResponse.getRequest();

PrintWriter stdout = new PrintWriter(callbacks.getStdout(),true);
PrintWriter stderr = new PrintWriter(callbacks.getStderr(),true);
if (Objects.equals(helpers.analyzeRequest(request).getMethod(), "GET")){
request = helpers.toggleRequestMethod(request);
}
Expand Down Expand Up @@ -399,6 +399,7 @@ public static byte[] convertToJSON(IExtensionHelpers helpers, IHttpRequestRespon
json = body;
}
}catch (Exception e){
stderr.println(e);
success = false;

}
Expand Down