hunt-nodejs 是面向 Node.js 应用的安全评估技能,仅限获得明确书面授权的教育或渗透测试场景使用。使用前必须经过强制确认门:说明确切目标 URL、IP、账号或资源,确认书面授权与允许范围,展示将要执行的具体命令及预期效果,并在当前对话中获得明确确认;否则只能保持只读并提供防御性建议。
主要能力覆盖 Node.js 特定漏洞类别:原型链污染(含经 lodash.merge、Object.assign、qs 等路径注入 proto 或 constructor.prototype)、原型链污染到 RCE 的利用链(child_process 选项污染、lodash 模板、EJS 模板选项污染)、Express trust proxy 滥用(伪造 X-Forwarded-For 绕过 IP 白名单或限流)、EJS/Pug/Handlebars 等服务端模板注入、child_process 命令注入、require() 路径穿越,以及通过 LFI 读取 /proc/self/environ 等文件获取环境变量。
用法按阶段组织:先做指纹识别(检查 X-Powered-By、package.json、package-lock.json、错误堆栈等),再检测原型链污染是否被接受并与后续请求验证,随后尝试危险 sink 链、信任代理绕过、模板注入、命令注入和环境变量泄露。文档给出基于 curl 的检测请求示例,并建议使用 OOB(如 Interactsh)回调确认利用成功。
适用场景为具备明确授权范围的漏洞赏金或渗透测试工作,用于侦察、利用与验证上述漏洞类别。限制包括:必须先通过确认门,且仅限授权范围;该技能为仅文档形式的导入,上游辅助脚本、命令、引擎与研究资产未随附,需要时从源仓库重新安装;所有发现须经 triage-validation 验证后再通过 report-writing 报告;建议在沙箱、一次性虚拟机或受控实验环境中执行。