LinkFinder – 在 JavaScript 文件中搜索端点的脚本
网站的隐藏端点可用于对域执行渗透测试。如果我们使用手动方式,检测这些端点是很困难的。所以我们需要一个能够检测 JavaScript 链接端点的自动化脚本。 LinkFinder是使用Python语言开发的自动化工具,可检测目标域上的端点及其参数。结果在 Web 浏览器中以 .html 格式显示,同时我们也可以在终端本身中显示结果。 LinkFinder 工具可在 GitHub 平台上使用,它是免费且开源的。 LinkFinder 工具还支持对目标进行深入分析,以发现更多端点。
注意:确保您的系统上安装了Python ,因为这是一个基于 Python 的工具。点击查看安装过程——Linux上的Python安装步骤
在 Kali Linux 操作系统上安装 LinkFinder 工具
第 1 步:使用以下命令在您的 Kali Linux 操作系统中安装该工具。
git clone https://github.com/GerbenJavado/LinkFinder.git
第 2 步:现在使用以下命令移动到该工具的目录。您必须在目录中移动才能运行该工具。
cd LinkFinder
第 3 步:您位于 LinkFinder 的目录中。现在您必须使用以下命令安装 LinkFinder 的依赖项。
sudo pip3 install -r requirements.txt
第 4 步:运行 setup.py 文件以完成安装。
sudo python3 setup.py install
第 5 步:所有依赖项都已安装在您的 Kali Linux 操作系统中。现在使用以下命令运行该工具并检查帮助部分。
python3 linkfinder.py -h
在 Kali Linux 操作系统上使用 LinkFinder 工具
示例 1:在在线 JavaScript 文件中查找端点并将 HTML 结果输出到 results.html 的最基本用法
python3 linkfinder.py -i https://geeksforgeeks.org -o results.html
我们正在显示保存在 .html 格式文件中的结果。
所有突出显示的 URL 都是 JavaScript 文件的端点。
示例 2: CLI/STDOUT 输出(不使用 jsbeautifier,这使得它非常快)
python3 linkfinder.py -i https://geeksforgeeks.org -o cli
在此示例中,我们在终端本身中显示结果或端点。
示例 3:分析整个域及其 JS 文件
python3 linkfinder.py -i https://geeksforgeeks.org -d
在此示例中,我们将在 https://geeksforgeeks.org 上执行深度扫描
示例 4: Burp 输入(在目标中选择要保存的文件,右键单击,保存所选项目,将该文件作为输入提供)
python3 linkfinder.py -i burp.txt -b
在此示例中,我们将输入从 burp.txt 文件传递给工具。
我们已经得到了 JS 文件的结果和端点。
示例 5:枚举 JavaScript 文件的整个文件夹,同时查找以 /api/ 开头的端点,最后将结果保存到 results.html
python3 linkfinder.py -i ‘Desktop/*.js’ -r ^/api/ -o results.html
在此示例中,我们从 Desktop 目录中搜索 .js 文件并查找端点 /api/。
示例 6:忽略 -g –ignore 提供的某些 js 文件(如外部库)
python3 SecretFinder.py -i https://geeksforgeeks.org/ -e -g ‘jquery;bootstrap;api.google.com’
在这个例子中,我们忽略了某些不是很重要的 JS 文件。
示例 7:只处理 -n –only 提供的某些 js 文件
python3 SecretFinder.py -i https://geeksforgeeks.org/ -e -n ‘d3i4yxtzktqr9n.cloudfront.net;www.myexternaljs.com’
在这个例子中,我们包含了重要的 js 文件进行搜索。
示例 8:使用您的正则表达式
python3 SecretFinder.py -i https://example.com/1.js -o cli -r ‘apikey=my.api.key[a-zA-Z]+’
在此示例中,我们指定了我们自己的自定义 Regex 进行搜索。
示例 9:其他选项:添加标头、代理和 cookie
python3 SecretFinder.py -i https://example.com/ -e -o cli -c ‘mysessionid=111234’ -H ‘x-header:value1\nx-header2:value2’ -p 127.0.0.1:8080 -r ‘apikey=my.api.key[a-zA-Z]+’
在此示例中,我们添加了标头、代理和 cookie 以隐藏身份。
示例 10:打开 SecretFinder.py 并添加您的正则表达式
在此示例中,我们将正则表达式直接插入到主Python文件中。