> 技术文档 > jsfinder 使用手册:高效挖掘 JavaScript 敏感信息

jsfinder 使用手册:高效挖掘 JavaScript 敏感信息

目录

jsfinder 使用手册:高效挖掘 JavaScript 敏感信息

一、安装 jsfinder

1. 通过 GitHub 仓库安装

2. 通过 PyPI 安装(可选)

二、基础使用与常用参数

1. 基础扫描

2. 常用参数详解

三、实战案例

案例一:扫描单个网站

案例二:扫描本地 JavaScript 文件

案例三:扫描特定域名相关信息

四、携带 cookie 扫描的方法

1. 通过命令行参数手动添加 cookie

2. 从浏览器导出 cookie 文件并使用

五、注意事项


jsfinder 使用手册:高效挖掘 JavaScript 敏感信息

在网络安全测试和信息收集过程中,JavaScript 文件中往往隐藏着诸如 API 密钥、数据库连接字符串、敏感路由等重要信息。jsfinder 是一款专门用于从网页和 JavaScript 文件中提取敏感信息的工具,能帮助安全人员快速发现潜在的安全风险。本手册将详细介绍 jsfinder 的安装、基础使用、常用参数,以及携带 cookie 扫描的方法,助你高效使用该工具。

一、安装 jsfinder

1. 通过 GitHub 仓库安装

jsfinder 基于 Python 开发,安装前需确保系统已安装 Python 环境(建议 Python 3.6 及以上版本),同时安装pip包管理工具(一般 Python 安装时会默认安装)。安装步骤如下:

  1. 打开终端(Linux 或 macOS 系统)或命令提示符(Windows 系统),使用git命令克隆 jsfinder 的 GitHub 仓库:

git clone https://github.com/Threezh1/JSFinder.git

  1. 进入克隆后的目录:

cd JSFinder

  1. 使用pip安装依赖库:

pip install -r requirements.txt

2. 通过 PyPI 安装(可选)

如果不想使用git克隆仓库,也可以直接通过 PyPI 使用pip安装 jsfinder:

pip install jsfinder

二、基础使用与常用参数

1. 基础扫描

最基础的使用方式是指定目标 URL 进行扫描,命令格式如下:

python3 jsfinder.py -u [目标URL]

例如,要扫描Example Domain,在终端输入:

python3 jsfinder.py -u https://example.com

执行命令后,jsfinder 会自动抓取目标网页,提取其中引用的 JavaScript 文件,并对这些文件进行分析,输出可能包含的敏感信息。

2. 常用参数详解

  • -u, --url:指定要扫描的目标 URL,是最常用的参数之一。
  • -f, --file:如果已经下载好了 JavaScript 文件,可通过该参数指定本地文件路径进行扫描。例如扫描本地test.js文件:

python3 jsfinder.py -f test.js

  • -d, --domain:仅输出与指定域名相关的结果。当扫描的网页包含多个外部链接的 JavaScript 文件,而你只关注特定域名下的信息时,该参数很有用。例如,只输出与example.com相关的结果:

python3 jsfinder.py -u https://example.com -d example.com

  • -t, --thread:设置扫描线程数,加快扫描速度。默认线程数为 5,可根据机器性能和网络状况调整。如设置线程数为 10:

python3 jsfinder.py -u https://example.com -t 10

  • -o, --output:将扫描结果保存到指定文件。例如将结果保存到result.txt:

python3 jsfinder.py -u https://example.com -o result.txt

三、实战案例

案例一:扫描单个网站

需求:扫描https://test.com网站,获取 JavaScript 文件中的敏感信息,并保存结果。

命令:

python3 jsfinder.py -u https://test.com -o test_result.txt

执行后,jsfinder 会开始扫描,完成后在test_result.txt文件中查看扫描结果。

案例二:扫描本地 JavaScript 文件

需求:对本地下载的script.js文件进行敏感信息提取。

命令:

python3 jsfinder.py -f script.js

执行命令后,jsfinder 直接分析script.js文件,并在终端输出结果。

案例三:扫描特定域名相关信息

需求:扫描https://example.com网站,但只关注与api.example.com域名相关的 JavaScript 敏感信息。

命令:

python3 jsfinder.py -u https://example.com -d api.example.com

这样 jsfinder 会过滤掉其他不相关域名的信息,只展示与api.example.com相关的结果。

四、携带 cookie 扫描的方法

在一些情况下,目标网站的部分内容需要登录后才能访问,对应的 JavaScript 文件也隐藏在登录权限之后。此时,携带 cookie 扫描就能模拟已登录状态,获取完整的 JavaScript 信息。jsfinder 携带 cookie 扫描主要有以下两种方式:

1. 通过命令行参数手动添加 cookie

使用--cookie参数可以手动添加 cookie 信息,命令格式如下:

python3 jsfinder.py -u [目标URL] --cookie \"[你的cookie值]\" [其他参数]

例如,已知目标网站Example Domain的 cookie 值为sessionid=12345; user=admin,想要对其进行扫描,命令为:

python3 jsfinder.py -u https://example.com --cookie \"sessionid=12345; user=admin\"

在输入 cookie 值时,要确保完整且格式正确,多个 cookie 键值对之间用分号和空格分隔。

2. 从浏览器导出 cookie 文件并使用

当 cookie 信息复杂,手动输入容易出错时,可以从浏览器导出 cookie 文件,再配合工具将其转换为 jsfinder 可识别的格式后使用。

  1. 导出 cookie 文件

以 Chrome 浏览器为例,打开目标网站并登录后,按F12打开开发者工具,切换到Application(应用)选项卡,点击左侧的Cookies,在右侧找到对应的域名,右键点击,选择Export cookies as JSON,将 cookie 以 JSON 格式保存到本地,命名为cookies.json。

  1. 转换并使用 cookie 文件

目前 jsfinder 没有直接读取 JSON 格式 cookie 文件的功能,需要借助一些脚本或工具将 JSON 格式的 cookie 转换为符合 jsfinder 要求的格式(一般为key1=value1;key2=value2的形式) 。转换完成后,通过--cookie参数指定转换后的 cookie 字符串进行扫描:

python3 jsfinder.py -u [目标URL] --cookie \"[转换后的cookie值]\" [其他参数]

五、注意事项

法律合规:使用 jsfinder 进行扫描时,必须获得目标网站所有者的授权。未经授权扫描他人网站,可能违反法律法规,尤其是携带 cookie 扫描受权限保护的内容时,更要注意合法性。

cookie 时效性:cookie 具有有效期,过期后将无法正常通过服务器验证。若扫描过程中出现无法访问登录后内容的情况,首先检查 cookie 是否过期,及时重新登录并获取新的 cookie。同时,部分网站会校验 cookie 对应的 IP 地址、User-Agent 等信息,若扫描环境与登录环境不一致,可能导致 cookie 失效,需根据实际情况调整相关参数。

误报与漏报:jsfinder 基于预设的规则进行敏感信息提取,可能存在误报(将正常信息识别为敏感信息)和漏报(未识别出真正的敏感信息)的情况。扫描结果需要结合实际情况进行人工分析和验证,不能完全依赖工具输出。

网络问题:扫描过程中若遇到网络连接错误,如超时、无法访问等,检查网络连接是否正常,尝试更换网络环境,或调整扫描线程数等参数,降低对目标服务器的压力。

工具更新:jsfinder 会不断更新和优化,定期检查 GitHub 仓库或 PyPI 上是否有新版本发布,及时更新工具,以获取更好的扫描效果和新功能。