You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Breeze中能否自行生成虚假邮箱的邮件验证链接?

问题解答

结论:可以自行生成该虚假邮箱的验证链接

原因如下:

  • Laravel的temporarySignedRoute生成签名的核心逻辑,是基于hash_hmac算法,用应用的APP_KEY作为密钥,对以下关键输入进行哈希编码:
    • 目标路由名称(Laravel Breeze默认邮件验证路由为verification.verify)
    • 用户ID
    • 邮箱的SHA256哈希值(hash('sha256', $user->email))
    • 链接的过期时间戳

既然攻击者满足以下条件:

  • 知晓自己注册的虚假邮箱内容,可计算出对应的SHA256哈希
  • 能从数据库获取该虚假账号的用户ID
  • 持有应用的APP_KEY

那么完全可以手动复刻签名生成流程:

  1. 确定路由名称、用户ID、邮箱哈希、自定义的过期时间(比如沿用系统默认的60分钟有效期)
  2. 使用hash_hmac('sha256', 签名基础字符串, APP_KEY)生成哈希值,再进行Base64编码得到签名
  3. 将id、hash、expires、signature参数拼接至验证路由URL后,即可得到有效的邮件验证链接

该链接会被Laravel的签名验证逻辑判定为合法,因为签名的生成输入与系统生成时一致,且密钥正确,验证时会匹配通过,从而完成虚假邮箱的验证流程。

内容的提问来源于stack exchange,提问作者suzy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:27:38