网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

漏洞公告团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 漏洞公告 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

Google中XSS漏洞:漏扫利器Acunetix Vulnerability Scanner

文章来源:重庆网络安全 发布时间:2020-03-13 00:24:08 围观次数:
分享到:

摘要:利用漏扫利器Acunetix Vulnerability Scanner发现Google中XSS漏洞。

 利用漏扫利器Acunetix Vulnerability Scanner发现Google中XSS漏洞。


Acunetix Vulnerability Scanner安全警告


  使用各种安全扫描工具,包括Acunetix,以扫描和测试不同的Google服务。使用Acunetix扫描Google服务时,突然弹出XSS漏洞安全警告。扫描测试Payload为:


  https://google.ws/ajax/pi/fbfr?wvstest=javascript:domxssExecutionSink(1,%22%27%5C%22%3E%3Cxsstag%3E()locxss%22)

  一般而言,大多数此类漏洞警告都是误报,通常不会跟进,但是这个目标是Google,因此值得研究。


分析HTTP请求的响应


  首先,让我们看一下上个漏洞警告的HTTP响应内容,如下所示: 

HTTP/1.1 200 OK

...

<!doctype html><div style="display:none"> <form method="post"> </form> <script nonce="+ao+4Egc+7YExl3qyyWMJg==">(function(){var a=window.document.forms[0],b=location.hash.substr(1);b||window.close();var c=b.split("&"),d=decodeURIComponent(c[0]);a.action=d;for(var e=1;e<c.length;e++){var f=c[e].split("="),g=document.createElement("input");g.type="hidden";g.name=f[0];g.value=decodeURIComponent(f[1]);a.appendChild(g)}a.submit();}).call(this);</script> </div>

 分析表明,响应包括一个空的form格式和一些JS片段代码。为了获得更好的可读性,JS代码进行了以下重组:

 

(function() {

    var a = window.document.forms[0],

        b = location.hash.substr(1);

    b || window.close();

    var c = b.split("&"),

        d = decodeURIComponent(c[0]);

    a.action = d;

    for (var e = 1; e < c.length; e++) {

        var f = c[e].split("="),

            g = document.createElement("input");

        g.type = "hidden";

        g.name = f[0];

        g.value = decodeURIComponent(f[1]);

        a.appendChild(g)

    }

    a.submit();

}).call(this);

 接下来,我们将仔细分析上述JS代码。为此,我们添加一些注释以了解:

 

(function() {

// Function that is going to be auto-executed 

   }).call(this);

   (function() {

     // The variable “a” points to a form that is empty right now

       var a = window.document.forms[0],

       // The variable b is a location hash without the # character

           b = location.hash.substr(1);

     // If there is no b (no hash in the location URI), try to self-close

       b || window.close();

     // Split the location hash using the & character

       var c = b.split("&"),

       // And decode the first (zero) element

           d = decodeURIComponent(c[0]);

     // The hash value becomes the action of the form

       a.action = d;

   // The below content is not important in the context of the issue

       for (var e = 1; e < c.length; e++) {

           var f = c[e].split("="),

               g = document.createElement("input");

           g.type = "hidden";

           g.name = f[0];

           g.value = decodeURIComponent(f[1]);

           a.appendChild(g)

       }

     // The form is auto-submitted

       a.submit();

   }).call(this);


构造适当Payload触发XSS漏洞


  如果了解上述JS代码的特定含义,则可以构造适当的Payload来实现XSS触发器。 以下Payload已在Google上成功实现XSS并返回当前用户cookie信息:


  https://google.ws/ajax/pi/fbfr#javascript:alert(document.cookie)

blob.png

 

 此外,我们还发现其他Google服务器也将受到此XSS漏洞的影响:


  https://google.com/ajax/pi/fbfr#javascript:alert(document.cookie)

blob.png


漏洞修复


  漏洞修复很简单,只需在上面的JS中添加一行代码即可0!= d.indexOf(“http”)&&window.close(),判断URL的location hash,即#后面的开始的字段以http开始,就能修复漏洞。

(function() {

    var a = window.document.forms[0],

        b = location.hash.substr(1);

    b || window.close();

    var c = b.split("&"),

        d = decodeURIComponent(c[0]);

  // Only the below line needed to be changed 

     // to check if the location hash begins with http:

       0 != d.indexOf("http") && window.close();

       a.action = d;

       for (var e = 1; e < c.length; e++) {

           var f = c[e].split("="),

               g = document.createElement("input");

           g.type = "hidden";

           g.name = f[0];

           g.value = decodeURIComponent(f[1]);

           a.appendChild(g)

       }

       a.submit();

   }).call(this);


本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:Google XSS漏洞 漏扫利器 Acunetix Vulnerability Scanner 重庆网络安全公司

上一篇:CVE-2020-8813漏洞分析:网络流量监测图形分析工具 Cacti RCE 漏洞
下一篇:微软发布KB4551762安全更新:Windows 10(SMBv3) 预授权RCE漏洞CVE-2020-0796

热门资讯

鼠标向下滚动