Scan your site now

Security Report Summary
E
Site:
Scanned Site(s):
1
IP Address:
104.168.190.244
Report Time:
01 Apr 2020 13:18:32 UTC
Checks:
Window Referrer
Window Opener
Comments
Enabled Debugging
Unsafe Functions
Warning:
Please have a look at the security issues / warnings in the report.
Security Issues
Window Referrer
  • window.open(\''+b[d].link+"');[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • window.open($(this).data("redirect"),"_blank"):window.location.href=$(this).data("redirect")})});[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • window.open("/members-admin/auth/socialOauthFb","mywin","scrollbars=yes,resizable=yes,width=750,height=500,status=yes,toolbar=no,menubar=no","fbreview")},this.vk_login=function(){window.open("/members-admin/auth/socialOauthVK","mywin","scrollbars=yes,resizable=yes,width=750,height=500,status=yes,toolbar=no,menubar=no","vkreview")},this.popupPositionSet=function(a,b,c){c=c||!1;var d=$(document).height(),e=$(window).height(),f=e-b;f/=2,f<0&&(f=0),$(".generalOverlay").css({height:d+"px"}),$("#"+a).css({top:f+"px"}),c?$("#"+a).css({position:"fixed"}):$("#"+a).css({position:"absolute"})},this.showAnimatedPopupNew=function(a){$("#"+a).css({position:"fixed",opacity:0}).center().show();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • window.open(c,"_blank")})});[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • window.open("https://twitter.com/intent/follow?tw_p=followbutton&ref_src=twsrc%5Etfw®ion=follow_link&original_referer="+b+"&screen_name="+c,"twitterTweet","width=520,height=550,resizable,scrollbars=no,status=0")})});[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • window.open(b)}),setTimeout(function(){var a=i("firedNotifications");[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • window.open(href,"","height=320,width=725")):$.ajax({url:"/socialbuttons/service/CreateShortenLink",async:!1,type:"GET",data:{url:a,contentID:b,pageType:c},success:function(a){a&&(shortLink=a),href&&(href=href+d+" - "+shortLink,window.open(href,"","height=320,width=725"))}})}function openSharePopup(a,b,c,d,e,f,g,h){var i="";g||!h?i="mailto:?subject="+e+"&body="+d+encodeURIComponent(a)+"%0A%0AInvesting.com":$.ajax({url:"/socialbuttons/service/CreateShortenLink",async:!1,type:"GET",data:{url:a,contentID:b,pageType:c},success:function(a){a&&(shortLink=a),i="mailto:?subject="+e+"&body="+d+encodeURIComponent(shortLink)+"%0A%0AInvesting.com"}}),updateSocialCount(b,f,c),location.href=i}var shareWFriend=new function(){var a=function(){var a=jQuery.trim($("#ef_your_email").val());[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • window.open("https://api.stocktwits.com/api/2/oauth/authorize?client_id=a6d2177eead3dd52&scope=publish_messages&redirect_uri=http://mikhail.dev.forexpros.com/stocktwits-oauth.html&response_type=token","stocktwits_oauth","width=500,height=550")}}function k(b){return!/^\\+$/.test(b)&&""!=$.trim(b)&&b!=$("#commentBox_"+a).data("default-value")&&b!=$("#commentBox_"+a).data("replyTextarea_default-value")}function l(a){var b=$("#postBtnLoadingTemplate").html();[https://i-invdn-com.akamaized.net/js/comments-7.70.min.js]
  • window.open(a,"fb_oauth","width=500,height=550"))}})}.bind(this))},function(a){window.FB.ui({method:"feed",caption:"",link:location.href},$.noop)}),twitter:{post:function(a,b,c){var d={socialType:"twitter",comment:a,comment_ID:b,shortLink:c,token:localStorage.getItem(window.uid+"_twitter_access_token"),secret:localStorage.getItem(window.uid+"_twitter_access_token_secret")};$.post("/social/Service/postCommentToSocials",d,$.noop)}},stockTweets:{post:function(a,b,c){var d={socialType:"stocktwits",comment:a,comment_ID:b,shortLink:c,token:localStorage.getItem("stocktwits_access_token")};$.post("/social/Service/postCommentToSocials",d,$.noop)}}},i={},j=null;i.stockTweets=a.find(".js-stocktwits-auth").on("click",function(){var a=$(this),b=localStorage.getItem("stocktwits_access_token");[https://i-invdn-com.akamaized.net/js/comments-7.70.min.js]
  • window.open(d,"stocktwits_oauth","width=500,height=550");[https://i-invdn-com.akamaized.net/js/comments-7.70.min.js]
  • window.open(a,"tw_oauth","width=500,height=550");[https://i-invdn-com.akamaized.net/js/comments-7.70.min.js]
Warnings
Comments
Comments should be removed from the public code of a web application, since it can give an aggressor critical insights into the inner structure of the program. By using this information, the attacker could easier understand how the user session is handled by javascript or figure out the pathway data is sent to the server.
  • /* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0*/[https://www.googletagmanager.com/gtag/js?id=UA-152684977-1]
  • /* jQuery v1.9.1 (c) 2005, 2012 jQuery Foundation, Inc. jquery.org/license. */[https://www.googletagmanager.com/gtag/js?id=UA-152684977-1]
  • /* Copyright (c) 2014 Derek Brans, MIT license https://github.com/krux/postscribe/blob/master/LICENSE. Portions derived from simplehtmlparser, which is licensed under the Apache License, Version 2.0 */[https://www.googletagmanager.com/gtag/js?id=UA-152684977-1]
  • /* Modernizr 2.0.6 (Custom Build) | MIT & BSD * Build: http://www.modernizr.com/download/#-csstransitions-iepp-cssclasses-testprop-testallprops-domprefixes */[http://ecryptoglobal.com/]
  • /*$0*/[https://i-invdn-com.akamaized.net/js/jquery-6.4.9.04.min.js]
  • /*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */[https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js]
  • /**|**/[https://i-invdn-com.akamaized.net/js/n/utils-0.16.min.js]
  • /**|**/[https://i-invdn-com.akamaized.net/js/n/utils-0.16.min.js]
  • /*! * Bootstrap v4.4.1 (https://getbootstrap.com/) * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */[https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js]
  • /**|**/[https://i-invdn-com.akamaized.net/js/n/external-news-1.03.min.js]
  • /**|**/[https://i-invdn-com.akamaized.net/js/n/crypto-socket-1.02.min.js]
  • /**|**/[https://i-invdn-com.akamaized.net/js/n/search-bar-2.0-1.18.min.js]
Enabled Debugging
The JavaScript debugging functions should always removed after development stage, because they could expose informations on the inner workings of the code. In production, it is a loophole and could show a possible attacker where to find possibly exploitable vulnerabilities or interesting variables.
  • console.log(a):alert(a)}function isIgnoreRow(a){return"undefined"===a||("function"!=typeof a.hasAttribute||a.hasAttribute(bufferRowAttribute))}function getNonIgnoreRowIndex(a){for(var b in a)if(!isIgnoreRow(a[b]))return b;return-1}function buildParserCache(a,b){if(a.config.debug)var c="";if(0!=a.tBodies.length){var d=a.tBodies[0].rows,e=getNonIgnoreRowIndex(d);[https://i-invdn-com.akamaized.net/js/jquery-6.4.9.04.min.js]
  • console.log("u-sent-hit "+a+" times"),e++}})}function b(){var a=Date.now();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log("u-page-hit"),ga("allSitesTracker.send","pageview"),ga("t0.send","pageview"))}var c=9e5,d="idleUserRefresh",e=1,f=window,g="1.9.2",h=Date.now();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log("u-ads-refresh"),f.googletag.pubads().refresh()),a())},jQuery(f).on("focus",window.userAdsRefresh).on("focus",b),Date.now||(Date.now=function(){return(new Date).getTime()}),void 0===f.lastUserRefreshTimestamp&&(f.lastUserRefreshTimestamp=Date.now())}();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log("Copy to clipboard failed",f)}e.remove()},a.limitFunction=function(a,b,c,d,e){var f=[0],g=!1;return function(){var h=(new Date).getTime();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log(p,(process.memoryUsage().heapUsed/1024/1024).toFixed(2),"Mb"),setTimeout(function(){refresher(a,b,c,d,e,f,g,h,i,pulse,k)},15e3)),!1}var o,p,q;for(o in n){switch(o){case"newer_version":return void location.reload(!0);[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log(b),console.log(c)})},this.validatePassword=function(a,b){var c=this.pageMsg.login_err_password_2letters_2digits;if(a.length<4||a.length>15)return 0==this.registerError(c,b);[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log("ERROR: not inited")}})},SMSVerifcationClass.prototype.cleanUp=function(){for(var a in this.dialogs)this.dialogs[a].remove();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log(k)}if(c&&d>0)break}return 0==d},Validator.prototype.isValid=function(a,b,c){return void 0===c&&(c=[]),this.val=a,!0===this["validate_"+b](c)},Validator.prototype.getErrorsAsString=function(){var a="";for(var b in this.errors)a+=this.errors[b].join(", ")+"\n";return a},Validator.prototype.validateForm=function(a,b,c){$(".js-formError",a).empty();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • console.log("Error occured!")}function j(a,b){if(stocktwits_access_token=localStorage.getItem("stocktwits_access_token"))shareTheCommentRun(stocktwits_access_token,a);[https://i-invdn-com.akamaized.net/js/comments-7.70.min.js]
  • console.log(respond);[http://ecryptoglobal.com/assets/js/login.js]
  • console.log(c)},Y={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:26784e5,year:31556952e3},X={init:function(a,b,c){b=b||"";var d,e,f,g,h,i=a.shift,j=b.indexOf("C")>-1,k=j?7:3,l=b.split(" "),m=[].concat(c),n=function(a){for(f=a.length;f--;)a[f]===_a&&a.splice(f+1,0,a[f+1],a[f+2],a[f+1],a[f+2])};if(j&&(n(l),n(m)),a.isArea&&(g=l.splice(l.length-6,6),h=m.splice(m.length-6,6)),i<=m.length/k&&l.length===m.length)for(;i--;)m=[].concat(m).splice(0,k).concat(m);[https://i-invdn-com.akamaized.net/js/core-highcharts-1.02.min.js]
  • console.log("onLoad");[https://i-invdn-com.akamaized.net/js/jscharts-8.1.15.min.js]
Unsafe Functions
eval() is eval! This functions and similar ones (document.write(), document.writeln(), element.innerHTML, element.outerHTML, element.insertAdjacentHTML()) should never be used in production stage of a website, because the parsing of the executable string is often not secure and result therefore often in a cross-site scripting vulnerability. Instead of these functions create html elements by script and add it to the DOM object.
  • eval(table.config.preSortActionFunction)();[https://i-invdn-com.akamaized.net/js/jquery-6.4.9.04.min.js]
  • eval(dynamicExp);[https://i-invdn-com.akamaized.net/js/jquery-6.4.9.04.min.js]
  • eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}();[https://i-invdn-com.akamaized.net/js/jquery-6.4.9.04.min.js]
  • eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),SockJS=function(){var a=document,b=window,c={},d=function(){};d.prototype.addEventListener=function(a,b){this._listeners||(this._listeners={}),a in this._listeners||(this._listeners[a]=[]);[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • eval(data);[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • eval(funcName)(this))})}),colCustomObj&&$container.find("li")._tabsNoRebind(window[colCustomObj])}function tabsWidgetBindJSFunc(tabid,funcName,oneLevel){$("#"+tabid).children().each(function(){$(this).hasClass("moreTabOneLvl")||$(this).bind("click",function(){$(this).is(".selected")||($(this).siblings().each(function(){$(this).is(".selected")&&$(this).removeClass("selected"),oneLevel&&$(this).hasClass("moreTabOneLvl")&&($(".moreText").html($("#lastDummyLI").data("more-cat")),$(this).removeClass("lastTab"))}),oneLevel&&$(".addRow").removeClass("dropDownTab"),$(this).addClass("selected"),eval(funcName)(this))})})}function liToDropDownMenu(a){var b=$("#"+a),c=$("#"+a+" li"),d=$("#TwoLvlLastLI"+a),e=Number(d.outerWidth())+Number(d.find(".showMoreDownArrow").outerWidth())+15,f=e,g=0,h=0,i="",j="noBold";if($.each(c,function(){g+=$(this).outerWidth()}),!(b.width()>=g)){for(var k=c.length-1;k>0;k--)h=$(c[k]).outerWidth(),g+e>=b.width()&&(0==$(c[k]).find("a").length?(d.attr("data-more-cat",$(c[k]).text()),e=h+Number(d.find(".showMoreDownArrow").outerWidth())+15,j="bold",i=$("<div>").append($(c[k]).addClass("addRow dropDownTab").clone()).html()+i):i=$("<div>").append($(c[k]).addClass("addRow").clone()).html()+i,f<h&&(f=h),$(c[k]).remove()),g-=h;b.append('<li style="position:relative;" class="hideshow moreTab"><span class="moreText '+j+'">'+d.data("more-cat")+'</span> <span class="showMoreDownArrow"></span><ul class="btnSmallPopup"><span class="newSiteIconsSprite arrow"> </span>'+i+"</ul></li>"),$("#"+a+" ul").hide();[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • eval(_that.params.$functionName);[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
  • eval(searchFilterCalendar.Element.functionName)(params))}"object"!=typeof searchWidget&&(searchWidget=window.searchWidget);[https://i-invdn-com.akamaized.net/js/main-1.17.242.min.js]
Additional Information
Link Opener
The window.open("https://example.com/", "_blanc", "noopener"); attribute should always be added to the window.open() function, which open a site in a new tab, to reduce the risk of reverse tabnabbing. Otherwise javascript on the new page has full control over the previous visited page, including permission to change the DOM object and possibly steal session cookies.
Link Referrer
The window.open("https://example.com/", "_blanc", "referrer"); attribute should always be added to the window.open() function to prevent reverse tabnabbing for older browser, which do not support the noopener attribute and to prevent phishing attacks.
Comments
Comments should be removed from the public code of a web application, since it can give an aggressor critical insights into the inner structure of the program. By using this information, the attacker could easier understand how the user session is handled by javascript or figure out the pathway data is sent to the server.
Enabled Debugging
The JavaScript debugging functions should always removed after development stage, because they could expose informations on the inner workings of the code. In production, it is a loophole and could show a possible attacker where to find possibly exploitable vulnerabilities or interesting variables.
Unsafe Functions
eval() is eval! This functions and similar ones (document.write(), document.writeln(), element.innerHTML, element.outerHTML, element.insertAdjacentHTML()) should never be used in production stage of a website, because the parsing of the executable string is often not secure and result therefore often in a cross-site scripting vulnerability. Instead of these functions create html elements by script and add it to the DOM object.
Scanned URL(s)