
jsluice++ es una extensión de Burp Suite diseñada para el escaneo pasivo y activo del tráfico JavaScript utilizando la herramienta CLI jsluice
jsluice++ es una extensión de Burp Suite diseñada para el escaneo pasivo y activo del tráfico de JavaScript mediante la herramienta CLI jsluice.
La extensión utiliza las capacidades de jsluice para extraer URLs, rutas y secretos de archivos JavaScript estáticos y lo integra con Burp Suite, permitiéndole escanear fácilmente el tráfico JavaScript desde el Sitemap o Proxy de Burp Suite, al tiempo que ofrece una interfaz fácil de usar para la inspección de datos y una variedad de funciones útiles adicionales.
Requisitos:
Si no es la primera vez que instalas una extensión de Jython, puedes saltar al paso 3.
go install github.com/BishopFox/jsluice/cmd/jsluice@latest (asegúrate de que el binario de jsluice esté en tu $PATH; de lo contrario, la extensión no funcionará)La extensión añade un elemento al menú contextual de Burp Suite que te permite procesar fácilmente las respuestas de la pestaña Sitemap de Burp Suite.
Para ello, simplemente haz clic derecho en cualquier host del árbol de sitemap o en cualquier elemento de la tabla de sitemap y selecciona Extensions->jsluice++->Process selected item(s) en el menú contextual de Burp Suite.
Al procesar elementos del árbol de sitemap, la extensión obtendrá el sitemap de cada elemento seleccionado (se pueden procesar varios hosts)

Predeterminado: Off
Cuando el escaneo pasivo está activado, la extensión registrará un controlador http y procesará las respuestas del tráfico que fluye a través del Proxy de Burp Suite (se recomienda usar la función de solo en el alcance al habilitar el escaneo pasivo para reducir el ruido)
La extensión procesará cualquier URL con extensión de archivo .js o tipo MIME de JavaScript y un código de estado de éxito (2xx) usando el modo urls de jsluice.
El archivo JavaScript procesado se guarda temporalmente de forma local en el directorio ".jsluicepp" y se elimina después de que jsluice termine de procesarlo,
Si jsluice devuelve algún dato, el host asociado a la URL se añadirá a la lista de Hosts; para ver los resultados de jsluice, simplemente selecciona el host y el archivo deseado (se pueden seleccionar varios archivos).
Nota: la misma URL (parámetros GET excluidos) no se procesará más de una vez hasta que se recargue la extensión; esto no aplica a las URLs monitorizadas.
Cada archivo de la lista Files puede ser monitorizado por la extensión; para ello, haz clic derecho en el archivo y selecciona la opción "Monitor URL" del menú emergente (repite este paso si deseas dejar de monitorizar la URL),
Cuando se monitoriza una nueva URL, sus detalles se guardan en .jsluicepp/monitored_urls.txt y una copia de la salida de jsluice se guarda localmente en .jsluicepp/monitored_files/{host}_{filename_hash}(secretos excluidos),
Los archivos monitorizados se muestran en color verde en la lista Files,
La frecuencia con la que se envían las solicitudes a las URLs monitorizadas está determinada por el valor seleccionado en el selector de Intervalo de monitorización,
Las opciones de intervalo de monitorización son:
si jsluice ha devuelto datos diferentes de la copia guardada localmente, se te notificará con el siguiente cuadro de diálogo emergente:

la copia guardada localmente del archivo se moverá a .jsluicepp/monitored_files/{host}_{filename_hash}.old y se guardará una copia nueva del nuevo archivo,
Al seleccionar el archivo monitorizado en la extensión, las filas nuevas/modificadas se colorearán de verde y las versiones anteriores de filas modificadas/eliminadas se colorearán de rojo, ejemplo:

Cada fila de la tabla de resultados de URLs/Rutas puede enviarse al Repeater de Burp Suite haciendo clic derecho en cualquier fila y seleccionando la opción "Send to Repeater" en el menú emergente.
Se incluirán Query Params, Body Params y Headers si existen;
si la columna URL/Path comienza con "http://" o "https://" o "//", el host se extraerá de la columna URL/Path; de lo contrario, se usará el host seleccionado;
si hay un header content-type con un valor de application/json or application/xml or text/xml presente en la columna Headers, el cuerpo de la solicitud se formateará en consecuencia.
Predeterminado: On
Si está seleccionado, se añade una tabla de resultados de "Secrets" a la interfaz y la extensión usará el modo secrets de jsluice en el archivo después de que el modo urls haya terminado. Si se encuentra algún secreto único, el host se coloreará de rojo con un emoji 🤫 a su lado, ejemplo:

si deseas usar una configuración de patrones personalizada, puedes hacerlo modificando la variable 'secrets_command' en el código.
Predeterminado: Off
Si está seleccionado y la casilla Secrets también está seleccionada, se te notificará con un cuadro de diálogo emergente cuando se encuentre un nuevo secreto único; el diálogo se cierra automáticamente después de 15 segundos. Ejemplo de diálogo:

La URL de cada archivo procesado se puede copiar al portapapeles haciendo clic derecho en el archivo de la lista Files y seleccionando la opción "Copy URL" en el menú emergente.
La función de filtro de coincidencia positiva/negativa está diseñada para apuntar a la columna URL/Path dentro de la tabla de resultados. Al añadir un filtro positivo, solo se incluirán en la tabla de resultados las filas que contengan el filtro de coincidencia positiva en la columna URL/Path. Por el contrario, al añadir un filtro negativo, las filas que tengan el filtro de coincidencia negativa en la columna URL/Path se excluirán de los resultados.
Se pueden aplicar múltiples filtros.

Predeterminado: Off
Si está seleccionado, la extensión usará el alcance de Burp Suite para determinar si una URL debe procesarse; además, los hosts fuera del alcance no se mostrarán en la lista de hosts.
Predeterminado: Off
Cuando está seleccionado, además de las URLs con extensión/tipo MIME .js, la extensión buscará respuestas con tipo MIME HTML. Si se encuentra dicha respuesta, la extensión intentará extraer todas las etiquetas
si una URL monitorizada responde con un código de estado no exitoso (2xx) o si jsluice no devuelve ninguna salida, se te mostrará un cuadro de diálogo emergente preguntando si deseas dejar de monitorizar la URL; si se selecciona "Yes", se eliminarán todas las copias locales del archivo.
