
jsluice++は、CLIツールjsluiceを使用してJavaScriptトラフィックのパッシブおよびアクティブスキャンを行うために設計されたBurp Suite拡張機能です。
jsluice++ は、CLIツール jsluice を使用して JavaScript トラフィックを受動的および能動的にスキャンするために設計された Burp Suite 拡張機能です。
この拡張機能は、静的 JavaScript ファイルから URL、パス、シークレットを抽出する jsluice の機能を活用し、それを Burp Suite と統合することで、Burp Suite の Sitemap や Proxy から JavaScript トラフィックを簡単にスキャンできるようにします。また、データの検査のための使いやすいインターフェースと、さまざまな追加の便利な機能も提供します。
要件:
Jython 拡張機能のインストールが初めてでない場合は、手順3に進んでください。
go install github.com/BishopFox/jsluice/cmd/jsluice@latest (jsluice バイナリが $PATH に存在することを確認してください。そうでない場合、拡張機能は動作しません)この拡張機能は Burp Suite のコンテキストメニューに項目を追加し、Burp Suite の Sitemap タブからのレスポンスを簡単に処理できるようにします。
これを行うには、サイトマップツリー内の任意のホストまたはサイトマップテーブル内の任意の項目を右クリックし、Burp Suite のコンテキストメニューで Extensions->jsluice++->Process selected item(s) を選択するだけです。
サイトマップツリーから項目を処理する場合、拡張機能は選択された各項目のサイトマップを取得します(複数のホストを処理できます)

デフォルト: オフ
パッシブスキャンが有効になっている場合、拡張機能は HTTP ハンドラを登録し、Burp Suite の Proxy を通過するトラフィックからのレスポンスを処理します(パッシブスキャンを有効にする際は、ノイズを減らすためにスコープ内のみ機能を使用することをお勧めします)
この拡張機能は、.js ファイル拡張子または JavaScript MIME タイプと成功ステータスコード(2xx)を持つ任意の URL を、jsluice の URLs モードを使用して処理します。
処理された JavaScript ファイルは、".jsluicepp" ディレクトリに一時的にローカル保存され、jsluice が処理を完了した後に削除されます。
jsluice がデータを返した場合、URL に関連するホストがホストリストに追加されます。jsluice の結果を表示するには、ホストと目的のファイルを選択するだけです(複数ファイルを選択できます)。
注: 同じ URL(GET パラメータを除く)は、拡張機能がリロードされるまで複数回処理されることはありません。これは監視対象の URL には適用されません。
ファイルリスト内のすべてのファイルを拡張機能で監視できます。これを行うには、ファイルを右クリックしてポップアップメニューから "Monitor URL" オプションを選択するだけです(URL の監視を停止したい場合はこの手順を繰り返してください)。
新しい URL が監視されると、その詳細は .jsluicepp/monitored_urls.txt に保存され、jsluice からの出力のコピーが .jsluicepp/monitored_files/{host}_{filename_hash} にローカル保存されます(シークレットを除く)。
監視中のファイルはファイルリストで緑色に表示されます。
監視対象 URL へのリクエスト送信頻度は、Monitor Interval セレクタで選択された値によって決まります。
監視頻度のオプション:
jsluice がローカル保存されたコピーとは異なるデータを返した場合、以下のポップアップダイアログで通知されます:

ファイルのローカル保存されたコピーは .jsluicepp/monitored_files/{host}_{filename_hash}.old に移動され、新しいファイルの新しいコピーが保存されます。
拡張機能で監視対象ファイルを選択すると、新規/変更された行は緑色で表示され、変更された行の以前のバージョン/削除された行は赤色で表示されます。例:

監視対象 URL が非成功ステータスコード(2xx)で応答した場合、または jsluice が出力を返さなかった場合、URL の監視を停止するかどうかを尋ねるポップアップダイアログが表示されます。"Yes" を選択すると、ファイルのローカルコピーはすべて削除されます。

URL/Paths 結果テーブルのすべての行は、任意の行を右クリックしてポップアップメニューの "Send to Repeater" オプションを選択することで、Burp Suite の Repeater に送信できます。
Query Params、Body Params、Headers が存在する場合はそれらも含まれます。
URL/Path 列が "http://" または "https://" または "//" で始まる場合、ホストは URL/Path 列から抽出されます。それ以外の場合は選択されたホストが使用されます。
Headers 列に application/json または application/xml または text/xml の値を持つ content-type ヘッダーが存在する場合、リクエストのボディはそれに応じてフォーマットされます。
デフォルト: オン
選択すると、"Secrets" 結果テーブルが UI に追加され、拡張機能は URLs モードの完了後にファイルに対して jsluice の secrets モードを使用します。一意のシークレットが見つかった場合、ホストは 🤫 絵文字とともに赤色で表示されます。例:

カスタムパターン設定を使用したい場合は、コード内の 'secrets_command' 変数を変更することで実現できます。
デフォルト: オフ
選択され、かつ Secrets チェックボックスも選択されている場合、新しい一意のシークレットが見つかるとポップアップダイアログで通知されます。ダイアログは15秒後に自動的に閉じられます。ダイアログの例:

処理されたすべてのファイルの URL は、ファイルリストでファイルを右クリックしてポップアップメニューの "Copy URL" オプションを選択することで、クリップボードにコピーできます。
正規/除外マッチフィルタ機能は、結果テーブル内の URL/Path 列を対象とするように設計されています。正規フィルタを追加すると、URL/Path 列に正規マッチフィルタを含む行のみが結果テーブルに含まれます。逆に、除外フィルタを追加すると、URL/Path 列に除外マッチフィルタを持つ行が結果から除外されます。
複数のフィルタを適用できます。

デフォルト: オフ
選択すると、拡張機能は Burp Suite のスコープを使用して URL を処理するかどうかを判断します。さらに、スコープ外のホストはホストリストに表示されません。
デフォルト: オフ
選択すると、.js ファイル拡張子/MIME タイプを持つ URL に加えて、HTML MIME タイプのレスポンスも探します。そのようなレスポンスが見つかった場合、拡張機能はレスポンスボディからすべての