jsluice++ 是一款 Burp Suite 扩展,旨在使用 CLI 工具 jsluice 对 JavaScript 流量进行被动和主动扫描。
该扩展利用 jsluice 的能力从静态 JavaScript 文件中提取 URL、路径和机密信息,并将其与 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 选项卡的响应
为此,只需右键单击 sitemap 树中的任意主机或 sitemap 表中的任意条目,然后在 Burp Suite 的上下文菜单中选择 Extensions->jsluice++->Process selected item(s)。
当处理来自站点地图树的条目时,扩展将获取每个所选条目的站点地图(可同时处理多个主机)

默认:关闭
当开启被动扫描后,扩展将注册一个 HTTP 处理器,并处理流经 Burp Suite Proxy 的流量响应(建议在启用被动扫描时使用“仅限作用域内”功能以减少噪音)
扩展将使用 jsluice 的 urls 模式处理任何具有 .js 文件扩展名或 JavaScript MIME 类型且状态码为成功(2xx)的 URL。
被处理的 JavaScript 文件会临时保存在本地的 ".jsluicepp" 目录中,并在 jsluice 处理完成后被删除。
如果 jsluice 返回了任何数据,与该 URL 关联的主机将被添加到 Hosts 列表中。要查看 jsluice 的结果,只需选择主机和所需文件(可选择多个文件)。
注意:在扩展重新加载之前,相同的 URL(不含 GET 参数)不会被重复处理,但这不适用于被监控的 URL。
Files 列表中的每个文件都可以被扩展监控。为此,只需右键单击文件,然后在弹出菜单中选择“Monitor URL”选项(如果想停止监控该 URL,请重复此步骤)。
当开始监控一个新的 URL 时,其详细信息会保存到 .jsluicepp/monitored_urls.txt,并且 jsluice 输出的副本会保存到本地的 .jsluicepp/monitored_files/{host}_{filename_hash}(不包含机密信息)。
被监控的文件在 Files 列表中会显示为绿色。
向被监控 URL 发送请求的频率由“Monitor Interval”选择器中所选的值决定。
监控间隔选项有:
如果 jsluice 返回的数据与本地保存的副本不同,您将看到以下弹出对话框通知:

该文件的本地副本将被移动到 .jsluicepp/monitored_files/{host}_{filename_hash}.old,并保存新文件的副本。
在扩展中选择被监控的文件时,新增/修改的行将显示为绿色,已修改行的先前版本/已删除的行将显示为红色,示例:

如果被监控的 URL 返回非成功状态码(2xx),或者 jsluice 没有返回任何输出,系统会弹出对话框询问您是否希望停止监控该 URL。如果选择“Yes”,该文件的所有本地副本都将被删除。

URL/Paths 结果表中的每一行都可以通过右键单击该行,并在弹出菜单中选择“Send to Repeater”选项发送到 Burp Suite 的 Repeater。
如果存在查询参数、主体参数和请求头,它们将被包含在内。
如果 URL/Path 列以 “http://” 或 “https://” 或 “//” 开头,将从中提取主机,否则将使用所选主机。
如果 Headers 列中存在值为 application/json or application/xml or text/xml 的 content-type 请求头,则请求主体将按相应格式进行格式化。
默认:开启
如果选中该选项,UI 中会添加一个 “Secrets” 结果表,并且扩展将在 urls 模式完成后对文件使用 jsluice 的 secrets 模式。如果发现任何唯一的机密信息,主机将显示为红色,并在旁边显示 🤫 表情符号,示例:

如果您希望使用自定义模式配置,可以通过修改代码中的 'secrets_command' 变量来实现。
包含/排除匹配过滤功能针对结果表中的 URL/Path 列。添加包含过滤器时,结果表中只会保留 URL/Path 列中包含该匹配项的行。相反,添加排除过滤器时,URL/Path 列中包含该匹配项的行将从结果中排除。
可以应用多个过滤器。
