
Extension adds a new tab in Burp Suite called Extractor
Скачайте библиотеку GSON от Google из 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
В Extender/Options/Java Environment в Burp выберите папку, куда вы скачали библиотеку GSON от Google
Добавьте расширение на вкладке Extender/Extensions в Burp. (расширение — это jar-файл в папке dist репозитория).
Склонируйте репозиторий.
Сохраните файлы интерфейса Burp в новую папку, перейдя на вкладку Extender/APIs и нажав кнопку Save interface files. Затем скопируйте эти файлы в каталог src/burp склонированного репозитория.
Скачайте библиотеку GSON от Google из 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
Из каталога экстрактора:
4. mkdir build
5. javac -cp gson-2.8.2.jar -d build src/burp/*.java
6. jar cf extractor.jar -C build burp
Затем загрузите файл extractor.jar на вкладке Extender в Burp. (вам также нужно указать Burp путь к папке, где вы сохранили библиотеку GSON: Burp Extender > Options > Java Environment)
В Burp должна появиться новая вкладка под названием Extractor.

Это расширение добавляет в Burp Suite новую вкладку под названием Extractor
На этой вкладке вы можете добавлять узлы в дерево, чтобы описать, как выглядят данные в запросах или ответах. Каждый лист этого дерева создаст новую вкладку везде, где отображается запрос или ответ, с данными запроса, преобразованными согласно всем родительским узлам вплоть до конкретного листа.
Например, если тело запроса — это XML-нагрузка с определённым тегом, содержащим строку в кодировке Base64, дерево будет выглядеть следующим образом:

С приведённой выше настройкой каждый запрос и ответ теперь содержит вкладку с именем Body>XML:tag_name>Base64. Эта вкладка должна содержать данные, декодированные из Base64 и содержащиеся в XML-теге tag_name тела запроса. Изменение данных на этой вкладке закодирует их в Base64 и внедрит обратно в тот же XML-тег тела запроса (так что вы сможете изменять запросы, перехватывая их в Proxy/Intercept, или создавать нагрузки в Repeater).
Без параметра.
Этот узел выполняет декодирование Base64 переданных ему данных и повторно кодирует их
по цепочке, когда вы изменяете данные на его уровне или на уровне любого из его дочерних узлов.
Без параметра.
Этот узел выполняет базовое URL-декодирование переданных ему данных. Учтите, что
данные, изменённые в этом узле или в любом из его дочерних узлов, могут выглядеть иначе после
повторного кодирования по цепочке, поскольку повторно кодируются только недопустимые символы URL.
Без параметра.
Этот узел распаковывает GZip переданных ему данных и сжимает их обратно в GZip, если изменяется он сам или любой из
его дочерних узлов.
Без параметра.
Этот узел преобразует переданные ему данные из двоичного формата в шестнадцатеричную строку. Он
преобразовывает данные обратно из шестнадцатеричной строки в двоичный формат, если его данные или данные любого из
его дочерних узлов изменены.
Без параметра.
Этот узел преобразует переданные ему данные из шестнадцатеричной строки в двоичный формат. Он
преобразовывает данные обратно из двоичного формата в шестнадцатеричную строку, если его данные или данные любого
из его дочерних узлов изменены.
Один параметр:
Этот узел извлекает данные из одного URL-параметра типа x-www-form-urlencoded. Его можно использовать напрямую как дочерний узел Header, чтобы извлечь URL-параметр из URL запроса, или как дочерний узел body, если тело содержит только параметры в стиле URL, или как дочерний узел любого другого узла, если он содержит параметры URL или x-www-form-urlencoded. Изменённые данные будут внедрены обратно в параметр на ту же позицию.
Два параметра:
Этот узел используется для извлечения параметра тела типа multipart/form-data. Изменённые данные будут внедрены обратно в параметр на то же место.
Один параметр:
Этот узел извлекает данные из одной cookie. Изменённые данные будут внедрены обратно в cookie. Этот узел следует использовать как прямой дочерний узел узла Header.
Один параметр:
Этот узел извлекает содержимое одного флага заголовка. Изменённые данные будут внедрены обратно во флаг. Этот узел следует использовать как прямой дочерний узел узла Header.
Один параметр:
Этот узел извлекает значение из первого XML-узла, который соответствует параметру имени XML-узла. Изменённые данные будут внедрены обратно в значение того же самого узла.
Два параметра:
Этот узел извлекает значение параметра из первого XML-узла, который соответствует имени XML-узла. Изменённые данные будут внедрены обратно в параметр того же самого узла.
Два параметра:
Этот узел извлекает данные из JSON-нагрузки. Можно извлечь только данные с верхнего уровня переданной ему нагрузки; однако вы можете объединять этот узел с другими узлами Json, чтобы извлекать JSON-объекты, встроенные в другие JSON-объекты.
Один параметр:
Этот узел выполняет операцию AND над переданными ему данными с данными из своего параметра. Данные, передаваемые узлу, должны быть в двоичном формате (при необходимости сначала используйте узел HextoBin). Изменённые данные будут преобразованы обратно через AND, однако учтите, что эта операция имеет небольшую ценность, поскольку оператор AND не является биективным (нельзя ожидать, что внедрённые обратно данные будут иметь смысл в своём контексте).
Один параметр:
Этот узел выполняет операцию OR над переданными ему данными с данными из своего параметра. Данные, передаваемые узлу, должны быть в двоичном формате (при необходимости сначала используйте узел HextoBin). Изменённые данные будут преобразованы обратно через OR, однако учтите, что эта операция имеет небольшую ценность, поскольку оператор OR не является биективным (нельзя ожидать, что внедрённые обратно данные будут иметь смысл в своём контексте).
Один параметр:
Этот узел выполняет операцию XOR над переданными ему данными с данными из своего параметра. Данные, передаваемые узлу, должны быть в двоичном формате (при необходимости сначала используйте узел HextoBin). Изменённые данные будут преобразованы обратно через XOR.
Без параметра
Этот узел не выполняет никакой обработки: он просто отображает переданные ему данные.
Он в основном полезен для добавления контрольной точки, чтобы проверить, корректны ли данные, передаваемые по
цепочке узлов, в конкретной точке, где был вставлен узел.
Один параметр:
Этот узел пропускает содержимое через регулярное выражение и извлекает только подгруппу. Это полезно для подготовки узла перед передачей другому узлу.
Пример ==> Callback\\((.*)\\)
У вас есть возможность создавать собственные узлы на Java. В коде предоставлен пример файла узла с именем QueryNodeXXX.java: просто скопируйте/вставьте его, переименуйте и следуйте приведённым внутри инструкциям. Также не забудьте добавить свой новый узел в Globals.java ближе к концу списка (не меняйте первые 2 строки этого списка, если не хотите что-либо сломать).