
jsluice++ — это расширение Burp Suite, предназначенное для пассивного и активного сканирования JavaScript-трафика с помощью CLI-инструмента jsluice.
jsluice++ — это расширение Burp Suite, предназначенное для пассивного и активного сканирования JavaScript-трафика с помощью CLI-инструмента jsluice.
Расширение использует возможности jsluice для извлечения URL, путей и секретов из статических JavaScript-файлов и интегрирует их с Burp Suite, позволяя легко сканировать JavaScript-трафик из Sitemap или Proxy Burp Suite, а также предлагая удобный интерфейс для просмотра данных и множество дополнительных полезных функций.
Требования:
Если вы устанавливаете расширение Jython не в первый раз, можете перейти к шагу 3.
go install github.com/BishopFox/jsluice/cmd/jsluice@latest (убедитесь, что бинарный файл jsluice находится в вашем $PATH, иначе расширение не будет работать).Расширение добавляет пункт в контекстное меню Burp Suite, который позволяет легко обрабатывать ответы из вкладки Sitemap Burp Suite.
Для этого просто щёлкните правой кнопкой мыши по любому хосту в дереве sitemap или по любому элементу в таблице sitemap и выберите Extensions->jsluice++->Process selected item(s) в контекстном меню Burp Suite.
При обработке элементов из дерева sitemap расширение получит карту сайта для каждого выбранного элемента (можно обрабатывать несколько хостов).

Default: Off
Когда пассивное сканирование включено, расширение регистрирует HTTP-обработчик и обрабатывает ответы трафика, проходящего через Proxy Burp Suite (рекомендуется использовать функцию «только в пределах scope» при включении пассивного сканирования для уменьшения шума).
Расширение обработает любой URL с расширением .js или MIME-типом JavaScript и кодом успешного ответа (2xx), используя режим urls из jsluice.
Обработанный JavaScript-файл временно сохраняется локально в каталоге «.jsluicepp» и удаляется после завершения обработки jsluice.
Если jsluice возвращает какие-либо данные, хост, связанный с URL, будет добавлен в список Hosts. Чтобы просмотреть результаты jsluice, просто выберите хост и нужный файл (можно выбрать несколько файлов).
Примечание: один и тот же URL (без учёта GET-параметров) не будет обработан более одного раза до перезагрузки расширения; это не относится к отслеживаемым URL.
Каждый файл в списке Files может отслеживаться расширением. Для этого просто щёлкните правой кнопкой мыши по файлу и выберите пункт «Monitor URL» во всплывающем меню (повторите это действие, если хотите прекратить отслеживание URL).
Когда новый URL начинает отслеживаться, его данные сохраняются в .jsluicepp/monitored_urls.txt, а копия вывода jsluice сохраняется локально в .jsluicepp/monitored_files/{host}_{filename_hash} (без секретов).
Отслеживаемые файлы окрашиваются в зелёный цвет в списке Files.
Частота отправки запросов к отслеживаемым URL определяется выбранным значением в селекторе Monitor Interval.
Варианты интервала мониторинга:
Если jsluice вернул данные, отличающиеся от локально сохранённой копии, вы получите следующее всплывающее диалоговое окно:

Локально сохранённая копия файла будет перемещена в .jsluicepp/monitored_files/{host}_{filename_hash}.old, и будет сохранена новая копия нового файла.
При выборе отслеживаемого файла в расширении новые/изменённые строки будут окрашены в зелёный цвет, а предыдущие версии изменённых/удалённых строк — в красный. Пример:

Если отслеживаемый URL отвечает кодом состояния, отличным от успешного (2xx), или jsluice не возвращает никаких данных, появится всплывающее диалоговое окно с вопросом, хотите ли вы прекратить отслеживание URL. Если выбрать «Yes», все локальные копии файла будут удалены.
Любую строку в таблице результатов URL/Paths можно отправить в Repeater Burp Suite, щёлкнув правой кнопкой мыши по строке и выбрав пункт «Send to Repeater» во всплывающем меню.
Query Params, Body Params и Headers будут включены, если они существуют.
Если столбец URL/Path начинается с «http://», «https://» или «//», хост будет извлечён из столбца URL/Path, в противном случае будет использоваться выбранный хост.
Если в столбце Headers присутствует заголовок content-type со значением application/json or application/xml or text/xml, тело запроса будет соответствующим образом отформатировано.
Default: On
Если этот параметр выбран, в интерфейс добавляется таблица результатов «Secrets», и расширение будет использовать режим secrets из jsluice для файла после завершения режима urls. Если будут найдены уникальные секреты, хост будет окрашен в красный цвет с эмодзи 🤫 рядом с ним. Пример:

Если вы хотите использовать собственную конфигурацию шаблонов, вы можете изменить переменную 'secrets_command' в коде.
Default: Off
Если этот параметр выбран и также установлен флажок Secrets, вы будете получать всплывающее уведомление при обнаружении нового уникального секрета. Диалоговое окно закрывается автоматически через 15 секунд. Пример диалогового окна:

URL любого обработанного файла можно скопировать в буфер обмена, щёлкнув правой кнопкой мыши по файлу в списке Files и выбрав пункт «Copy URL» во всплывающем меню.
Функция фильтра по положительному/отрицательному совпадению предназначена для столбца URL/Path в таблице результатов. При добавлении положительного фильтра в таблицу результатов будут включены только те строки, в столбце URL/Path которых содержится положительный фильтр. Наоборот, при добавлении отрицательного фильтра строки, содержащие отрицательный фильтр в столбце URL/Path, будут исключены из результатов.
Можно применять несколько фильтров.

Default: Off
Если этот параметр выбран, расширение будет использовать scope Burp Suite для определения того, следует ли обрабатывать URL. Кроме того, хосты вне scope не будут отображаться в списке хостов.
Default: Off
При выборе этого параметра расширение, помимо URL с расширением/MIME-типом .js, будет искать ответы с MIME-типом HTML. Если такой ответ найден, расширение попытается извлечь все теги
