بنقرة واحدة
javascript-analysis
分析目标网站的 JavaScript 文件,提取 API 端点、硬编码密钥、Token 和敏感信息。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
分析目标网站的 JavaScript 文件,提取 API 端点、硬编码密钥、Token 和敏感信息。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
通过被动来源和受控主动 DNS 枚举目标子域名,发现更多授权攻击面入口。
使用 agent-browser 在授权范围内执行浏览器交互验证,并在需要视觉判断时调用 pents vision-review 生成结构化视觉复核结果。
检测 API 中的功能级授权破坏(BFLA),验证普通用户是否能通过直接调用管理端点或操纵 HTTP 方法来执行管理员功能。
检测 API 中的对象级授权缺陷(BOLA/IDOR),通过篡改对象标识符越权访问或修改其他用户的数据。
利用 JWT 库接受 alg:none 的漏洞绕过签名验证,伪造任意 Token 实现权限提升。
检测 API 中的批量赋值漏洞,通过在请求体中添加非预期字段修改不应被客户端控制的属性。
| name | javascript-analysis |
| description | 分析目标网站的 JavaScript 文件,提取 API 端点、硬编码密钥、Token 和敏感信息。 |
| category | recon |
| source | xalgorix |
| tags | ["信息收集","JavaScript","API 发现","密钥泄露"] |
| required_tools | ["curl","grep"] |
waybackurls 或 gau 用于提取历史 JS URL。如果项目目录里已经有 js_files/、浏览器缓存、构建产物或上轮 Claude 下载的 JS 文件,不要强行从 HTML 重新开始。先记录来源缺口,再直接分析现有文件:
find js_files -type f -name "*.js" | sort > js_files_list.txt
wc -l js_files_list.txt
记录要求:
.map、chunk 文件、i18n、runtime、vendor、admin 等明显模块。从目标页面和 Wayback Machine 提取 JS 文件地址。
# 从主页提取 script 标签中的 JS
curl -s https://<target.com> | grep -oP 'src="[^"]+\.js"' | cut -d'"' -f2 | sort -u > js_urls.txt
# 从 Wayback Machine 获取历史 JS 文件
echo "<target.com>" | waybackurls | grep '\.js$' | sort -u >> js_urls.txt
预期输出:js_urls.txt,包含所有可访问的 JS 文件 URL。
mkdir -p js_files
while read url; do
curl -s "$url" -o "js_files/$(basename "$url")" 2>/dev/null
done < js_urls.txt
预期输出:js_files/ 目录,包含所有下载的 JS 文件。
# 搜索常见 API 路径模式
grep -rhoP '["'\''](/api/v?\d?/[^"'\'' ]+|/graphql|/v\d/[^"'\'' ]+)' js_files/ | sort -u > api_endpoints.txt
# 搜索 fetch/axios 调用
grep -rhoP '(fetch|axios\.(get|post|put|delete))\s*\(\s*["'\''][^"'\'' ]+' js_files/ | sort -u >> api_endpoints.txt
预期输出:api_endpoints.txt,包含从 JS 中提取的 API 路径。
# 高置信度模式
grep -rnoP '(api[_-]?key|access[_-]?token|secret|password|private[_-]?key|bearer)\s*[:=]\s*["'\''][^"'\'' ]{8,}' js_files/ > secrets_found.txt
# 低置信度模式(需要人工确认)
grep -rnoP '[A-Za-z0-9+/]{40,}={0,2}' js_files/ | grep -v 'sha256\|base64' >> secrets_low_confidence.txt
预期输出:secrets_found.txt 和 secrets_low_confidence.txt。
从 JS bundle 中提取应用类型、框架、版本、base URL、功能开关、OAuth/支付/CDN/WAF 线索:
# 前端框架、HTTP 客户端、常见组件库
grep -rhoP '(Vue|React|Angular|axios|fetch|i18n|pinia|vue-router|vite)' js_files/ | sort -u > js_tech_hints.txt
# API base URL、环境变量、功能开关
grep -rnoP '(baseURL|baseUrl|apiBase|VITE_[A-Z0-9_]+|NODE_ENV|turnstile|captcha|cloudflare|stripe|oauth|oidc|sso)' js_files/ > js_config_hints.txt
# 软件名、版本、版权或开源项目线索
grep -rnoP '(version|Version|copyright|license|github|Sub2API|OneAPI|New API|ChatGPT|OpenAI)' js_files/ > js_software_hints.txt
记录要求:
CF-、captcha、WAF 相关字段应作为 CDN/WAF 线索写入 inventory/review。api-discovery 继续整理,不直接测试。# 检查是否存在 source map 引用
grep -r 'sourceMappingURL' js_files/ | while read line; do
map_url=$(echo "$line" | grep -oP '//# sourceMappingURL=\K.*')
curl -s "$map_url" -o "js_files/$(basename "$map_url")" 2>/dev/null
done
预期输出:下载的 .map 文件,可反编译混淆代码。
api_endpoints.txt),写入 inventory 的 API 端点表。secrets_found.txt),仅摘要报告,不将原始凭证写入 progress。api-discovery 归类;把 CDN/WAF 线索交给 subdomain-enumeration 或服务指纹任务验证。