Web Services 当客户端NONCES不是一个选项时,防止Replay攻击

vsikbqxv  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(157)

我正在寻找NONCES的替代方案来防止重放攻击。
我的场景:我已经植入了一个售票处,你可以在那里买票,为了防止两个人试图购买同一张票,我增加了一个预订系统。所以当你选择座位时,一个请求被发送到预订服务,它会存储预订10分钟。现在我的问题是:我怎样才能防止潜在的攻击者嗅探到预订请求并一遍又一遍地重放它呢?这会无限地阻塞座位(在最坏的情况下是所有座位)。
由于售票处是开源的,如果需要的话,代码是可用的!谢谢!

oo7oh9g9

oo7oh9g91#

当其他人也面临同样的问题时,我是这样解决问题的:
我添加了可选的(售票处的管理员可以启用它)集成reCAPTCHA。(因此需要保留)执行不可见验证码并生成客户端令牌。此令牌可用2分钟,并发送到后端服务器,在那里将使用Google API进行验证。当令牌已被使用或超时时,服务器向客户端发送一个错误消息,客户端将生成一个新的reCAPTCHA令牌,并重试请求。潜在的攻击者需要自己生成这样的令牌,而这是不可能的--根据谷歌的说法。

相关问题