Scan your site now

Security Report Summary
E
Site:
Scanned Site(s):
1
IP Address:
212.47.208.139
Report Time:
23 Jan 2021 17:10:51 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(a,b,winprops);[https://ehtk.ee/media/system/js/core.js]
  • window.open($K2(this).attr('href'),'K2PopUpWindow','width='+options.x+',height='+options.y+',menubar=yes,resizable=yes');[https://ehtk.ee/components/com_k2/js/k2.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.
  • /*---MooTools: the javascript frameworkweb build: - http://mootools.net/core/76bf47062d6c1983d66ce47ad66aa0e0packager build: - packager build Core/Core Core/Array Core/String Core/Number Core/Function Core/Object Core/Event Core/Browser Core/Class Core/Class.Extras Core/Slick.Parser Core/Slick.Finder Core/Element Core/Element.Style Core/Element.Event Core/Element.Delegation Core/Element.Dimensions Core/Fx Core/Fx.CSS Core/Fx.Tween Core/Fx.Morph Core/Fx.Transitions Core/Request Core/Request.HTML Core/Request.JSON Core/Cookie Core/JSON Core/DOMReady Core/Swiffcopyrights: - [MooTools](http://mootools.net)licenses: - [MIT License](http://mootools.net/license.txt)...*/[https://ehtk.ee/media/system/js/mootools-core.js]
  • /*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false,timeout:0,noCache:false},initialize:function(e){this.xhr=new Browser.Request();this.setOptions(e);this.headers=this.options.headers;},onStateChange:function(){var e=this.xhr;if(e.readyState!=4||!this.running){return;}this.running=false;this.status=0;Function.attempt(function(){var f=e.status;this.status=(f==1223)?204:f;}.bind(this));e.onreadystatechange=d;if(a){e.onprogress=e.onloadstart=d;}clearTimeout(this.timer);this.response={text:this.xhr.responseText||"",xml:this.xhr.responseXML};if(this.options.isSuccess.call(this,this.status)){this.success(this.response.text,this.response.xml);}else{this.failure();}},isSuccess:function(){var e=this.status;return(e>=200&&e<300);},isRunning:function(){return !!this.running;},processScripts:function(e){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return Browser.exec(e);}return e.stripScripts(this.options.evalScripts);},success:function(f,e){this.onSuccess(this.processScripts(f),e);},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain();},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr);},loadstart:function(e){this.fireEvent("loadstart",[e,this.xhr]);},progress:function(e){this.fireEvent("progress",[e,this.xhr]);},timeout:function(){this.fireEvent("timeout",this.xhr);},setHeader:function(e,f){this.headers[e]=f;return this;},getHeader:function(e){return Function.attempt(function(){return this.xhr.getResponseHeader(e);}.bind(this));},check:function(){if(!this.running){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.pass(arguments,this));return false;}return false;},send:function(o){if(!this.check(o)){return this;}this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.running=true;var l=typeOf(o);if(l=="string"||l=="element"){o={data:o};}var h=this.options;o=Object.append({data:h.data,url:h.url,method:h.method},o);var j=o.data,f=String(o.url),e=o.method.toLowerCase();switch(typeOf(j)){case"element":j=document.id(j).toQueryString();break;case"object":case"hash":j=Object.toQueryString(j);}if(this.options.format){var m="format="+this.options.format;j=(j)?m+"&"+j:m;}if(this.options.emulation&&!["get","post"].contains(e)){var k="_method="+e;j=(j)?k+"&"+j:k;e="post";}if(this.options.urlEncoded&&["post","put"].contains(e)){var g=(this.options.encoding)?"; charset="+this.options.encoding:"";this.headers["Content-type"]="application/x-www-form-urlencoded"+g;}if(!f){f=document.location.pathname;}var i=f.lastIndexOf("/");if(i>-1&&(i=f.indexOf("#"))>-1){f=f.substr(0,i);}if(this.options.noCache){f+=(f.contains("?")?"&":"?")+String.uniqueID();}if(j&&e=="get"){f+=(f.contains("?")?"&":"?")+j;j=null;}var n=this.xhr;if(a){n.onloadstart=this.loadstart.bind(this);n.onprogress=this.progress.bind(this);}n.open(e.toUpperCase(),f,this.options.async,this.options.user,this.options.password);if(this.options.user&&"withCredentials" in n){n.withCredentials=true;}n.onreadystatechange=this.onStateChange.bind(this);Object.each(this.headers,function(q,p){try{n.setRequestHeader(p,q);}catch(r){this.fireEvent("exception",[p,q]);}},this);this.fireEvent("request");n.send(j);if(!this.options.async){this.onStateChange();}else{if(this.options.timeout){this.timer=this.timeout.delay(this.options.timeout,this);}}return this;},cancel:function(){if(!this.running){return this;}this.running=false;var e=this.xhr;e.abort();clearTimeout(this.timer);e.onreadystatechange=d;if(a){e.onprogress=e.onloadstart=d;}this.xhr=new Browser.Request();this.fireEvent("cancel");return this;}});var b={};["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(e){b[e]=function(g){var f={method:e};if(g!=null){f.data=g;}return this.send(f);};});c.implement(b);Element.Properties.send={set:function(e){var f=this.get("send").cancel();f.setOptions(e);return this;},get:function(){var e=this.retrieve("send");if(!e){e=new c({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")});this.store("send",e);}return e;}};Element.implement({send:function(e){var f=this.get("send");f.send({data:this,url:e||f.options.url});return this;}});})();Request.HTML=new Class({Extends:Request,options:{update:false,append:false,evalScripts:true,filter:false,headers:{Accept:"text/html, application/xml, text/xml, */[https://ehtk.ee/media/system/js/mootools-core.js]
  • /* GNU General Public License version 2 or later; see LICENSE.txt*/[https://ehtk.ee/media/system/js/core.js]
  • /* MIT-style license @author Harald Kirschner <mail [at] digitarald.de> @author Rouven We├čling <me [at] rouvenwessling.de> @copyright Author*/[https://ehtk.ee/media/system/js/modal.js]
  • /*! jQuery v1.8.3 jquery.com | jquery.org/license */[https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js]
  • /** * @version $Id: k2.noconflict.js 1812 2013-01-14 18:45:06Z lefteris.kavadas $ * @package K2 * @author JoomlaWorks http://www.joomlaworks.net * @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html */[https://ehtk.ee/media/k2/assets/js/k2.noconflict.js]
  • /** * @version $Id: k2.js 1817 2013-01-17 17:57:20Z lefteris.kavadas $ * @package K2 * @author JoomlaWorks http://www.joomlaworks.net * @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html */[https://ehtk.ee/components/com_k2/js/k2.js]
  • /* use some default values if not defined */[https://ehtk.ee/components/com_k2/js/k2.js]
  • /* GNU General Public License version 2 or later; see LICENSE.txt*/[https://ehtk.ee/media/system/js/caption.js]
  • /*---copyrights: - [MooTools](http://mootools.net)licenses: - [MIT License](http://mootools.net/license.txt)...*/[https://ehtk.ee/media/system/js/mootools-more.js]
  • /** * Define Javascript function for refreshing attachments lists * * Copyright (C) 2010-2012 Jonathan M. Cameron, All Rights Reserved * License: http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL * * By Jonathan Cameron * * @param siteURL string the site base URL for the request * @param ptype string parent_type for the attachments list parent * @param pentity string parent_entity for the attachments list parent * @param pid integer parent_id for the attachments list parent * @param from string the 'from' clause to pass in the request */[https://ehtk.ee/media/com_attachments/js/attachments_refresh.js]
  • /*---script: NivooSlider.jsdescription: A nice image slider for MooTools.license: MIT-style licenseauthors:- Johannes Fischerrequires:- core/1.3: '*'provides:- NivooSlider... */[https://ehtk.ee/templates/ifreedom-fjt/slideshow/NivooSlider.js]
  • /** * Events */[https://ehtk.ee/templates/ifreedom-fjt/slideshow/NivooSlider.js]
  • /* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0*/[https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit]
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("JSONP retrieving script with url:"+a);[https://ehtk.ee/media/system/js/mootools-more.js]
  • console.log("the following items have focus: ");[https://ehtk.ee/media/system/js/mootools-more.js]
  • console.log(document.id(h.widget)||h.wiget||h);[https://ehtk.ee/media/system/js/mootools-more.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.
  • document.write(unescape("%3Cscript src='/templates/ifreedom-fjt/modules/jquery171.js' type='text/javascript'%3E%3C/script%3E"));[https://ehtk.ee/]
  • eval("("+string+")");[https://ehtk.ee/media/system/js/mootools-core.js]
  • eval(rs);[https://ehtk.ee/media/system/js/mootools-core.js]
  • document.write("");[https://ehtk.ee/media/system/js/mootools-more.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)
Keskuse tutvustus