5个高效技巧recon-skills自动化脚本教程——JS密钥提取与敏感信息挖掘工具开发【免费下载链接】recon-skillsRecon pentest skill pack. CORS, XSS, SQLi, SSRF, RCE, WordPress, MCP, cloud, subdomain takeover, and more. Field-tested. MIT. Full write-up at hiago.sh项目地址: https://gitcode.com/gh_mirrors/re/recon-skills在现代Web应用渗透测试中JavaScript文件往往隐藏着大量敏感信息如API密钥、内部接口和配置参数。本文将介绍如何利用recon-skills项目中的自动化脚本工具快速从JS文件中提取密钥和敏感信息帮助安全测试人员提升工作效率。图recon-skills项目封面图展示了现代渗透测试中的信息收集概念为什么需要JS密钥提取工具随着前端技术的发展React、Vue、Angular等框架构建的单页应用(SPA)越来越普遍。这些应用的JavaScript bundles和source maps中常常包含硬编码的API密钥和访问令牌内部API端点URLFirebase、Supabase等云服务配置环境变量如VITE_、REACT_APP_未公开的内部路由路径根据recon-skills项目中的实战案例在企业级Angular应用中两个250KB的JS文件就可能泄露内部API地址、Firebase密钥和加密密钥等关键信息。快速开始JS密钥提取工具安装首先克隆recon-skills项目到本地git clone https://gitcode.com/gh_mirrors/re/recon-skills cd recon-skillsJS密钥提取工具位于项目的recon/js-secrets-extraction/scripts/目录下主要包含scan_js.py脚本。技巧1一键扫描网页JS文件scan_js.py脚本支持两种基本扫描模式扫描网页及其所有JS资源或扫描单个JS文件。基本用法如下# 扫描网页及其所有JS捆绑文件 python3 recon/js-secrets-extraction/scripts/scan_js.py https://target.com # 扫描单个JS文件 python3 recon/js-secrets-extraction/scripts/scan_js.py target.js脚本会自动下载并分析目标页面引用的所有JS文件提取潜在的敏感信息。技巧2手动下载与分析JS文件如果需要更精细的控制可以手动下载JS文件并进行分析。以下是一个实用的bash脚本片段# 下载目标页面 curl --max-time 30 --connect-timeout 10 -s https://target.com index.html # 提取并下载所有JS文件 grep -Eo src[^]*\.js index.html | cut -d -f2 | while read js; do curl --max-time 30 --connect-timeout 10 -s https://target.com$js $(basename $js) done # 搜索常见密钥模式 grep -rEn (apiKey|api_key|API_KEY|token|secret|password|clientId|client_id|auth0|firebase|supabase)[\\]?[[:space:]]*[:][[:space:]]*[\\][^\\]{8,} *.js这个方法适用于需要深度分析特定JS文件的场景特别是在自动化工具可能遗漏某些资源时。技巧3Source Map分析与原始代码还原许多现代前端项目会部署source map文件通常以.map为扩展名这些文件可以用来将压缩后的JS代码映射回原始源代码。以下是检查和利用source map的方法# 检查常见source map路径 curl --max-time 30 --connect-timeout 10 -sI https://target.com/assets/index-abc123.js.map curl --max-time 30 --connect-timeout 10 -sI https://target.com/static/js/main.12345.js.map如果服务器返回HTTP 200状态码说明source map可用。可以使用在线工具如unminify.com或source-map-visualization.netlify.app来还原原始代码。在一个实际案例中某健康SaaS应用的管理后台端口8080泄露了1.15MB的JS文件及其source map从中还原出1208个源文件包括完整的API后端地址和各类业务组件信息。技巧4多端口JS文件扫描策略现代应用常常在不同端口部署不同服务主应用在443端口而管理后台或API服务可能在8080、8081等端口。这些不同端口的JS文件可能包含不同的敏感信息# 检查多个端口的source map for port in 443 8080 8081 8084; do curl --max-time 30 --connect-timeout 10 -sI https://target.com:$port/static/js/main.*.js.map 2/dev/null curl --max-time 30 --connect-timeout 10 -sI https://target.com:$port/assets/index-*.js.map 2/dev/null done对于发现的管理后台建议使用以下Python代码片段进行深度分析base https://target.com:8080 # 管理后台地址 js requests.get(f{base}/static/js/main.*.js).text # 提取所有API URL api_urls re.findall(rhttps?://[^\\[[:space:]]\\n,)\\]], js) # 提取管理后台路由路径 routes re.findall(r\\[a-zA-Z0-9_/.-]*)[\\], js, re.IGNORECASE)技巧5错误日志敏感信息挖掘除了JS文件错误日志也是敏感信息的重要来源。recon-skills项目提供了mine_error_log.py工具位于recon/error-log-mining/scripts/目录用于分析错误日志文件# 分析本地错误日志文件 python3 recon/error-log-mining/scripts/mine_error_log.py error.log # 分析远程错误日志 python3 recon/error-log-mining/scripts/mine_error_log.py https://target.com/error_log错误日志常常包含堆栈跟踪、数据库连接字符串、API端点和内部服务器路径等信息这些都可能成为渗透测试的突破口。总结通过recon-skills项目提供的JS密钥提取和敏感信息挖掘工具安全测试人员可以显著提高信息收集效率。这些工具的核心价值在于自动化处理大量JS文件从中提取有价值的敏感信息为后续渗透测试提供关键支持。无论是使用scan_js.py进行快速扫描还是通过source map还原原始代码或是分析错误日志这些技巧都能帮助你在渗透测试中发现更多隐藏的攻击面。建议将这些工具整合到你的日常工作流中形成系统化的敏感信息挖掘流程。项目中更多相关工具和详细使用方法可以参考recon/js-secrets-extraction/SKILL.md文件里面包含了更高级的使用技巧和实战案例分析。【免费下载链接】recon-skillsRecon pentest skill pack. CORS, XSS, SQLi, SSRF, RCE, WordPress, MCP, cloud, subdomain takeover, and more. Field-tested. MIT. Full write-up at hiago.sh项目地址: https://gitcode.com/gh_mirrors/re/recon-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考