YouYaX 后台下的SQl注入漏洞

2014-11-24 18:15:12 20 8009
转载于90SEC 要是原作者在私密我删帖...感谢每一位原创的作者,为我们带来好的学习交流平台!

=========================================================
漏洞文件:/Lib/adminAction.php
public function bid_set()    {            if($_SESSION['token']!=$_POST['token']){                    $this->assign("code", "操作错误!")->assign("msg", "可能处于恶意操作中")->display("Public/exception.html");exit;            }else{                    $_SESSION['token']='';                    }            if (empty($_SESSION['youyax_admin'])) {            $this->redirect("admin" . C('default_url') . "login" . C('static_url'));        }        $id  = intval($_POST['id']);        $arr = $this->find(C('db_prefix') . "user", 'string', "id='" . $id . "'");        if ($_POST['bid_op'] == 1) {            mysql_query("update " . C('db_prefix') . "user set bid=bid+" . intval($_POST['bid_text']) . " where  id='" . $id . "'");            CommonAction::admin_send($arr['user'], '管理员奖励了你 ' . intval($_POST['bid_text']) . ' 金币,操作原因: '.(empty($_POST['bid_reason'])?'无':htmlspecialchars($_POST["bid_reason"], ENT_QUOTES, "UTF-8")));        }        if ($_POST['bid_op'] == 2) {            mysql_query("update " . C('db_prefix') . "user set bid=bid-" . intval($_POST['bid_text']) . " where  id='" . $id . "'");            CommonAction::admin_send($arr['user'], '管理员处罚了你 ' . intval($_POST['bid_text']) . ' 金币,操作原因: '.(empty($_POST['bid_reason'])?'无':htmlspecialchars($_POST["bid_reason"], ENT_QUOTES, "UTF-8")));        }        $_SESSION['youyax_error'] = 1;        $this->redirect("admin" . C('default_url') . "user" . C('static_url'));    }
经过我一步步的跟踪,我终于发现程序员的松懈
(empty($_POST['bid_reason'])?'无':htmlspecialchars($_POST["bid_reason"], ENT_QUOTES, "UTF-8")));
这这里用的是htmlspecialchars,这个函数其实并不针对sql,除非有特殊情况的时候他的过滤才对sql起到作用,当然我遇到过两次,说起就是泪了。htmlspecialchars 函数主要针对的是< > ' " "等这些符号,而sql中单引号起到了很大的作用,那这个时候我们应该想到转义符,这是一个强大的存在,蓝翔毕业的都知道它。当然转义符可以绕过这个函数,但是有一个sql利用的前提就是语句能够注释掉后面,不解释多,本地环境上


续狗的ID已经上去了,可以看到有注入,那试试注释下

可以看到能注释后面的内容,那么就可以确定存在注入了
备注:因续狗mysql手工注入脑残,一直靠的是sqlmap跟大牛帮忙手工的,所以也就匿了,o(︶︿︶)o 唉  正在狂补手工注入的
因妹子嫌弃本屌是搞安全的,本屌很伤心,所以没继续挖下去,挖到一个后台的洗洗睡了。
别问我后台下的注入能干嘛,我会告诉你 当你搞一个站的时候,主站没希望,刚好有一个旁站 无奈admin admin进去了 拿不下shell,这个时候注入就可能起到了作用了

关于作者

狗一样的男人211篇文章870篇回复北京云炬天下信息技术有限公司 CEO

评论20次

要评论?请先  登录  或  注册