ECShop 2.7.2 最新任意用户登陆漏洞0day

ECShop 2.7.2 最新任意用户登陆漏洞0day

(2015-04-02 16:07:28)
转载
   

由于最近项目需要, 查看了下商派最新发布的ECShop 2.7.2正式版的源代码, 没想到在看到第二个文件时就发现了一处比较明显,且低级漏洞。这个漏洞可以让任何人以任何用户身份登录到ECShop前台! 
漏洞的影响 
ECShop 2.7.2 
ECShop2.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网店系统二次开发,ewshop网店系统,php)