打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ECShop 2.7.2 最新任意用户登陆漏洞0day
ECShop 2.7.2 最新任意用户登陆漏洞0day
 由于最近项目需要, 查看了下商派最新发布的ECShop 2.7.2正式版的源代码, 没想到在看到第二个文件时就发现了一处比较明显, 且低级漏洞。这个漏洞可以让任何人以任何用户身份登录到ECShop前台!
漏洞的影响
ECShop 2.7.2
ECShop 2.7.1 不受影响
漏洞的出现
漏洞出现在/include/init.php文件的512行左右, 代码如下: 

ecshop 2.7.2 最新任意用户登录漏洞代码
从代码中可以看出, 当SESSION中不存在用户登录信息的时候, 会查看COOKIE中的$_COOKIE[ECS][user_id]和$_COOKIE[ECS][password]两个变量。如果 两个变量都不为空,则查询user表中user_id为$_COOKIE[ECS][user_id]的用户, 如果该用户存在, 就直接置为登录状态。而对$_COOKIE[ECS][password]在整个判断过程中并未进行使用。
大家都知道,COOKIE是可以伪造的,所以用工具轻松添加这个两个变量, 并设置$_COOKIE[ECS][user_id]为有效值,即可以任意账户登录系统
相同的认证方式,在后台的代码(/admin/include/init.php:229)中却又有比较安全的验证方式, 代码如下: 

ecshop 2.7.2 最新任意用户登录漏洞代码
这里不仅验证了后台用户ID的有效性, 还进一步验证了$_COOKIE[ECSCP][admin_pass]的有效性, 这样就是比较完善的方式。
漏洞简单利用
打开由ecshop 2.7.2构建的商城系统, 当前为未登录状态
打开COOKIE编辑软件, 这里我用的FireFox的插件FireCookie
新建两个COOKIE变量:$_COOKIE[ECS][user_id]和$_COOKIE[ECS][password], 如下图所示: 

ecshop 2.7.2 最新任意用户登录漏洞利用

ecshop 2.7.2 最新任意用户登录漏洞利用
现在刷新页面, 你已经登录了, 登录的用户名显示在右上角
ecshop 2.7.2 最新任意用户登录漏洞利用成功
漏洞的修补
修复漏洞也很简单, 前面贴出的后台代码就是最好的例子,把/include/init.php 261行左右的if语句改为
if (!$row || (md5($row[password] . $_CFG[hash_code]) != $_COOKIE[ECS][password]))
观点
这个漏洞的出现主要是影响前台用户, 对网站服务器的安全性影响不大。当然结合其他漏洞或是社会工程学等的攻击,取得提权也不是不可能的。这里就不说了,各路高手可自由发挥:-)
这算是EC团队的一个严重失误吧,希望官方尽快修复。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
ecshop微信登录配置_ecshoph5微信登录一直循环授权登录怎么办?
phpMyAdmin配置登录用户名与密码教程
固定SessionID漏洞 攻击
XSS危害
Web安全之逻辑漏洞全方位总结
某bbs从任意用户注册到越权重置任意用户密码 安全龙学堂
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服