用途
hunt-laravel 是一个针对 Laravel 框架应用的漏洞排查技能,来源于 elementalsouls/claude-bughunter 项目。它把 Laravel 生态中常见且危害较高的安全问题整理成可执行的检查流程,帮助安全测试人员在授权范围内快速定位配置错误、信息泄露与可利用漏洞。
主要能力
技能覆盖以下 Laravel 特定风险点:
- 调试模式与 Ignition RCE(CVE-2021-3129):当生产环境开启 APP_DEBUG=true 且 Laravel 版本低于 8.4.2 时,可能通过 /_ignition/execute-solution 在未授权情况下实现远程代码执行。技能提供 Whoops/Ignition 错误页检测、健康检查端点探测以及利用工具与手动请求示例。
- Telescope 仪表盘:/telescope 可能暴露完整的请求/响应日志、数据库查询、Redis 命令、计划任务与环境变量。技能列出 /telescope/api/requests、/telescope/api/commands、/telescope/api/redis、/telescope/api/environment 等接口的探测命令。
- Horizon 仪表盘:/horizon 可能暴露队列任务详情与失败任务载荷,其中可能包含 API 密钥或个人信息。技能提供 /horizon/api/stats、/horizon/api/jobs/failed 等接口的访问方式。
- .env 文件与 APP_KEY 泄露:直接访问 /.env、/.env.production、/.env.backup、/.env.local 等路径,若获取到 APP_KEY,则可解密所有 Laravel 加密 Cookie,进而伪造会话 Cookie 实现账户接管。技能还提示检查 storage/logs/laravel.log。
- 环境覆盖(CVE-2024-52301):当 php.ini 中 register_argc_argv=On 时,Laravel 会把查询字符串解析为 CLI 参数,通过 ?--env=local 或 ?--env=testing 可在 HTTP 层面覆盖 APP_ENV,切换到调试或测试配置。该问题已在 11.31.0 / 10.48.23 / 9.52.17 修复。
- 签名 URL 篡改:Laravel 签名 URL 包含 signature 参数,技能指导测试修改非签名参数、移除签名、追加额外参数,以判断应用是否校验全部参数。
- Eloquent 批量赋值:当模型使用 $guarded=[] 或 $fillable 配置不当时,可通过在更新或注册请求中注入 is_admin、role、verified、admin 等字段尝试权限提升。
- Cookie 反序列化:在已知 APP_KEY 的情况下,结合 phpggc 生成 Laravel 反序列化链载荷,并伪造签名 Cookie。
使用方式
技能以分阶段命令的形式组织,通常按以下顺序推进:
- 指纹识别:通过响应头中的 laravel_session、x-powered-by,页面中的 laravel、Illuminate、csrf-token,以及 /storage、/public、/resources、/vendor/laravel、/.env、/artisan 等常见路径判断目标是否为 Laravel 应用。
- 调试模式与 Ignition 检测:触发 404 观察是否出现 Whoops 或 Ignition 错误页,访问 /_ignition/health-check 确认端点存在。
- Telescope 与 Horizon 探测:批量请求常见路径,状态码为 200 时标记为可访问,并进一步读取 API 数据。
- .env 与 APP_KEY 探测:尝试直接读取 .env 系列文件,提取 APP_KEY、数据库密码等敏感信息。
- 环境覆盖测试:在 URL 中附加 ?--env=local 或 ?--env=testing,观察是否出现调试页或环境变化。
- 签名 URL 与批量赋值测试:对签名 URL 进行参数篡改,对更新/注册接口注入额外字段。
- Cookie 伪造:在获取 APP_KEY 后,使用 phpggc 与 Cookie 伪造脚本生成并签名恶意会话。
技能还提供了验证标准,例如 Ignition RCE 需在响应中看到 id 命令输出;Telescope 需在 API 响应中看到含凭据或用户令牌的数据库查询;APP_KEY 需伪造的会话 Cookie 被接受并返回其他用户资料;批量赋值需 is_admin: true 被接受且账户获得管理员权限。
适用场景
适用于对自有或已获得明确授权的 Laravel 应用进行安全评估、渗透测试或漏洞排查。技能中的命令与利用示例仅应在合法授权范围内使用。
限制
技能资料未说明其支持的 Laravel 版本范围、依赖的第三方工具版本、运行环境要求或自动化程度。部分利用步骤(如 Ignition RCE、Cookie 反序列化)依赖特定版本、配置条件或外部工具(如 ambionics/laravel-ignition-rce、phpggc),实际可用性需结合目标环境判断。资料中未提供收费、价格或平台信息。