Scan your site now

Security Report Summary
E
Site:
Scanned Site(s):
1
IP Address:
64.41.137.132
Report Time:
28 Sep 2020 05:36:17 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(M.call(r),r.id,a),T.call(r),r}return l()(e,t),a()(e,[{key:"reload",value:function(){this.self.location.replace(M.call(this)),T.call(this)}}]),e}(P),U=function(t){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m()(this,e);[https://platform.linkedin.com/in.js]
  • window.open(Object(Q.sanitizeUrl)(e))}if(this.button=new t.Objects.Button({title:"Recommend"}),this.button.place(this.el()),t.Event.on(this.button,"click",i.bind(this)),this.useCounter){if(function(n,r){var o=document.createElement("script"),i=t.$fn(function(t){o.parentNode&&o.parentNode.removeChild(o),void 0!==(t=t||{}).count&&this.setCount(t.count)},r,!0),a=function(e,n,r){return t.ENV.widget.recommend_product_counter_url.replace(/\{PRODUCT_ID\}/g,n).replace(/\{CALLBACK\}/g,r)}(0,n.productId,i);[https://platform.linkedin.com/in.js]
  • window.open(ApexChatBaseUrl+"Pages/"+T+"?initiatedBy="+m+"&isEPConnected="+S+"&"+O,"ApexChatWindow","height="+H.height+",width="+H.width+",top="+P+",left="+L+",toolbar=no,menubar=no,status=no,location=no,scrollbars=yes,resizable=yes");[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
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=AW-995862424]
  • /* jQuery v1.9.1 (c) 2005, 2012 jQuery Foundation, Inc. jquery.org/license. */[https://www.googletagmanager.com/gtag/js?id=AW-995862424]
  • /* 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=AW-995862424]
  • /*! * JavaScript Cookie v2.2.1 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license */[https://justatic.com/e/widgets/js/justia.js]
  • /* xdoor-frontend: v0.1.180 (Thu, 17 Sep 2020 06:56:28 GMT) */[https://platform.linkedin.com/in.js]
  • /*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */[https://platform.linkedin.com/in.js]
  • /*# sourceURL="+r.sourceRoot+t+" */[https://platform.linkedin.com/in.js]
  • /*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */[https://platform.linkedin.com/in.js]
  • /** * extend an object and assign parent to .superclass * @license BSD * @author YUI * @private * @method extend * @param subc {Object} the subclass object * @param superc {Object} the superclass object * @param overrides {Object} any methods / properties to apply after extending */[https://platform.linkedin.com/in.js]
  • /*(.*)\/*$/,"$1"),method:n,params:r,postBody:o,callback:function(t){void 0===t.raw_message&&void 0===t.errorCode?a.call(c,t):s.call(c,t)},failureCallback:function(t){s.call(c,t)}};this.queue(u)}},{key:"queue",value:function(t){this.callQueue.push(t),this.dispatch()}},{key:"dispatch",value:function(e){this.callQueue.forEach(function(e){t.api.request(e.resource,{method:e.method,params:e.params,body:e.postBody}).then(e.callback,e.failureCallback)}),this.callQueue=[]}}]),e}();function r(n){e||(e=new t.APIQueue,function t(){window.setTimeout(function(){e.dispatch.call(e,!0),t()},300)}());var r=new t.APIs[n];return r.invoke=function(){e.invoke.apply(e,arguments)},r}t.APIQueue=n,t.API={Profile:function(){var t=r("Profile");return t.ids.apply(t,arguments),t},PeopleSearch:function(){if(arguments.length)throw new Error("PeopleSearch does not take any arguments.");return r("PeopleSearch")},Connections:function(){var t=r("Connections");return t.ids.apply(t,arguments),t},NetworkUpdates:function(){var t=r("NetworkUpdates");return t.ids.apply(t,arguments),t},MemberUpdates:function(){var t=r("MemberUpdates");return t.ids.apply(t,arguments),t},Raw:function(){var t=r("Raw");return t.url.apply(t,arguments),t}}}(t),function(t){t.APIs=t.APIs||{},function(t){var e=function(){function e(){A()(this,e),this.isLinked=!1,this.useParams={},this.useMethod="GET",this.postBody=null,this.executed=!1,this.type="Base",this.storedSuccessResults=!1,this.storedFailureResults=!1,this.handlers={raw:[],errors:[]}}return j()(e,[{key:"params",value:function(t){if(this.executed)throw new Error("Command has executed. You can't append additional properties.");if(!(t instanceof Object))throw new Error("params() must receive a key-value-pair like object.");for(var e in t)this.useParams[e]=t[e];return this}},{key:"setParam",value:function(e,n,r){if(this.executed)throw new Error("Command has executed. You can't append additional properties.");var o=[].slice.apply(n);t.Util.isArray(o[0])?o=o[0]:t.Util.isArray(o)||(o=o.split(","));for(var i=0,a=o.length;i<a;i++){var s=o[i];o[i]=this.transformField(s,r)}return o.length&&(this.useParams[e]=o),this}},{key:"method",value:function(t){if(this.executed)throw new Error("Command has executed. You can't append additional properties.");return this.useMethod=t.toUpperCase(),this}},{key:"body",value:function(t){if(this.executed)throw new Error("Command has executed. You can't append additional properties.");return this.postBody=t,this}},{key:"result",value:function(){return this.addHandler(this.handlers.raw,[].slice.apply(arguments)),this.get(),this}},{key:"error",value:function(){return this.addHandler(this.handlers.errors,[].slice.apply(arguments)),this.get(),this}},{key:"name",value:function(){throw new Error("name() must be defined")}},{key:"resource",value:function(){throw new Error("resource() must be defined")}},{key:"getMethod",value:function(){return this.useMethod}},{key:"format",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"values",r=n.split(".")[0],o={},i=!1,a=void 0;try{a=t.Util.findIn(e,n),i=!0}catch(t){a=e}if(i)for(var s in e)s!==r&&(o[s]=e[s]);return{values:a,meta:o}}},{key:"getParams",value:function(){return this.useParams}},{key:"getPostBody",value:function(){return this.postBody||""}},{key:"getResource",value:function(e){var n=this.getParams(),r=this.resource(e),o=function(e){var o=e.toUpperCase(),i=new RegExp("\\{"+o+"\\}","g"),a=t.Util.isArray(n[e])?n[e].join(","):n[e];r=r.replace(i,function(){return a})};for(var i in n)o(i);return r=(r=(r=r.replace(/\{.*?\}/g,"")).replace(/::\([,]*\)/g,"").replace(/:\([,]*\)/g,"")).replace(/:\([,]*/[https://platform.linkedin.com/in.js]
  • /*! jQuery v1.9.0 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license */[https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js]
  • /*! * ResponsiveTopnav 1.0.3 * Justia - Mayra Valdes @mayrop * July 2013 */[https://www.bwglaw.com/jshared/jslibs/responsive/responsive.topnav.1.0.3.min.js]
  • /* handlebars v4.0.5Copyright (C) 2011-2015 by Yehuda KatzPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.@license*/[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
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(e)}})),t.processed+=1,!0})).catch((function(e){if(e instanceof Error)throw e;throw new Error(e)})))}}}))},fetchStylesheet:function(){var e=this;return new Promise((function(t){if(e.stylesheet)return(new a).requireStylesheets([e.stylesheet],setTimeout((function(){t()}),10)),void(e.stylesheet=null);[https://justatic.com/e/widgets/js/justia.js]
  • console.log(text)}else{if(!window.ApexChatDefaultLogLevel){console.log(text)}}}else{if(level==ApexChat.LogLevel.Warn){if(window.ApexChatDefaultLogLevel&&window.ApexChatDefaultLogLevel<=ApexChat.LogLevel.Warn){console.warn(text)}else{if(!window.ApexChatDefaultLogLevel){console.warn(text)}}console.warn(text)}else{if(level==ApexChat.LogLevel.Error){if(window.ApexChatDefaultLogLevel&&window.ApexChatDefaultLogLevel<=ApexChat.LogLevel.Warn){console.error(text)}else{if(!window.ApexChatDefaultLogLevel){console.error(text)}}}else{console.log(text)}}}}};var gaName="ApexChat",tracking=false;ApexChat.gaLinker="_ga=";ApexChat.gaClientId="";ApexChat.gaDebug=false;ApexChat.ensureTracking=function(){if(!tracking&&window.ApexChatAnalyticsID){ApexChat.log("starting tracking...",ApexChat.LogLevel.Debug);[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log("Exceptional Case: No Cookie, No Web Storage Supported/Enabled on Browser!!!!")}var existsKey=function(key){if(UseCookie){return COOKIE_STORAGE.get(key)!=null}else{if(UseWebStorage){return WEB_STORAGE.getItem(key)!==null}else{return false}}};var get=function(key){if(UseCookie){return COOKIE_STORAGE.get(key)}else{if(UseWebStorage){return WEB_STORAGE.getItem(key)}else{return null}}};var set=function(key,item){if(UseCookie){var args=arguments.length;if(args==2){COOKIE_STORAGE.set(key,item)}else{if(args==3){COOKIE_STORAGE.set(key,item,arguments[2])}}}else{if(UseWebStorage){WEB_STORAGE.setItem(key,item)}}};var setTemp=function(key,item){if(UseCookie){COOKIE_STORAGE.set(key,item,(1/144)*3)}else{if(UseWebStorage){throw"Not supported"}}};var getFormulaByTimeType=function(type,value){var formula=value;switch(type){case ApexChat.TimeType.Second:formula=value*1000;break;case ApexChat.TimeType.Minute:formula=(value*60)*1000;break}return formula};var setLimitedTimeCookie=function(name,value,config){var expires;if(name){if(config.timeType){var date=new Date();[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log("sms webhandler requested....");[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log(f)}}}},stopNotifyIncomingChat:function(){ApexChat.Sound.stopped[b]=true;soundManager.stop(b)},getCurrentJingle:function(){return b},setCurrentJingle:function(e){if(e==="notification"||e==="twinkle"||e==="space"){if(e==b){return}ApexChat.Cookies.set("newchat",e);[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log(text)}};consoleLogProvider.prototype.log=function(level,message,ex){var text;text=fm.logProvider.getPrefix(level,true)+" "+message;if(ex){text+="\n"+ex.message}return this.writeLine(text)};return consoleLogProvider})(fm.logProvider);[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log("error getting linkerParam")}}I=I||this.options.chatMode;var P=this.options.language||"eng";if(Q){P=Q}var T=new Date();[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log("Error in subscribeToRealTimeChannels():");[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log(I.getErrorMessage())}})},});[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log("run EP code!");[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log(P.getErrorMessage())}})};var F=function(K,M){ApexChat.WebSyncClient.publish({retries:3,channel:"/chatroom/"+J.roomOptions.chatId+"/meta",data:{live:ApexChat.canBrowserDoLive()}});[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log(N.getErrorMessage())}})};var A=function(K){if(K.text.indexOf("All visitors have left the chat")!==-1){}else{if(K.isChatEnded){ApexChat.ExpireExitPopupCookies("V2")}if(K.userId!==ApexChat.ParticipantIds.visitor){J.playSound(ApexChat.Cookies.get(ApexChat.VISITOR_MESSAGE_SOUND.name))}if(K.options=="QuestionTypeAnswer"){return}if(K.questionTypeResponseChatLogId&&K.questionTypeResponseChatLogId>0){var L=document.getElementById("apexchat_ep_chatlog_"+K.questionTypeResponseChatLogId);[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log(M.getErrorMessage())}}})};var C=function(K){if(K.indicator){J.showTyping();[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log("resubcribe retries: "+r)},300)}},displayExitPopup:function(){var s=this;if(!s.isDisplayExitPopupExecuted){s.isDisplayExitPopupExecuted=true;this.companyInfoBindings();[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log("creating exit-popup region editor");[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • console.log(u.getErrorMessage())}}})}}};if(ApexChat.Invitation.options.exitPopupEnabled){ApexChat.ExitPopup.init()}window.clearInterval(k)}},e)});[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
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.
  • document.write('<script src="/jshared/jslibs/jquery/1.9.0.min.js"><\/script>') var tk_dfd = $.Deferred();[https://www.bwglaw.com/]
  • document.write(unescape("%3Cscript src='/jshared/jslibs/responsive/mediaqueries/media.match.2.0.2.min.js' type='text/javascript'%3E%3C/script%3E"));[https://www.bwglaw.com/]
  • document.write(unescape("%3Cscript%20src='"+ window.ClickTaleScriptSource +"WRe0.js'%20type='text/javascript'%3E%3C/script%3E"));[https://www.bwglaw.com/]
  • eval(gaCode);[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • eval(fbCode);[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
  • eval("("+text+")");[https://www.apexchat.net/scripts/invitation.ashx?company=bwglaw]
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)
Boston Personal Injury Lawyer | Massachusetts Car Accident Attorney | Bike Accident Lawyers