OAuthV2应用程序如何防止来自授权服务器的回调遭受重放攻击?

问题描述 投票:0回答:1

我将以here为例。假设Resource Owner想要授权Application example-app.com有权访问他的某些资源。

1] Resource Owner将被定向到Authorization Server中的URI,例如:

https://authorization-server.com/auth
 ?response_type=code
 &client_id=29352915982374239857
 &redirect_uri=https%3A%2F%2Fexample-app.com%2Fcallback
 &scope=create+delete
 &state=xcoiv98y2kd22vusuye3kch

2)Resource Owner将通过Authorization Server进行身份验证,并将重定向到:

https://example-app.com/redirect
 ?code=g0ZGZmNjVmOWIjNTk2NTk4ZTYyZGI3
 &state=xcoiv98y2kd22vusuye3kch

问题:如果其他人复制了步骤2中的URI并向相同的URI请求,该怎么办?假设Attacker的请求将在Resource Owner之前处理。例如,Attacker将相同的请求发送至:

https://example-app.com/redirect
 ?code=g0ZGZmNjVmOWIjNTk2NTk4ZTYyZGI3
 &state=xcoiv98y2kd22vusuye3kch

[在我看来Application现在可以从Resource Owner访问资源并与Attacker共享资源,特别是如果Application一旦验证code而与请求者建立了会话,则尤其如此。这有任何意义吗?如何防止这种情况?

security oauth oauth-2.0
1个回答
0
投票

要利用这一点,攻击者首先需要获取重定向URL。这是困难的部分。重定向将从授权服务器发送到资源所有者,并且需要HTTPS。

一旦攻击能够对此进行侦听,大多数安全措施将无法提供。

© www.soinside.com 2019 - 2024. All rights reserved.