
Extensão adiciona uma nova aba no Burp Suite chamada Extractor
Baixe a biblioteca GSON do Google a partir do 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
No Extender/Options/Java Environment do Burp, selecione a pasta onde você baixou a biblioteca GSON do Google
Adicione a extensão a partir da aba Extender/Extensions do Burp. (a extensão é o arquivo jar na pasta dist do repositório).
Clone o repositório.
Salve os arquivos de interface do Burp em uma nova pasta indo até a aba Extender/APIs do Burp e clicando no botão Save interface files. Em seguida, copie esses arquivos para o diretório src/burp do repositório clonado.
Baixe a biblioteca GSON do Google a partir do 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
A partir do diretório do 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
Em seguida, carregue o arquivo extractor.jar na aba Extender do burp. (você também vai precisar apontar o caminho do Burp para a pasta onde armazenou a biblioteca GSON: Burp Extender > Options > Java Environment)
Ele deve adicionar uma nova aba chamada Extractor ao Burp.

Esta extensão adiciona uma nova aba no Burp Suite chamada Extractor
Dentro desta aba, você pode adicionar nós a uma árvore para descrever como os dados em requisições ou respostas se parecem. Cada Folha nessa árvore criará uma nova aba em todos os lugares onde uma consulta ou resposta é exibida, com os dados da consulta transformados de acordo com todos os nós pai até a folha específica.
Por exemplo, se o corpo da requisição for um payload XML com uma tag específica contendo uma string codificada em Base64, a árvore ficaria assim:

Com a configuração acima, toda requisição e resposta agora contém uma aba chamada Body>XML:tag_name>Base64; essa aba deve conter os dados decodificados em Base64 contidos na tag XML tag_name do corpo da requisição. Alterar os dados nessa aba codificará os dados em Base64 e os injetará de volta nessa mesma tag XML do corpo da requisição (para que você possa modificar requisições enquanto as intercepta em Proxy/Intercept ou criar payloads no Repeater).
Sem Parâmetro. Este nó faz a Decodificação Base64 dos dados que lhe são passados e os re-codifica ao longo da cadeia quando você modifica os dados no seu nível ou em qualquer um dos seus filhos.
Sem Parâmetro. Este nó faz a Decodificação básica de URL dos dados que lhe são passados. Tenha cuidado, pois os dados modificados dentro deste nó ou de qualquer um dos seus filhos podem parecer diferentes uma vez re-codificados ao longo da cadeia, já que apenas caracteres de URL inválidos serão re-codificados.
Sem Parâmetro. Este nó descompacta (un-GZip) os dados que lhe são passados e os compacta (GZip) de volta se ele ou qualquer um dos seus filhos for modificado.
Sem Parâmetro. Este nó converte os dados que lhe são passados de binário para uma string hexadecimal. Ele converte de volta os dados de string hexadecimal para binário se seus dados ou os dados de qualquer um dos seus filhos forem modificados.
Sem Parâmetro. Este nó converte os dados que lhe são passados de uma string hexadecimal para binário. Ele converte de volta os dados de binário para uma string hexadecimal se seus dados ou os dados de qualquer um dos seus filhos forem modificados.
Um Parâmetro:
Este nó extrai dados de um parâmetro de URL do tipo x-www-form-urlencoded. Ele pode ser usado diretamente como um nó filho do Header para extrair um parâmetro de URL da URL da requisição, ou como um nó filho do body se o corpo contiver apenas parâmetros estilo URL, ou como filho de qualquer outro nó se ele contiver uma URL ou parâmetros x-www-form-urlencoded. Os dados modificados serão injetados de volta no parâmetro na mesma posição.
Dois Parâmetros:
Este nó é usado para extrair um parâmetro do corpo do tipo multipart/form-data. Os dados modificados serão injetados de volta no parâmetro no mesmo lugar.
Um Parâmetro:
Este nó extrai dados de um cookie. Os dados modificados serão injetados de volta no cookie. Este nó deve ser usado como filho direto do nó Header.
Um Parâmetro:
Este nó extrai o conteúdo de uma flag do header; os dados modificados serão injetados de volta na flag. Este nó deve ser usado como filho direto do nó Header.
Um Parâmetro:
Este nó extrai o valor do primeiro nó XML que corresponda ao parâmetro de nome de nó XML. Os dados modificados serão injetados de volta no valor desse mesmo nó.
Dois Parâmetros:
Este nó extrai o valor do parâmetro do primeiro nó XML que corresponda ao nome do nó XML. Os dados modificados serão injetados de volta no parâmetro desse mesmo nó.
Dois Parâmetros:
Este nó extrai dados de um payload JSON. Apenas dados do nível superior do payload que lhe é passado podem ser extraídos; no entanto, você pode encadear este nó com outros nós Json para extrair objetos JSON embutidos dentro de outros objetos JSON.
Um Parâmetro:
Este nó aplica AND nos dados que lhe são passados com os dados do seu parâmetro. Os dados passados para o nó devem estar em formato binário (use um nó HextoBin primeiro, se precisar). Os dados modificados terão o AND aplicado de volta; no entanto, observe que essa operação tem pouco valor, pois o operador AND não é bijetivo (você não pode esperar que os dados injetados de volta façam sentido em seu contexto).
Um Parâmetro:
Este nó aplica OR nos dados que lhe são passados com os dados do seu parâmetro. Os dados passados para o nó devem estar em formato binário (use um nó HextoBin primeiro, se precisar). Os dados modificados terão o OR aplicado de volta; no entanto, observe que esta operação tem pouco valor, pois o operador OR não é bijetivo (você não pode esperar que os dados injetados de volta façam sentido em seu contexto).
Um Parâmetro:
Este nó aplica XOR nos dados que lhe são passados com os dados do seu parâmetro. Os dados passados para o nó devem estar em formato binário (use um nó HextoBin primeiro, se precisar). Os dados modificados terão o XOR aplicado de volta.
Sem Parâmetro Este nó não faz nenhum processamento: ele apenas exibe os dados que lhe são passados. É útil principalmente para adicionar um ponto de controle para verificar se os dados passados ao longo de uma cadeia de nós estão corretos em um ponto específico onde o nó foi inserido.
Um Parâmetro:
Este nó passará o conteúdo pela regex e extrairá apenas a subcorrespondência. É útil
para preparar um nó antes de passá-lo para outro nó.
Exemplo ==> Callback\\((.*)\\)
Você tem a opção de criar seus próprios nós em java. Um arquivo de nó de exemplo foi fornecido no código com o nome QueryNodeXXX.java; basta copiar/colar e renomeá-lo e seguir as instruções fornecidas dentro dele. Lembre-se também de adicionar seu nó recém-criado em Globals.java, no final da lista (não altere as primeiras 2 linhas dessa lista se não quiser quebrar nada).