
jsluice++ est une extension Burp Suite conçue pour l'analyse passive et active du trafic JavaScript à l'aide de l'outil CLI jsluice.
jsluice++ est une extension Burp Suite conçue pour l'analyse passive et active du trafic JavaScript à l'aide de l'outil CLI jsluice.
L'extension exploite les capacités de jsluice pour extraire les URLs, les chemins et les secrets des fichiers JavaScript statiques et l'intègre à Burp Suite, vous permettant ainsi d'analyser facilement le trafic JavaScript depuis le Sitemap ou le Proxy de Burp Suite, tout en offrant une interface conviviale pour l'inspection des données et une variété de fonctionnalités utiles supplémentaires.
Prérequis :
si ce n'est pas la première fois que vous installez une extension Jython, vous pouvez passer à l'étape 3.
go install github.com/BishopFox/jsluice/cmd/jsluice@latest (assurez-vous que le binaire jsluice se trouve dans votre $PATH, sinon l'extension ne fonctionnera pas)L'extension ajoute un élément au menu contextuel de Burp Suite qui vous permet de traiter facilement les réponses de l'onglet Sitemap de Burp Suite.
Pour ce faire, faites simplement un clic droit sur un hôte de l'arborescence du sitemap ou sur tout élément du tableau du sitemap et sélectionnez Extensions->jsluice++->Process selected item(s) dans le menu contextuel de Burp Suite.
Lors du traitement d'éléments depuis l'arborescence du sitemap, l'extension récupère le sitemap de chaque élément sélectionné (plusieurs hôtes peuvent être traités).

Défaut : Désactivé
Lorsque l'analyse passive est activée, l'extension enregistre un gestionnaire HTTP et traite les réponses du trafic transitant par le Proxy de Burp Suite (il est recommandé d'utiliser la fonctionnalité « Uniquement dans le périmètre » lors de l'activation de l'analyse passive afin de réduire le bruit).
L'extension traitera toute URL ayant une extension de fichier .js ou un type MIME JavaScript et un code de statut de succès (2xx) à l'aide du mode urls de jsluice.
Le fichier JavaScript traité est temporairement enregistré localement dans le répertoire « .jsluicepp » et est supprimé après que jsluice a fini de le traiter.
Si jsluice renvoie des données, l'hôte associé à l'URL sera ajouté à la liste des hôtes ; pour afficher les résultats de jsluice, sélectionnez simplement l'hôte et le fichier souhaité (plusieurs fichiers peuvent être sélectionnés).
Remarque : la même URL (paramètres GET exclus) ne sera pas traitée plus d'une fois jusqu'au rechargement de l'extension ; cela ne s'applique pas aux URLs surveillées.
Chaque fichier de la liste des fichiers peut être surveillé par l'extension. Pour ce faire, faites un clic droit sur le fichier et sélectionnez l'option « Monitor URL » dans le menu contextuel (répétez cette étape si vous souhaitez arrêter de surveiller l'URL).
Lorsqu'une nouvelle URL est surveillée, ses détails sont enregistrés dans .jsluicepp/monitored_urls.txt et une copie de la sortie de jsluice est enregistrée localement dans .jsluicepp/monitored_files/{host}_{filename_hash} (secrets exclus).
Les fichiers surveillés sont colorés en vert dans la liste des fichiers.
La fréquence à laquelle les requêtes sont envoyées aux URLs surveillées est déterminée par la valeur sélectionnée dans le sélecteur d'intervalle de surveillance.
Les options d'intervalle de surveillance sont :
si jsluice a renvoyé des données différentes de la copie enregistrée localement, vous serez notifié par la boîte de dialogue contextuelle suivante :

la copie locale du fichier sera déplacée vers .jsluicepp/monitored_files/{host}_{filename_hash}.old et une nouvelle copie du nouveau fichier sera enregistrée.
Lors de la sélection du fichier surveillé dans l'extension, les lignes nouvelles/modifiées seront colorées en vert et les versions précédentes des lignes modifiées/supprimées seront colorées en rouge, exemple :

Chaque ligne du tableau des résultats URLs/chemins peut être envoyée au Repeater de Burp Suite en faisant un clic droit sur une ligne et en sélectionnant l'option « Send to Repeater » dans le menu contextuel.
Les Query Params, Body Params et Headers seront inclus s'ils existent.
Si la colonne URL/chemin commence par « http:// », « https:// » ou « // », l'hôte sera extrait de la colonne URL/chemin ; sinon, l'hôte sélectionné sera utilisé.
Si un en-tête content-type avec une valeur application/json ou application/xml ou text/xml est présent dans la colonne Headers, le corps de la requête sera formaté en conséquence.
Défaut : Activé
Si cette option est sélectionnée, une table de résultats « Secrets » est ajoutée à l'interface et l'extension utilisera le mode secrets de jsluice sur le fichier une fois le mode urls terminé. Si des secrets uniques sont trouvés, l'hôte sera coloré en rouge avec un emoji 🤫 à côté, exemple :

si vous souhaitez utiliser une configuration de modèles personnalisée, vous pouvez modifier la variable 'secrets_command' dans le code.
Défaut : Désactivé
Si cette option est sélectionnée et que la case Secrets est également cochée, vous serez notifié par une boîte de dialogue contextuelle lorsqu'un nouveau secret unique est trouvé. La boîte de dialogue se ferme automatiquement après 15 secondes, exemple de dialogue :

L'URL de chaque fichier traité peut être copiée dans le presse-papiers en faisant un clic droit sur le fichier dans la liste des fichiers et en sélectionnant l'option « Copy URL » dans le menu contextuel.
La fonctionnalité de filtre de correspondance positive/négative est conçue pour cibler la colonne URL/chemin dans le tableau des résultats. Lors de l'ajout d'un filtre positif, seules les lignes contenant le filtre de correspondance positive dans la colonne URL/chemin seront incluses dans le tableau des résultats. À l'inverse, lors de l'ajout d'un filtre négatif, les lignes contenant le filtre de correspondance négative dans la colonne URL/chemin seront exclues des résultats.
Plusieurs filtres peuvent être appliqués.

Défaut : Désactivé
Si cette option est sélectionnée, l'extension utilisera le périmètre de Burp Suite pour déterminer si une URL doit être traitée ; de plus, les hôtes hors périmètre ne seront pas affichés dans la liste des hôtes.
Défaut : Désactivé
Lorsque cette option est sélectionnée, en plus des URLs avec une extension/type MIME .js, l'extension recherchera les réponses avec un type MIME HTML. Si une telle réponse est trouvée, l'extension tentera d'extraire toutes les balises
si une URL surveillée répond avec un code de statut non 2xx ou si jsluice ne renvoie aucune sortie, une boîte de dialogue contextuelle vous demandera si vous souhaitez arrêter de surveiller l'URL ; si « Oui » est sélectionné, toutes les copies locales du fichier seront supprimées.
