挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds

图片[1]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科

本文讲述作者在Mail.ru APP某个功能点上发现的Stored XSS漏洞,利用该漏洞可以从Mail.ru相关的应用或邮箱管理软件myMail iOS中窃取用户邮件交流记录、通讯录等隐私信息。漏洞最终获得了Mail.ru官方奖励$1000。

Mail.ru是俄罗斯最大的电邮和网络服务平台,是俄罗斯最大的门户网站,也是俄罗斯第一个成功在伦敦上市的互联网公司。

漏洞情况

漏洞源于Mail.ru的某个功能点对SVG图片文件未做安全检查,可以导致XSS,如在以下SVG文件中插入XSS Payload:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert("XSS");
</script>
</svg>

把上述包含XSS Payload的SVG上传后,当用户浏览访问时,便可触发XSS执行:

图片[2]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科

构造利用

有了XSS,接下来就是来构造漏洞利用了,要能显示漏洞危害才能证明漏洞价值。因此,我深入Mail.ru手机APP中想查找到一些与用户相关的敏感文件。

从其APP的文件架构中,一开始我想看看能否获取到/etc/passwd,但在iPhone中/etc/passwd有沙盒保护,我只好从其它文件入手。刚好,我有一台越狱的iPhone 5,所以我可以用它来查看到APP的整体文件架构。经测试发现,APP相关数据以随机文件夹名称被存储在了路径/private/var/mobile/Containers/Shared/AppGroup/中:

图片[3]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科这些文件中哪些是Mail.ru APP的应用数据呢?这里我需要用XSS来验证一下具体的APP文件路径。所以,我在SVG构造文件中用了alert(location.href),发送给我自己,触发实现XSS,就看到了APP文件路径了:

图片[4]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科然后来到该路径下,可以看到有几个SQLite数据库文件:
图片[5]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科经过下载分析,我发现在文件mail_cache.sq3中包含了用户相关邮件交流、通讯录、支付记录等一切相关信息:

图片[6]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科图片[7]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科图片[8]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科

我把该SQLite数据库文件提取到了我的服务器中,有了这个SQLite数据库文件,就足够证明漏洞危害了。接着,我构造了一个简单的POC尝试从我的iPhone中以XSS方式弹出SQLite数据库文件,哦,完全可以:

图片[9]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科

制作POC

接下来,就是制作POC的时候了。我尝试用XSS漏洞把上述APP中SQLite敏感信息发送到我控制的服务器中来,刚开始,只能发送部分信息,之后经过4个多小时的试错修改,终于可以用以下SVG Payload把整个mail_cache.sq3发送到我的服务器中了。

图片[10]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科POC脚本首先去读取Mail.ru的文件夹位置,然后获得mail_cache.sq3位置,接着把mail_cache.sq3文件发送到我的服务器中。也就是说,如果我把该SVG文件发送给使用Mail.ru的用户,只要他点击访问到该SVG文件,那么他Mail.ru应用相关包含邮件交流、通讯录、支付记录等个人隐私的mail_cache.sq3文件就传到了我的服务器中了。如下:

图片[11]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科

后续

我立马把该漏洞报送给了Mail.ru官方,获得了其$1000的漏洞奖励。

图片[12]-挖洞经验 | Mail.ru用户隐私信息泄漏的XSS漏洞分析 – 作者:clouds-安全小百科而据Mail.ru安全经理告知,我的这个漏洞并不是所谓的Stored XSS,而是一种名为“跨应用程序脚本(Cross application scripting,CAS)”的漏洞,但我觉得还是XSS吧。或许我是错的,不管了,但终归还是学到了新知识。

跨应用程序脚本(CAS)漏洞:会影响无法详尽检查输入的应用程序。 CAS允许攻击者插入修改特定应用程序行为的数据,这使得可以从用户系统内部提取数据,利用CAS漏洞,攻击者可以获得应用程序的全部特权。

参考来源

medium

来源:freebuf.com 2020-07-14 17:33:05 by: clouds

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论