假设我们有一个网站(example.com),在此网站上创建帐户后,您可以访问your-domain.example.com登录到您的帐户。现在,登录my-domain.example.com后,我要求连接到我的社交帐户。网站创建的request_token
链接如下所示:
https/://www.social-website.com/dialog/oauth?client_id=appid&redirect_uri=https/://mydomain.example.com
现在,他们将redirect_uri
配置为接受anything.example.com
。
因此,如果攻击者将redirect_uri
设置为attacker.example.com
并将链接发送给受害者。如果受害者已经被授权应用程序,则他将被自动重定向到具有访问令牌的attacker.example.com
。如果不是,他将首先被要求授权该应用程序。
之后攻击者将能够管理受害者的社交帐户。这是社交网站的安全问题吗?
答案 0 :(得分:0)
如果这是真正的带有JWT的OAuth,那么可以使用constructor(public navCtrl: NavController, private nativeStorage : NativeStorage) {
this.nativeStorage.getItem("userLogin").then((data)=>{
this.userImg = data.picture;
this.userName = data.name;
}).catch((c)=>console.log(c));
this.nativeStorage.getItem("userProfile").then((data)=>{
this.profileType = data.userProfileType;
console.log("Check 1",this.profileType);
this.setRadioButton(); // HERE, this is what you want.
}).catch((c)=>console.log(c));
}
来加密/解密令牌。对于攻击者,除非加密密钥也被盗,否则jwt是无用的,攻击者无法对客户端ID做很多事情。
答案 1 :(得分:0)
这可以通过OAuth 2.0实现,但为了缓解这种情况,强烈建议在可能的情况下注册/列入重定向URI白名单并使用机密客户端(即具有客户端密钥的客户端)。请参阅:https://tools.ietf.org/html/rfc6749#section-10.6
使用授权代码授予请求授权时 类型,客户端可以通过" redirect_uri"指定重定向URI。 参数。如果攻击者可以操纵
的值 重定向URI,它可以导致授权服务器重定向
资源所有者user-agent到一个受控制的URI 攻击者使用授权码。...
为了防止这样的 攻击时,授权服务器务必确保重定向 用于获取授权代码的URI与 交换授权代码时提供的重定向URI 访问令牌。授权服务器必须要求公开 客户和应该要求机密客户注册他们的 重定向URI。如果请求中提供了重定向URI, 授权服务器必须根据已注册的内容进行验证 值。