
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:

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.

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: