当前位置: 首页 > article >正文

17.JavaScript 自动化侦察工具

1. 项目介绍

JSFScan 是一款专为 Bug Bounty渗透测试 设计的自动化工具,专注于对目标网站的 JavaScript 文件 进行深度侦察。其通过多维度分析 JS 文件,快速提取敏感信息、潜在漏洞点和攻击面,适用于红队渗透、漏洞挖掘及资产测绘等场景。

核心功能亮点

  1. JS 文件收集:从目标子域名列表自动爬取所有关联的 JS 文件链接(支持 Hakrawler、Gau 等工具集成)
  2. 端点提取:解析 JS 文件中的 API 接口、隐藏路径及 URL 端点,为漏洞探测提供关键数据。
  3. 敏感信息发现:检测 JS 中的硬编码密钥(如 AWS Access Key、API Token)、调试接口等。
  4. XSS 探测:识别潜在的 DOM XSS 漏洞点,并提取变量名辅助手动验证。
  5. 数据整合:生成结构化报告(HTML/文本)、自定义词表,支持本地存储 JS 文件供后续分析。

适用场景

  • 红队渗透:快速定位 Web 应用的未授权接口或敏感数据泄露点。
  • 漏洞挖掘:通过 JS 文件中的隐藏路径发现 SQL 注入、SSRF 等漏洞。
  • 资产测绘:梳理企业 Web 应用的 JavaScript 依赖库及第三方服务。

2. 安装教程

2.1. 环境要求

  • 操作系统:Linux/macOS(推荐 Kali Linux 或 Ubuntu)。
  • 依赖工具:Go 1.16+、Docker(可选)、Python 3.6+。

2.2. 安装方法

方法一:本地安装(推荐)

git clone https://github.com/KathanP19/JSFScan.sh  
cd JSFScan.sh  
sudo chmod +x install.sh  
./install.sh  # 自动安装 Hakrawler、Gau、SecretFinder 等依赖  

注意:若遇到权限问题,确保已正确配置 Go 环境变量

方法二:Docker 容器

docker build -t jsfscan .  
docker run -it jsfscan /bin/bash  # 进入容器环境  

优势:避免依赖冲突,适合快速部署

3. 基础使用教程

3.1. 准备目标列表

  • 创建 targets.txt 文件,每行一个子域名(需包含协议头):
https://example.com  
http://test.example.com  

3.2. 常用命令示例

  1. 收集 JS 文件链接
./JSFScan.sh -l -i targets.txt -o output  
    • -l:启用 JS 链接收集模块。
    • -o:指定输出目录。
  1. 提取端点与敏感信息
./JSFScan.sh -e -s -i targets.txt  
    • -e:提取 JS 中的 URL 端点。
    • -s:扫描硬编码密钥(如 AWS Key、数据库凭证)。
  1. 生成 HTML 报告
./JSFScan.sh --all -i targets.txt -r report.html  
    • --all:启用全部功能模块。
    • -r:生成可视化报告

4. 进阶使用教程

4.1. 自定义 Cookie 与请求头

  • 编辑脚本文件,修改 Hakrawler 的请求参数(如添加认证 Cookie):
# 修改 JSFScan.sh 第 23 行  
hakrawler -js -cookie "session=123abc" -depth 3  

4.2. 生成自定义词表

  • 从 JS 文件中提取高频词汇,用于目录爆破或密码猜测:
 ./JSFScan.sh -w -i targets.txt -o custom_wordlist.txt  

4.3. 变量名提取与 XSS 检测

  • 提取 JS 变量名辅助 XSS 漏洞挖掘:
 ./JSFScan.sh -v -d -i targets.txt  
    • -v:提取变量名(如 userInputredirectUrl)。
    • -d:扫描潜在的 DOM XSS 漏洞点

4.4. 联动其他工具

  • 将提取的端点导入 Burp SuiteNuclei 进行深度测试:
 cat output/endpoints.txt | nuclei -t ~/nuclei-templates/  

5. 官方下载地址

  • GitHub 仓库:https://github.com/KathanP19/JSFScan.sh

6. 注意事项

  1. 合法授权:仅用于授权测试,禁止非法入侵。
  2. 性能优化
    • 调整线程数(默认 20)避免触发 WAF:-t 10
    • 使用代理池分散请求:-proxy http://127.0.0.1:8080
  1. 数据更新:定期拉取最新版以获取增强的规则库(如密钥正则表达式)

通过 JSFScan,用户可高效完成从 JS 文件分析到漏洞验证的全流程,建议结合 ZAPXray 进行漏洞验证,形成完整的攻击链。


http://www.kler.cn/a/582392.html

相关文章:

  • 前馈神经网络 - 参数学习(优化问题)
  • VSTO(C#)Excel开发4:打印设置
  • Mac java全栈开发环境配置
  • MATLAB代码开发实战:从入门到高效应用
  • 基于springboot + vue 的实验室(预约)管理系统
  • 3. 自定义类型****
  • 批量给 Excel 表格添加文字和图片水印
  • Java程序开发之Spring Boot快速入门:5分钟搭建RESTful API
  • 以下是基于文章核心命题打造的15个标题方案,根据传播场景分类推荐
  • 在线商城服务器
  • c++介绍线程的屏障 八
  • C++入门——内联函数、auto关键字、基于范围的for循环
  • FastDDS中Utils定义的那些数据结构(二)
  • 【TMS570LC4357】之工程创建
  • UE5.5 Niagara 发射器粒子更新模块
  • 基于SpringBoot的租房管理系统实现与设计
  • 用C# Newtonsoft.Json库实现JSON数据中某个字段值的提取
  • LLM最新的模型微调技术有哪些
  • 爬虫一些基础知识的备忘录(需要自取)
  • 【Academy】SSRF ------ Server-side request forgery