当前位置: 主页 > 漏洞公告 >

UCenter 的安全漏洞

时间:2010-02-09  来源:未知   点击:
 

UCenter 的安全漏洞
今天随便看了下Ucenter和uchome的统一账户机制。感觉设计上面不是很合理.如果想让某应用a在登录时同时也登录其它挂接到对应ucenter的应用b(入uhome).
那么应该采用synlogin方式.synlogin方式会让ucenter生成若干条js嵌入脚本.(每个第三方应用对应一条),如下:

<script src="http://host:port/uchome/api/uc.php?code=xxx" />


以uchome为例, uchome/api/uc.php的执行关键过程如下:
1. 从code解编出字段: username, password, uid.
2. 在uchome自身数据库中判断此uid是否存在,如果存在便设置授权cookie.(认为登录成功).

这里头引出了几个问题:

1. 如果用户初次从a站点登录并sync到uchome, 那么uchome自身数据库中是不存在对应账户的,那通过第三方应用登录到uchome的过程会失败.
  除非你显示从uchome登录一次, uchome的登录过程如下:

  1). 从ucenter登录,获取用户信息.

  2). 判断本地数据库是否存在此用户,如不存在则插入用户信息.
关键在第二步, 所以你必须通过uchome的入口才能让新用户插入uchome自身的数据库.

2. 有安全漏洞.

  由于uchome/api/uc.php中的判断只是简单判断uid是否存在, 如果uid存在便认为可以正常登录.
  那么假如我们的账号某次被盗了,只要攻击者记录下那串<script src = "http://host:port/uchome/api/uc.php?code=xxx"/>
  那么后续该用户无论怎么修改密码都无用, 因为uchome的跨应用登录入口api/uc.php根本不检查password,也不与ucenter作通信.
  或者如果你知道了某个uchome应用的UC_KEY, 那么你就可以构造伪造请求来模拟任意用户登录了.

[来源:服务器安全维护网 ServerSteam.com ->> 责任编辑:FuanAdmin]

更多相关

常见问题

服务项目

服务器安全维护:服务器安全技术服务!(服务器配置、服务器安全配置、服务器安全方案)

成功案例

联系我们

    安全应急响应中心:

  • 专家信箱:sec@serversteam.com
  • 专家热线:13542743816
  • 安全客服:0755-82894338
  • 应急传真:0755-82894338
  • 地址:深圳市福田区群星广场A座
首页 - 合作伙伴 - 服务条款 - 服务承诺 - 业务流程 - 漏洞公告 - 技术支持 - 常见问题 - 安全法规 - 百度新闻 - 联系我们
支持单位:深圳市雪鹿信息技术开发有限公司 服务器安全应急中心 服务器安全资讯网 中华人民共和国工业和信息化部备案许可证:[粤ICP备09049593号]
Copyright © 2004 -2010 Server Security Safeguard Site. &. ShenZhen XueLu Co,LTD All Rights Reserved. Record ICP No:GD No.09049593 Design By: Berlin