Mat*_*rax 10 security amazon-cognito
所以2个问题。
我在这里错过了什么。似乎您将这 2 条信息提供给任何拥有 Cognito 王国的 JS 访问密钥的恶意用户。
他们不是秘密。
实际上,ID 令牌包含iss
声明(属性),即用户池 ID,以及aud
声明,即 App 客户端 ID。
访问令牌包含iss
声明,它也是用户池 ID,而client_id
声明则代表应用程序客户端 ID。
如果这些令牌中的任何一个被坏人拦截,那么他们就可以解码令牌,因为它们只是 base64 编码(未加密)。
然而,只要 JWT 得到正确验证,仅仅知道这 2 条信息对于攻击者来说通常不是很有用。
它不会让攻击者访问用户池本身,因为这需要 AWS 凭证,这些凭证仅分配给用户,或已经正确验证的身份(然后由 ID 池颁发凭证)。
在访问 api 方面,攻击者可能希望以某种方式修改负载以更改请求中的数据。例如,他们可能希望将假设的role
声明从更改user
为admin
,以提升权限并访问他们不应该访问的区域。这可以通过在服务器端正确验证 JWT 令牌以确保有效负载未被篡改来缓解。
另一种类型的 api 攻击可能是使用一个 api 正确验证的令牌来访问另一个 api(JWT 替换)。这可以通过验证iss
和aud
声明来缓解,以确认 JWT 是专门发布给预期的用户池和应用程序客户端的。
归档时间: |
|
查看次数: |
1747 次 |
最近记录: |