360网站安全检测平台发布UC-key漏洞修复方案
3月5日消息,针对2011年10月曝出的“UCenter多点登陆接口UC-key漏洞”,360网站安全检测平台公布抽样调查数据显示:在使用UCenter一站登录接口的网站中,目前约42%的网站仍未修复该漏洞,可能被黑客轻易登录并完全控制他人帐号,主要影响社交、返利、团购等网站,建议相关网站参考360网站安全检测平台提供的方案修复漏洞。
360网站安全检测平台:http://webscan.360.cn
UCenter是应用广泛的开放性“用户中心”程序,建站者经过简单修改便可以挂接第三方应用,实现用户的一站式注册、登录、退出以及社区其他数据的交互。例如,一些购物类网站支持用户使用QQ、微博等帐号登录,便是UCenter一站登录接口的应用。
360网站安全检测平台指出,“UC-key漏洞”并非UCenter本身的漏洞,而是UCenter开放给第三方使用的时候,第三方接入商的建站程序集成UCenter后配置不当,因没有设置“UC_KEY”的值而出现安全隐患。有些建站程序虽然设置了“UC_KEY”,但任何人通过程序源码都可以得到这个值,从而使UCenter的加密信息透明化,致使黑客可随意构造并控制用户。
利用“UC-key漏洞”,黑客无需密码即可在一些购物网站上登录他人帐号,查看帐号的消费记录、篡改密码,甚至操作他人帐号进行交易。目前,“UC-key漏洞”攻击方法已经在黑客论坛上广泛传开,对大批网站用户的帐号安全性造成严重威胁。
为此,360网站安全检测平台特别发布“UC-key漏洞”修复方案,供相关网站参考:
1、如果网站不采用UCenter一站式登录功能,建议从建站程序中删除或限制访问uc_client相关api文件;
2、不想删除文件或限制访问的情况下,可以对“UC_KEY”设置一个难以猜测的数值,比如:define(UC_KEY,ee63576e535511eeb391eca2007167e7); (视实际情况为主,不同程序的定义方式会不同);
3、如果不确定是否会用到UCenter接口或不知道UC_KEY是否定义,可以找到接口文件中解码函数位置之前做一次检测,例如:
defined(UC_KEY) ? null : die(Access denied);
parse_str(uc_api_x_authcode($code, DECODE, UC_KEY), $get); //uc接口利用UC_KEY做解码的流程前
4、建议集成UCenter的建站程序开发者在安装步骤中引导用户设置“UC_KEY”或者提醒用户关闭此功能。
图:360解析“UCenter多点登陆接口UC-key漏洞”代码