Oct 13 2015

ecshop一处验证码绕过逻辑漏洞

首页 » 代码审计 » ecshop一处验证码绕过逻辑漏洞   

简要描述:

一处逻辑漏洞导致绕过

详细说明:

虽然验证码进行了加密,但是逻辑上还有点问题

问题出在

..\includes\cls_captcha.php

通过验证函数可以看到直接返回,并没有对验证失败进行处理

code 区域
function check_word($word)

    {

        $recorded = isset($_SESSION[$this->session_word]) ? base64_decode($_SESSION[$this->session_word]) : '';

        $given    = $this->encrypts_word(strtoupper($word)); //MD5加密处理



        return (preg_match("/$given/", $recorded)); //验证规则

    }



也就是说如果登陆失败的时候没有对验证码SESSION置空的话,就可以在这次请求中反复尝试进行破解。

下面代码可以看到并没有对验证错误的时候进行处理

..\ecshop\admin\privilege.php

code 区域
if (intval($_CFG['captcha']) & CAPTCHA_ADMIN)

    {

        include_once(ROOT_PATH . 'includes/cls_captcha.php');



        /* 检查验证码是否正确 */

        $validator = new captcha();

        if (!empty($_POST['captcha']) && !$validator->check_word($_POST['captcha']))

        {

            sys_msg($_LANG['captcha_error'], 1);

        }

    }

    $_POST['username'] = isset($_POST['username']) ? trim($_POST['username']) : '';

    $_POST['password'] = isset($_POST['password']) ? trim($_POST['password']) : '';

    $sql="SELECT `ec_salt` FROM ". $ecs->table('admin_user') ."WHERE user_name = '" . $_POST['username']."'";

   echo $sql."<br/>";

    $ec_salt =$db->getOne($sql);

    if(!empty($ec_salt))

    {

         /* 检查密码是否正确 */

         $sql = "SELECT user_id, user_name, password, last_login, action_list, last_login,suppliers_id,ec_salt".

            " FROM " . $ecs->table('admin_user') .

            " WHERE user_name = '" . $_POST['username']. "' AND password = '" . md5(md5($_POST['password']).$ec_salt) . "'";

    }

    else

    {

         /* 检查密码是否正确 */

         $sql = "SELECT user_id, user_name, password, last_login, action_list, last_login,suppliers_id,ec_salt".

            " FROM " . $ecs->table('admin_user') .

            " WHERE user_name = '" . $_POST['username']. "' AND password = '" . md5($_POST['password']) . "'";

    }

    $row = $db->getRow($sql);



    if ($row)

    {....}

漏洞证明:

1922195962db3150669af65b6c03dea76e43ba39.png


如果您喜欢本博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容:

正文部分到此结束

文章标签: echop漏洞 ecshop漏洞利用 ecshop入侵

版权声明:若无特殊注明,本文皆为( mOon )原创,转载请保留文章出处。

也许喜欢: «ECSHOP存在XSS直打管理后台 | mysql udf linux by mOon»

你肿么看?

你还可以输入 250/250 个字

微笑 大笑 拽 大哭 亲亲 流汗 喷血 奸笑 囧 不爽 晕 示爱 害羞 吃惊 惊叹 爱你 吓死了 呵呵

评论信息框

这篇文章还没有收到评论,赶紧来抢沙发吧~

友情链接:万达娱乐注册  万达招商QQ  万达直属  万达娱乐主管QQ  万达娱乐登录  万达娱乐主管QQ  万达娱乐招商  万达招商QQ  万达娱乐开户