如何使用EndExt从JS文件中提取出所有的网络终端节点
字数 1217 2025-08-10 17:51:51
EndExt工具使用指南:从JS文件中提取网络终端节点
一、EndExt工具概述
EndExt是一款基于Go语言开发的网络安全工具,专门用于从JavaScript文件中提取所有可能的网络终端节点(endpoints)、URL或路径信息。该工具在以下场景特别有用:
- 从waybackurls抓取的JS文件中提取终端节点
- 从目标网站主页收集的JS文件URL中提取API端点
- 分析使用API系统的网站时快速发现所有潜在接口
二、安装准备
1. 安装Go语言环境
EndExt基于Go语言开发,需要先安装Go环境:
brew install go # macOS系统
或参考官方文档安装适合您操作系统的Go版本。
2. 获取EndExt源码
git clone https://github.com/SirBugs/endext.git
三、基本使用方法
1. 从单个JS文件提取终端节点
go run main.go -u "https://example.com/script.js"
2. 从JS文件列表批量提取
go run main.go -l js_files_urls.txt
其中js_files_urls.txt是包含多个JS文件URL的文本文件,每行一个URL。
3. 输出结果示例
工具运行后会显示类似以下格式的结果:
( 1 ) - https://example.com/_home/chunks/preload-helper-xxxxxxxx.js :: (endpoint) _app/
( 2 ) - https://example.com/_home/chunks/organization-xxxxxxxx.js :: (endpoint) endpoints/dashboard-metadata/bulk
...
四、高级使用技巧
1. 保存结果到文件
使用-o参数指定输出文件:
go run main.go -l js_files.txt -o results.txt
默认输出文件名为js_endpoints.txt
2. 开启详细模式
使用-p参数显示每个终端节点的完整URL:
go run main.go -l js_files.txt -p
3. 与其他工具结合使用
使用waybackurls获取JS文件:
echo 'target.com' | waybackurls | tee waybackresults.txt
cat waybackresults.txt | grep "\.js" > js_files.txt
go run main.go -l js_files.txt
替代工具选择:
也可以使用Gau、HaKrawler或Katana等工具替代waybackurls来收集JS文件URL。
五、工具选项总结
| 选项 | 描述 | 示例 |
|---|---|---|
-l |
指定包含多个JS文件URL的列表文件 | -l js_urls.txt |
-u |
指定单个JS文件URL | -u "https://example.com/script.js" |
-o |
指定输出文件名 | -o results.txt |
-p |
开启详细模式,显示完整URL | -p |
注意:不能同时使用-u和-l参数。
六、实际应用场景
- API接口发现:当目标网站使用API系统时,快速发现所有潜在API端点
- 安全审计:识别可能暴露的敏感接口或未授权访问点
- 渗透测试:扩大攻击面,寻找更多测试目标
- 资产收集:全面了解目标网站的接口架构
七、项目信息
- 版本:1.0.5(2023年7月7日更新)
- 开发者:@SirBugs
- 联系方式:
- Twitter: @SirBagoza
- GitHub: @SirBugs
- Medium: @bag0zathev2
- 许可证:MIT开源协议
- 项目地址:https://github.com/SirBugs/endext
八、注意事项
- 确保输入的JS文件URL是可访问的
- 对于大型JS文件集合,处理可能需要一些时间
- 结果可能需要人工筛选,去除误报或无关内容
- 请遵守法律法规,仅在授权范围内使用该工具