diff --git a/core/main/client/browser.js b/core/main/client/browser.js index 1cd39919f..7428853ef 100644 --- a/core/main/client/browser.js +++ b/core/main/client/browser.js @@ -2942,6 +2942,7 @@ beef.browser = { 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_webrtc = (beef.browser.hasWebRTC()) ? "Yes" : "No"; var has_activex = (beef.browser.hasActiveX()) ? "Yes" : "No"; var has_quicktime = (beef.browser.hasQuickTime()) ? "Yes" : "No"; @@ -2982,6 +2983,7 @@ beef.browser = { if (has_flash) details['HasFlash'] = has_flash; if (has_phonegap) details['HasPhonegap'] = has_phonegap; if (has_web_socket) details['HasWebSocket'] = has_web_socket; + if (has_web_worker) details['HasWebWorker'] = has_web_worker; if (has_googlegears) details['HasGoogleGears'] = has_googlegears; if (has_webrtc) details['HasWebRTC'] = has_webrtc; if (has_activex) details['HasActiveX'] = has_activex; @@ -3088,6 +3090,14 @@ beef.browser = { 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 Google Gears installed. * @return: {Boolean} true or false. diff --git a/core/main/handlers/browserdetails.rb b/core/main/handlers/browserdetails.rb index b2a787066..829bc259f 100644 --- a/core/main/handlers/browserdetails.rb +++ b/core/main/handlers/browserdetails.rb @@ -320,7 +320,7 @@ module BeEF # get and store the yes|no value for browser components components = [ 'VBScriptEnabled', 'HasFlash', 'HasPhonegap', 'HasGoogleGears', - 'HasWebSocket', 'HasWebRTC', 'HasActiveX', + 'HasWebSocket', 'HasWebWorker', 'HasWebRTC', 'HasActiveX', 'HasQuickTime', 'HasRealPlayer', 'HasWMP' ] components.each do |k| diff --git a/extensions/admin_ui/controllers/modules/modules.rb b/extensions/admin_ui/controllers/modules/modules.rb index bb9ab7925..d404f528d 100644 --- a/extensions/admin_ui/controllers/modules/modules.rb +++ b/extensions/admin_ui/controllers/modules/modules.rb @@ -84,6 +84,7 @@ class Modules < BeEF::Extension::AdminUI::HttpController ['Browser Components', 'PhoneGap', 'HasPhonegap'], ['Browser Components', 'Google Gears', 'HasGoogleGears'], ['Browser Components', 'Web Sockets', 'HasWebSocket'], + ['Browser Components', 'Web Workers', 'HasWebWorker'], ['Browser Components', 'QuickTime', 'HasQuickTime'], ['Browser Components', 'RealPlayer', 'HasRealPlayer'], ['Browser Components', 'Windows Media Player','HasWMP'],