Uc接口带来的安全隐患.PDFVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Uc接口带来的安全隐患.PDF

Uc 接口带来的安全隐患 作者:flyh4t@ 时间:2011.1.14 UCenter 是 Comsenz 旗下各个产品之间信息直接传递的一个桥梁,通过 UCenter 站 Comsenz UCenter 长可以无缝整合 系列产品,实现用户的一站式注册、登录、退出。 可以让 Comsenz 旗下所有产品联系地更加紧密,实现用户的统一注册登录,让社区真正运转起来 。 UCenter 拥有机制完善的接口,经过简单修改便可以挂接其它任何平台的第三方的网 络应用程序。UCenter 作为信息传统桥梁,拥有统一的短信息、好友机制,最终用户可以 过它轻松通行在各个应用之中,无需重复登录、注册、退出。当前几乎国内所有主流的 cms 都默认集成了 Ucenter 的api 文件。 第三方的程序在使用 UCenter 挂接让 Comsenz 时,依靠一个 UC_KEY 实现程序的互 通,部分第三方程序没有真正理解 UCenter 的机制,造成了多种安全风险。 一、 UC_KEY 未初始化漏洞 部分第三方程序默认把 UC 的接口文件存在在web 目录,如果网站管理员不使用uc 功 能,则 UC_KEY 就没有初始化。我们以 ECShop v2.6.1 一个注入漏洞为例子,api/uc.php 部分代码如下 code begin define(UC_VERSION, 1.0.0); //UCenter 版本标识 …… define(IN_ECS, TRUE); require ./init.php; //如果不启用 uc 功能,则该文件不初始化 UC_KEY include(ROOT_PATH . uc_client/client.php); include(ROOT_PATH . uc_client/lib/xml.class.php); // include ecshop uc_client web / 注意,这个地方是 ,虽然 默认没有把 放到 目录,但是出错 /后程序能继续执行下去 $ecs_url = str_replace(/api, , $ecs-url()); $code = $_GET[code]; //我们提交的变量 parse_str(authcode($code, DECODE, UC_KEY), $get); / /authcode 是负责解码和编码的函数,仅依赖于 UC_KEY ,这个是UC 外挂程序的关键 //注意 parse_str 有转意敏感字符的功能 if(time() - $get[time] 3600) //我们提交的 time 可以为很大的数字,如time=1111111111111111111 ,保证不进入exit { exit(Authracation has expiried); } if(empty($get)) { exit(Invalid Request); } $action = $get[action]; $timestamp = time(); if($action == test) { exit(API_RETURN_SUCCEED); } /* 用户删除 API 接口 */ elseif($action == deleteuser) //我们提交 aciont=deleteuser ,进入该过程 { !API_DELETEUSER exit(API_RETURN_FORBIDDEN); $uids = $get[ids];//注意这个地方 ids 中的敏感符号会被parse_str 转意 if (delete_user($uids))//我们向下看这个函数 { exit(API_RETURN_SUCCEED); } } …… /** * 删除用户接口函数 * * @access public * @param int $uids * @return void */

文档评论(0)

busuanzi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档