【问题标题】:Oauth - authorization code flow with pkce - security implications of using localhost as redirect_uriOauth - 使用 pkce 的授权代码流 - 使用 localhost 作为 redirect_uri 的安全隐患
【发布时间】:2020-08-31 07:13:40
【问题描述】:
使用 localhost 作为重定向 uri 有什么安全隐患吗?
大多数情况下,localhost 将通过 HTTP 提供服务,因为 ssl 证书未安装在开发环境中。在 Azure 广告中,如果不是 localhost,则应以 https 开头。
但是,攻击者在授权期间从 url 获取客户端 ID 后,是否可以使用 localhost 获取令牌?我很想知道。
【问题讨论】:
标签:
oauth-2.0
azure-active-directory
openid-connect
【解决方案1】:
在 redirect_uris 中使用 localhost 主要是为了适应开发人员。但是,即使您允许它在生产环境中使用,并且攻击者可以在授权请求中添加或更改 redirect_uri 查询参数,它仍然是无害的。
授权服务器对受害者进行身份验证并获得他们的同意后,它会使用HTTP 302 状态代码和带有授权代码作为查询参数之一的Location 标头响应受害者的用户代理(浏览器)。当受害者的浏览器遵循该重定向时,localhost 主机地址指的是受害者的机器。除非攻击者已经在受害者的机器上运行了代码(此时战斗已经失败),否则攻击者无法拦截它。