
jsluice++ é uma extensão do Burp Suite projetada para varredura passiva e ativa de tráfego JavaScript usando a ferramenta CLI jsluice
O jsluice++ é uma extensão do Burp Suite projetada para varredura passiva e ativa de tráfego JavaScript usando a ferramenta CLI jsluice.
A extensão utiliza os recursos do jsluice para extrair URLs, caminhos e segredos de arquivos JavaScript estáticos e o integra ao Burp Suite, permitindo que você analise facilmente o tráfego javascript do Sitemap ou Proxy do Burp Suite, além de oferecer uma interface amigável para inspeção de dados e uma variedade de recursos adicionais úteis
Requisitos:
se esta não for a primeira vez que você instala uma extensão jython, você pode pular para o passo 3.
go install github.com/BishopFox/jsluice/cmd/jsluice@latest (garanta que o binário jsluice esteja no seu $PATH, caso contrário a extensão não funcionará)A extensão adiciona um item ao menu de contexto do Burp Suite que permite processar facilmente as respostas da aba Sitemap do Burp Suite
para isso, basta clicar com o botão direito em qualquer host na árvore do sitemap ou em qualquer item na tabela do sitemap e selecionar Extensions->jsluice++->Process selected item(s) no menu de contexto do Burp Suite.
Ao processar itens da árvore do sitemap, a extensão obterá o sitemap de cada item selecionado (vários hosts podem ser processados)

Padrão: Desativado
Quando a varredura passiva é ativada, a extensão registrará um manipulador http e processará as respostas do tráfego que flui pelo Proxy do Burp Suite (é recomendado usar o recurso somente no escopo ao habilitar a varredura passiva para reduzir ruído)
A extensão processará qualquer URL com extensão .js ou tipo mime JavaScript e um código de status de sucesso (2xx) usando o modo urls do jsluice.
O arquivo JavaScript processado é temporariamente salvo localmente no diretório ".jsluicepp" e é removido depois que o jsluice termina de processá-lo,
Se o jsluice retornar algum dado, o host associado à URL será adicionado à lista de Hosts; para visualizar os resultados do jsluice, basta selecionar o host e o arquivo desejado (vários arquivos podem ser selecionados).
Nota: a mesma URL (parâmetros GET excluídos) não será processada mais de uma vez até que a extensão seja recarregada; isso não se aplica a URLs monitoradas.
Todos os arquivos na lista de Arquivos podem ser monitorados pela extensão; para isso, basta clicar com o botão direito no arquivo e selecionar a opção "Monitorar URL" no menu popup (repita este passo se desejar parar de monitorar a URL),
Quando uma nova URL é monitorada, seus detalhes são salvos em .jsluicepp/monitored_urls.txt e uma cópia da saída do jsluice é salva localmente em .jsluicepp/monitored_files/{host}_{filename_hash} (Segredos excluídos),
Arquivos monitorados são coloridos de verde na lista de Arquivos,
A taxa na qual as requisições são enviadas para as URLs monitoradas é determinada pelo valor selecionado no seletor de Intervalo de Monitoramento,
As opções de intervalo de monitoramento são:
se o jsluice retornou dados diferentes da cópia salva localmente, você será notificado com o seguinte diálogo popup:

a cópia salva localmente do arquivo será movida para .jsluicepp/monitored_files/{host}_{filename_hash}.old e uma nova cópia do novo arquivo será salva,
Ao selecionar o arquivo monitorado na extensão, linhas novas/modificadas serão coloridas de verde e versões anteriores de linhas modificadas/linhas excluídas serão coloridas de vermelho, exemplo:

Cada linha na tabela de resultados de URL/Caminhos pode ser enviada para o Repeater do Burp Suite clicando com o botão direito em qualquer linha e selecionando a opção "Enviar para o Repeater" no menu popup.
Query Params, Body Params e Headers serão incluídos se existirem,
se a coluna URL/Caminho começar com "http://" ou "https://" ou "//", o host será extraído da coluna URL/Caminho; caso contrário, o host selecionado será usado,
se um cabeçalho content-type com o valor application/json or application/xml or text/xml estiver presente na coluna Headers, o corpo da requisição será formatado de acordo.
Padrão: Ativado
Se selecionado, uma tabela de resultados "Segredos" é adicionada à interface e a extensão usará o modo secrets do jsluice no arquivo depois que o modo urls terminar; se algum segredo único for encontrado, o host será colorido de vermelho com um emoji 🤫 ao lado, exemplo:

se você desejar usar uma configuração de padrões personalizada, você pode fazer isso modificando a variável 'secrets_command' no código.
Padrão: Desativado
Se selecionado e a caixa de seleção Secrets também estiver selecionada, você será notificado com um diálogo popup quando um novo segredo único for encontrado; o diálogo é fechado automaticamente após 15 segundos, exemplo de diálogo:

A URL de cada arquivo processado pode ser copiada para a área de transferência clicando com o botão direito no arquivo na lista de Arquivos e selecionando a opção "Copiar URL" no menu popup.
O recurso de filtro de correspondência positiva/negativa é projetado para atingir a coluna URL/Caminho na tabela de resultados. Ao adicionar um filtro positivo, somente linhas que contenham o filtro de correspondência positiva na coluna URL/Caminho serão incluídas na tabela de resultados. Por outro lado, ao adicionar um filtro negativo, linhas que tiverem o filtro de correspondência negativa na coluna URL/Caminho serão excluídas dos resultados,
Vários filtros podem ser aplicados.

Padrão: Desativado
Se selecionado, a extensão usará o escopo do Burp Suite para determinar se uma URL deve ser processada; além disso, hosts fora do escopo não serão exibidos na lista de hosts.
Padrão: Desativado
Quando selecionado, além de URLs com extensão .js/tipo mime, a extensão procurará por respostas com tipo mime HTML; se tal resposta for encontrada, a extensão tentará extrair todas as tags
se uma URL monitorada responder com um código de status sem sucesso (2xx) ou se o jsluice não retornar nenhuma saída, você receberá um diálogo popup perguntando se deseja parar de monitorar a URL; se "Yes" for selecionado, todas as cópias locais do arquivo serão removidas.
