xml地图|网站地图|网站标签 [设为首页] [加入收藏]

智能硬件

当前位置:美高梅游戏网站 > 智能硬件 > OAuth认证存漏洞 小心客户地方被威逼

OAuth认证存漏洞 小心客户地方被威逼

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-05 10:44

我今天早上打开电脑,在seclists中看到一个很惊人的thread:

这个BUG实际上早在4月份就被发现了,今年5月7号,MySQL发布5.5.24的时候,修正了这个BUG。

与OpenSSL一样,OAuth(Open Authorization)作为应用广泛的开源第三方登录认证协议,今年也爆出了安全漏洞。在第三届知道安全论坛上,来自新浪微博的蓝色di雪球表示新浪早在今年3月就发现了这个漏洞,并从OAuth的发展、OAuth的调用方式、OAuth风险分析以及如何利用OAuth漏洞几个方面展开了精彩的演讲。

漏洞分析:

图片 1

出问题的代码如下

OAuth是什么?OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往授权方式不同,通过授权团队可以不使用用户名密码,第三方就可以再某网络获得数据和信息。

/*
    Check that scrambled message corresponds to the password; the function
    is used by server to check that recieved reply is authentic.
    This function does not check lengths of given strings: message must be
    null-terminated, reply and hash_stage2 must be at least SHA1_HASH_SIZE
    long (if not, something fishy is going on).
  SYNOPSIS
    check_scramble()
    scramble     clients' reply, presumably produced by scramble()
    message      original random string, previously sent to client
                 (presumably second argument of scramble()), must be
                 exactly SCRAMBLE_LENGTH long and NULL-terminated.
    hash_stage2  hex2octet-decoded database entry
    All params are IN.

  RETURN VALUE
    0  password is correct
    !0  password is invalid
*/

my_bool
check_scramble(const uchar *scramble_arg, const char *message,
               const uint8 *hash_stage2)
{
  SHA1_CONTEXT sha1_context;
  uint8 buf[SHA1_HASH_SIZE];
  uint8 hash_stage2_reassured[SHA1_HASH_SIZE];

  mysql_sha1_reset(&sha1_context);
  /* create key to encrypt scramble */
  mysql_sha1_input(&sha1_context, (const uint8 *) message, SCRAMBLE_LENGTH);
  mysql_sha1_input(&sha1_context, hash_stage2, SHA1_HASH_SIZE);
  mysql_sha1_result(&sha1_context, buf);
  /* encrypt scramble */
    my_crypt((char *) buf, buf, scramble_arg, SCRAMBLE_LENGTH);
  /* now buf supposedly contains hash_stage1: so we can get hash_stage2 */
  mysql_sha1_reset(&sha1_context);
  mysql_sha1_input(&sha1_context, buf, SHA1_HASH_SIZE);
  mysql_sha1_result(&sha1_context, hash_stage2_reassured);
  return memcmp(hash_stage2, hash_stage2_reassured, SHA1_HASH_SIZE);
}

OAuth调用方式有四种,比较常用的有两种:Authorization Code与Implicit。蓝色di雪球表示OAuth调用方式存在信息泄露、CSRF、URL回调污染以及权限认证利用的风险。其中信息泄露包含:Code泄露、Access Token泄露以及Appsecrit泄露。而CSRF包含授权劫持以及绑定劫持。

本文由美高梅游戏网站发布于智能硬件,转载请注明出处:OAuth认证存漏洞 小心客户地方被威逼

关键词:

上一篇:Yoper Linux 2010 RC1 发布

下一篇:没有了