
Extension adds a new tab in Burp Suite called Extractor
Descargue la librería GSON de Google desde Maven
(http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar)
wget http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar
En Extender/Options/Java Environment de Burp seleccione la carpeta donde descargó la librería GSON de Google
Agregue la extensión desde la pestaña Extender/Extensions de Burp. (la extensión es el archivo jar en la carpeta dist del repositorio).
Clone el repositorio.
Guarde los archivos de interfaz de Burp en una nueva carpeta yendo a la pestaña Extender/APIs de Burp y haciendo clic en el botón Save interface files. Luego copie estos archivos en el directorio src/burp del repositorio clonado.
Descargue la librería GSON de Google desde Maven
(http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar)
wget http://central.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar
Desde el directorio del extractor:
4. mkdir build
5. javac -cp gson-2.8.2.jar -d build src/burp/*.java
6. jar cf extractor.jar -C build burp
Después cargue el archivo extractor.jar en la pestaña Extender de Burp. (también necesitará apuntar la ruta de Burp a la carpeta donde guardó la librería GSON: Burp Extender > Options > Java Environment)
Debería añadir una nueva pestaña llamada Extractor a Burp.

Esta extensión añade una nueva pestaña en Burp Suite llamada Extractor
Dentro de esta pestaña puede añadir nodos a un árbol para describir cómo son los datos de las peticiones o respuestas. Cada hoja de ese árbol creará una nueva pestaña en todos los lugares donde se muestre una petición o respuesta, con los datos de la petición transformados según todos los nodos padres hasta la hoja concreta.
Por ejemplo, si el cuerpo de la petición es un payload XML con una etiqueta específica que contiene una cadena codificada en Base64, el árbol tendría el siguiente aspecto:

Con la configuración anterior, cada petición y respuesta ahora contiene una pestaña llamada Body>XML:tag_name>Base64. Esa pestaña debe contener los datos decodificados en Base64 contenidos en la etiqueta XML tag_name del cuerpo de la petición. Cambiar los datos en esa pestaña codificará los datos en Base64 y los inyectará de nuevo en esa misma etiqueta XML del cuerpo de la petición (de modo que puede modificar las peticiones mientras las intercepta en Proxy/Intercept o crear payloads en Repeater).
Sin parámetros.
Este nodo decodifica en Base64 los datos que se le pasan y los vuelve a codificar a lo largo
de la cadena cuando modifica los datos en su nivel o en cualquier nodo hijo.
Sin parámetros.
Este nodo realiza una decodificación URL básica de los datos que se le pasan; tenga cuidado: los
datos modificados dentro de este nodo o de cualquier hijo pueden verse diferentes una vez
re-codificados a lo largo de la cadena, ya que solo se volverán a codificar los caracteres URL no válidos.
Sin parámetros.
Este nodo descomprime (un-GZip) los datos que se le pasan y los vuelve a comprimir (GZip) si se modifica él mismo o cualquiera
de sus hijos.
Sin parámetros.
Este nodo convierte los datos que se le pasan de binario a una cadena hexadecimal.
Convierte de vuelta los datos de cadena hexadecimal a binario si se modifican sus datos o los de
cualquiera de sus hijos.
Sin parámetros.
Este nodo convierte los datos que se le pasan de una cadena hexadecimal a binario.
Convierte de vuelta los datos de binario a una cadena hexadecimal si se modifican sus datos o los
de cualquiera de sus hijos.
Un parámetro:
Este nodo extrae datos de un nodo de parámetro URL de tipo x-www-form-urlencoded. Puede usarse directamente como nodo hijo de Header para extraer un parámetro URL de la URL de la petición, o como nodo hijo de body si el cuerpo solo contiene parámetros de estilo URL, o como hijo de cualquier otro nodo si contiene una URL o parámetros x-www-form-urlencoded. Los datos modificados se inyectarán de nuevo en el parámetro en la misma posición.
Dos parámetros:
Este nodo se usa para extraer un parámetro del cuerpo de tipo multipart/form-data. Los datos modificados se inyectarán de nuevo en el parámetro en el mismo lugar.
Un parámetro:
Este nodo extrae datos de una cookie. Los datos modificados se inyectarán de nuevo en la cookie. Este nodo debe usarse como hijo directo del nodo Header.
Un parámetro:
Este nodo extrae el contenido de una bandera de cabecera. Los datos modificados se inyectarán de nuevo en la bandera. Este nodo debe usarse como hijo directo del nodo Header.
Un parámetro:
Este nodo extrae el valor del primer nodo XML que coincida con el parámetro nombre de nodo XML. Los datos modificados se inyectarán de nuevo en el valor de ese mismo nodo.
Dos parámetros:
Este nodo extrae el valor del parámetro del primer nodo XML que coincida con el nombre de nodo XML. Los datos modificados se inyectarán de nuevo en el parámetro de ese mismo nodo.
Dos parámetros:
Este nodo extrae datos de un payload JSON. Solo se pueden extraer los datos del nivel superior del payload que se le pasa; sin embargo, puede encadenar este nodo con otros nodos Json para extraer objetos JSON incrustados dentro de objetos JSON.
Un parámetro:
Este nodo aplica la operación AND a los datos que se le pasan con los datos de su parámetro. Los datos pasados al nodo deben estar en formato binario (use un nodo HextoBin primero si lo necesita). Los datos modificados se volverán a someter a AND; sin embargo, tenga en cuenta que esta operación tiene poco valor ya que el operador AND no es biyectivo (no puede esperar que los datos inyectados de vuelta tengan sentido en su contexto).
Un parámetro:
Este nodo aplica la operación OR a los datos que se le pasan con los datos de su parámetro. Los datos pasados al nodo deben estar en formato binario (use un nodo HextoBin primero si lo necesita). Los datos modificados se volverán a someter a OR; sin embargo, tenga en cuenta que esta operación tiene poco valor ya que el operador OR no es biyectivo (no puede esperar que los datos inyectados de vuelta tengan sentido en su contexto).
Un parámetro:
Este nodo aplica la operación XOR a los datos que se le pasan con los datos de su parámetro. Los datos pasados al nodo deben estar en formato binario (use un nodo HextoBin primero si lo necesita). Los datos modificados se volverán a someter a XOR.
Sin parámetros
Este nodo no realiza ningún procesamiento: solo muestra los datos que se le pasan;
es útil sobre todo para añadir un punto de control para comprobar si los datos que pasan por una
cadena de nodos son correctos en un punto concreto donde se ha insertado el nodo.
Un parámetro:
Este nodo pasará el contenido a través de la expresión regular y extraerá solo la subcoincidencia; es útil para preparar un nodo antes de pasarlo a otro nodo.
Ejemplo ==> Callback\\((.*)\\)
Tiene la opción de crear sus propios nodos en Java. En el código se ha proporcionado un archivo de nodo de ejemplo llamado QueryNodeXXX.java; simplemente cópielo, péguelo, cámbiele el nombre y siga las instrucciones que se incluyen dentro. Recuerde también agregar su nodo recién creado en Globals.java hacia el final de la lista (no cambie las primeras 2 líneas de esa lista si no quiere romper nada).