漏洞概要
关注数(24)
关注此漏洞
漏洞标题:espcms最新版V6.4.15.08.25任意用户登录
提交时间:2015-09-25 11:14
修复时间:2015-12-29 11:17
公开时间:2015-12-29 11:17
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
Tags标签:
无
漏洞详情
披露状态:
2015-09-25: 细节已通知厂商并且等待厂商处理中
2015-09-30: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-11-24: 细节向核心白帽子及相关领域专家公开
2015-12-04: 细节向普通白帽子公开
2015-12-14: 细节向实习白帽子公开
2015-12-29: 细节向公众公开
简要描述:
绝对是最新版本!
版本信息:V6.4.15.08.25 UTF8 正式版
更新时间:2015-08-25 12:29:04 软件大小:7.67MB
25号更新的
详细说明:
出现在用户登录处
/interface/memebermain.php中
espcms验证用户信息的都是采用cookie验证uid的,只要可以伪造就可以任意登录
我们跟踪一下uid的处理方式
这里同时验证了uid和用户名带入数据库查询看是否同一行
我们跟踪下处理uid的函数
在/public/class_connector.php
用户名是取了cookie的值可以控制
但uid值被intval
就是这个intval帮我们达到任意登录的效果
首先我们想注册个4开头后面加任意字母,后面不能是数字什么的
然后我们登录
然后查看cookie找到username的值
然后用这个值覆盖到info的值
这个info的值是验证uid用的
最后刷新就可以登录uid为4这个用户了
可以看到登录成功了
------------------------------------
原理是什么呢,intval起了什么效果呢?
我们的用户名是4test,然后变cookie值是加密过的
把这个值放在处理uid的语句上
就是
为什么登录4呢,因为php是弱类型的语言,所以intval就会把4test理解成4
那样就覆盖了原来的uid,然后就可以任意登录用户了
漏洞证明:
出现在用户登录处
/interface/memebermain.php中
espcms验证用户信息的都是采用cookie验证uid的,只要可以伪造就可以任意登录
我们跟踪一下uid的处理方式
这里同时验证了uid和用户名带入数据库查询看是否同一行
我们跟踪下处理uid的函数
在/public/class_connector.php
用户名是取了cookie的值可以控制
但uid值被intval
就是这个intval帮我们达到任意登录的效果
首先我们想注册个4开头后面加任意字母,后面不能是数字什么的
然后我们登录
然后查看cookie找到username的值
然后用这个值覆盖到info的值
这个info的值是验证uid用的
最后刷新就可以登录uid为4这个用户了
可以看到登录成功了
------------------------------------
原理是什么呢,intval起了什么效果呢?
我们的用户名是4test,然后变cookie值是加密过的
把这个值放在处理uid的语句上
就是
为什么登录4呢,因为php是弱类型的语言,所以intval就会把4test理解成4
那样就覆盖了原来的uid,然后就可以任意登录用户了
修复方案:
版权声明:转载请注明来源 Xser@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2015-12-29 11:17
厂商回复:
漏洞Rank:15 (WooYun评价)
最新状态:
暂无