漏洞概要 关注数(9) 关注此漏洞
缺陷编号: WooYun-2014-47827
漏洞标题: Yxcms管理员SESSION伪造漏洞
相关厂商: yxcms
漏洞作者: phith0n
提交时间: 2014-01-06 14:59
公开时间: 2014-04-04 15:00
漏洞类型: 非授权访问/权限绕过
危害等级: 高
自评Rank: 12
漏洞状态: 已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: CSRF,白盒审计
漏洞详情
披露状态:
2014-01-06: 细节已通知厂商并且等待厂商处理中
2014-01-09: 厂商已经确认,细节仅向厂商公开
2014-01-12: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-03-05: 细节向核心白帽子及相关领域专家公开
2014-03-15: 细节向普通白帽子公开
2014-03-25: 细节向实习白帽子公开
2014-04-04: 细节向公众公开
简要描述:
yxcms是一款内容管理系统。
借助后台一个CSRF起飞,伪造session可直接登录后台~
详细说明:
我也是第一次见到这样有趣的漏洞,yxcms允许我们自定义session,而且这个过程通过get方式来完成。
我觉得这样的问题属于CSRF,不经意之间就能获取大效果。
其问题代码如下:
当$_GET[‘phpsessid’]非空时,就令session_id为我们传入的值。
于是我想到一个猥琐的方法,我们构造一个链接让管理员点击,管理员点击后会重新设置他的session,而且这个session就是我们构造的。因为session重置了所以管理员也需要重新登录,而重新登录后其session_id就是我们构造的。我们只要利用这个session_id就能登录管理后台了。
比如我来构造:
http://xxxx/index.php?r=admin/index/index&phpsessid=f4cking123
管理员点击后会跳转到登录页面,但此时他的phpsession已经是我们构造的f4cking123了:
这是管理员如果重新登录,那个这个session就有后台权限了。我们也利用这个链接:http://xxxx/index.php?r=admin/index/index&phpsessid=f4cking123,将自己的session设置成f4cking123,或者随意怎么修改,只要把phpsessid修改成f4cking123就能拥有后台权限了:
漏洞证明:
见详细说明。
修复方案:
后台所有操作加token,不要轻易相信用户的输入。
版权声明:转载请注明来源 phith0n@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:11
确认时间:2014-01-09 13:32
厂商回复:
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值