0x00 前言

我们在渗透测试的之前,信息收集是必要的步骤,而JS文件中往往会暴露出很多的信息,比如一些注释的中铭感信息,内网ip地址泄露等等,还会有一些绝对路径或者相对路径的url,而这些url中很有可能就存在着一些未授权访问或者其他更高级的漏洞,但是手动的去一个个查看的效率太过于地下,所以这里分享一个JS文件的信息收集工具——LinkFinder

0x01 LinkFinder介绍

LinkFinder是一个Python脚本,旨在发现JavaScript文件中的端点及其参数。这样,渗透测试人员和Bug猎手就可以在他们正在测试的网站上收集新的,隐藏的端点。导致新的测试环境,可能包含新的漏洞。它通过将jsbeautifier for python与相当大的正则表达式结合使用来实现。正则表达式由四个小的正则表达式组成。这些负责查找:

  • 完整网址(https://example.com/*
  • 绝对URL或点分URL(/\*../*
  • 带有至少一个斜杠(text/test.php)的相对URL
  • 相对网址,不带斜线(test.php

输出以HTML或纯文本形式给出

0x02 安装

2.1 手动安装

克隆到本地安装

LinkFinder支持Python 3

1
2
3
$ git clone https://github.com/GerbenJavado/LinkFinder.git
$ cd LinkFinder
$ python setup.py install

解决依赖关系

1
pip3 install -r requirements.txt

2.2 Docker一键安装

  • 创建docker镜像

    docker build -t linkfinder

  • 运行docker

    docker run --rm -v $(pwd):/linkfinder/output linkfinder -i http://example.com/1.js -o /linkfinder/output/output.html

    确保使用的``/linkfinder/output` 路径在你的输出路径,

0x03 使用方法

3.1 参数解释

Short Form Long Form Description
-i –input 输入一个URL,文件或者文件夹,js文件必须要以.js后缀结尾
-o –output 默认是以html的结果输出,也可以使用命令行的形式输出
-r –regex 使用正则快速的筛选我们需要的信息 (e.g. ^/api/)
-d –domain Toggle to use when analyzing an entire domain. Enumerates over all found JS files.
-b –burp Toggle to use when inputting a Burp ‘Save selected’ file containing multiple JS files
-c –cookies Add cookies to the request
-h –help show the help message and exit

3.2 使用示例

  • 在在线JavaScript文件中查找端点并将HTML结果输出到results.html的最基本用法:
1
python linkfinder.py -i https://example.com/1.js -o results.html
  • CLI / STDOUT输出(不使用jsbeautifier,这使其非常快):
1
python linkfinder.py -i https://example.com/1.js -o cli
  • 分析整个域及其JS文件:
1
python linkfinder.py -i https://example.com -d
  • 打p输入(在目标中选择要保存的文件,右键单击,然后Save selected items将该文件作为输入):
1
python linkfinder.py -i burpfile -b
  • 枚举JavaScript文件的整个文件夹,同时查找以/ api /开头的端点,最后将结果保存到results.html中:
1
python linkfinder.py -i 'Desktop/*.js' -r ^/api/ -o results.html

0x04 使用截图

在这里插入图片描述


https://www.mad-coding.cn/2019/12/23/JS%E6%96%87%E4%BB%B6%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86%E5%B7%A5%E5%85%B7-LinkFinder/#0x01-LinkFinder%E4%BB%8B%E7%BB%8D

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐