繁体   English   中英

OAuthV2 应用程序如何保护来自授权服务器的回调免受重放攻击?

[英]How OAuthV2 applications protect from replay attacks on the callback from the authorization server?

我将从这里举个例子。 假设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后与请求者创建 session。 这有任何意义吗? 如何防范呢?

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

一旦攻击能够窥探到这一点,window 中的大部分安全性就会消失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM