用途
Hunt Laravel 用于对 Laravel 框架应用进行针对性安全评估,帮助测试人员在授权范围内识别该框架常见的配置错误与漏洞类型。资料强调:仅限教育目的或经授权的安全评估,使用前必须取得系统所有者明确、书面的许可,滥用属违法。
强制确认门禁
在执行任何会探测、利用、更改、持久化、提取数据或尝试访问凭据的命令之前,技能要求:
- 让用户说明确切的目标 URL、IP、账号或资源;
- 让用户确认书面授权及允许的范围;
- 展示确切的命令并解释其预期效果;
- 在当前对话中等待明确确认。
未获确认时,保持只读模式,仅提供防御性指导,并优先使用沙箱、一次性虚拟机或受控实验环境。
主要能力
技能按阶段组织工作流:
- Phase 1 — Laravel 指纹识别:通过响应头、页面特征、常见路径(/storage、/public、/vendor/laravel、/.env、/artisan)与错误页判断是否为 Laravel 应用。
- Phase 2 — 调试模式与 Ignition RCE:检测 Whoops/Ignition 错误页与
/_ignition/health-check端点,并给出 CVE-2021-3129 的测试思路与请求示例。资料特别说明:该 CVE 的利用除调试模式外还依赖受影响 Ignition 包版本、可达端点与文件系统条件,仅凭调试模式或 Laravel 版本不能断定存在 RCE。 - Phase 3 — Telescope 与 Horizon:检查 /telescope 与 /horizon 是否可访问,可能暴露请求/响应日志、数据库查询、Redis 命令、定时任务、环境变量、队列任务详情与失败任务载荷。
- Phase 4 — .env 与 APP_KEY 泄露:检查 .env 及其变体是否可直接访问,以及日志中是否含敏感信息。资料提醒:APP_KEY 泄露并不自动意味着可伪造任意用户会话,还需考虑 Cookie/会话格式、序列化方式、中间件与密钥轮换;不得打印密钥或收集真实用户会话,只能用受控测试账号演示并最小化脱敏证据。
- Phase 4b — 查询参数覆盖环境(CVE-2024-52301):当
register_argc_argv=On时,可通过?--env=覆盖 APP_ENV。资料注明修复版本为 11.31.0 / 10.48.23 / 9.52.17。 - Phase 5 — 签名 URL 篡改:测试修改非签名参数或移除 signature 后是否会失败,以验证签名校验是否覆盖全部参数。
- Phase 6 — Eloquent 批量赋值:在资料/注册请求中注入
is_admin、role、verified等字段,检验模型$guarded/$fillable配置是否不当。 - Phase 7 — Cookie 反序列化:在已知 APP_KEY 的情况下,结合 phpggc 构造载荷的测试思路。
技能还给出“发现—利用链—影响”的对照表,以及各类问题的验证标准与严重性分级建议(如 Ignition RCE、APP_KEY 泄露、批量赋值提权列为严重)。
使用方式
按阶段执行侦察与验证命令,每个主动操作前完成确认门禁。资料提示:CVE/版本与端点示例应视为历史假设,测试前需核实实际安装的受影响包与官方公告;外部利用代码应在隔离目录中审查并固定版本后再执行,示例中的 clone 命令不代表批准运行移动脚本或证明其入口存在。环境切换与日志操纵会改变服务器行为,需要明确范围并做好清理。
适用场景
具备明确书面授权的漏洞赏金或渗透测试项目,且任务属于该技能覆盖的 Laravel 漏洞类别或技术。
限制
- 仅限授权范围,确认门禁为强制要求。
- 文档型导入:上游辅助脚本、命令、引擎与研究资产未随附,需要时从源仓库重新安装工具。
- 所有发现须经分类验证后再通过报告编写流程提交;优先使用沙箱、一次性虚拟机或受控实验室。
- 该技能改编自 elementalsouls/Claude-BugHunter(MIT),为上游合规补充了前置元数据、适用场景/限制与安全边界。
示例
资料给出的首个示例为只读步骤:读取授权项目简介中的目标清单(cat scope.txt),在任何主动操作前先确认范围。