收藏
回答

oauth2网页授权被伪造(请求)

通过抓包的方式,在用户A点击授权按钮后,截取授权构造链接,例如:

GET /connect/oauth2/authorize?appid=APPID&redirect_uri=URL&response_type=code&scope=snsapi_userinfo&state=STATE&

uin=MTkyNTY5NzYw&key=73215c3bec983c8b62b54a3648dac9b226d106621760e6317fbfeea1109f2e32840aadf999fc88ff823981c9659e5770c7abbd6e734593e318ce05e106587f225f8d9bd828962e419f81b82c90afd230&version=62070158&

pass_ticket=IzQKVTFVc%2BBx4kczrgOOk%2FSbC9PQuOccDtZVVEZB%2BHU%3D

HTTP/1.1

将此链接发送给其他微信号。其他用户在向微信服务器发送授权确认时,篡改链接。这样就能在其他微信(pc端)伪造出用户A的授权请求。

三方服务器得到的CODE和token都是篡改钱用户A的openid和token。


这给我们基于oauth2授权获得openid 进行身份辅助认证造成了极大的困扰。

请尽快给出解决方案。


回答关注问题邀请回答
收藏

3 个回答

  • 西域猫
    西域猫
    2023-07-14

    这个问题在电脑浏览器上很难被利用,原因是:hacker很难在受害者机器上抓到这个包,一般是通过xss之类的漏洞,一般的正规网站很难在oauth步骤插入带有xss的页面,另外我记得在oauth的协议上是可以在客户端浏览器写入一个cookie的,第三方app在接受到authentication的token后还需要验证client的这个csrf cookie,所以即便这个link被泄漏给了hacker,hacker机器上没有这个cookie,也执行不了攻击,这个是oauth的标准安全用法,我不清楚微信的oauth是否也要求做到这一点了。另外还有个保护,这个第一步的authentication token只能用一次,除非hacker能阻止受害者把这个url转给app后台,否则hacker是不能再次使用这个token的。(具体实现中很多网站的开发没有加入csrf token cookie的写入和验证,因此如果能拿到第一步的link,后台没有校验cookie的情况下,可能被利用,尽管机率较小)

    2023-07-14
    有用
    回复
  • 哄哄
    哄哄
    2022-03-31

    我也遇到了,感觉微信用户被刷了,但是,确实走了微信授权接口,感觉是用模拟器或者其他作弊软件,怎么防止这些用户

    2022-03-31
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-01-06

    你好,接口中通过access_token可以确认真实的用户身份

    2020-01-06
    有用
    回复 3
    • 张哲
      张哲
      2020-01-07
      我已对openid和token进行了验证,而且每次服务器发过的code也是正常的。这个操作是对用户授权的链接进行了伪造。我的服务器接收到的code和我code换回来的openid以及授权token都没有问题。你看我提问发的示意链接,别人构造和篡改的链接地址,那个其实是用户授权后构造的url。在微信回调我们服务器之前,这个请求被复用和伪造了。所以后续的code以及token都没法验证。请你在核实这个问题。
      2020-01-07
      回复
    • 张哲
      张哲
      2020-01-07
      http:GET(请使用https协议) https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID,我已经使用该接口对网页授权的openid和token进行了二次验证,毫无问题。其实这个问题是用户点击同意授权和别的微信授权跳转时候,截断了网络请求(包)然后更改了请求地址。就是我提问中那个地址。然后微信服务器误认为是同一个微信用户允许授权。所以,微信服务器生成的code就是被欺瞒后的code。我接收到code,换取token,获得openid 统统都出现了问题。如果你还是不懂我说的什么意思。请你联系我,我可以在电脑上进行重现给您看。
      2020-01-07
      回复
    • 乘以七
      乘以七
      2021-12-07
      我知道他们怎么获取的code
      2021-12-07
      回复
登录 后发表内容
问题标签