Fix detection for IE9/10, Edge, and plugins
This commit is contained in:
@@ -16,17 +16,6 @@ module Filters
|
|||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
# Check the browser type value - for example, {"FF5":true,"FF":true} & {"S":true}
|
|
||||||
# @param [String] str String for testing
|
|
||||||
# @return [Boolean] If the string has valid browser type characters
|
|
||||||
def self.is_valid_browsertype?(str)
|
|
||||||
return false unless is_non_empty_string?(str)
|
|
||||||
return false if str.length < 10
|
|
||||||
return false if str.length > 500 #CxF - had to increase this because the Chrome detection JSON String is getting bigger.
|
|
||||||
return false if has_non_printable_char?(str)
|
|
||||||
true
|
|
||||||
end
|
|
||||||
|
|
||||||
# Check the Operating System name value - for example, 'Windows XP'
|
# Check the Operating System name value - for example, 'Windows XP'
|
||||||
# @param [String] str String for testing
|
# @param [String] str String for testing
|
||||||
# @return [Boolean] If the string has valid Operating System name characters
|
# @return [Boolean] If the string has valid Operating System name characters
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ beef.browser = {
|
|||||||
* @example: beef.browser.isIE9()
|
* @example: beef.browser.isIE9()
|
||||||
*/
|
*/
|
||||||
isIE9: function () {
|
isIE9: function () {
|
||||||
return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !window.XDomainRequest && !!window.performance && typeof navigator.msMaxTouchPoints === "undefined";
|
return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !!window.XDomainRequest && !!window.performance && typeof navigator.msMaxTouchPoints === "undefined";
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -110,7 +110,7 @@ beef.browser = {
|
|||||||
* @example: beef.browser.isIE10()
|
* @example: beef.browser.isIE10()
|
||||||
*/
|
*/
|
||||||
isIE10: function () {
|
isIE10: function () {
|
||||||
return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !!window.XDomainRequest && !!window.performance && typeof navigator.msMaxTouchPoints !== "undefined";
|
return !!window.XMLHttpRequest && !window.chrome && !window.opera && !!document.documentMode && !window.XDomainRequest && !!window.performance && typeof navigator.msMaxTouchPoints !== "undefined";
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2484,19 +2484,6 @@ beef.browser = {
|
|||||||
return this.isO9_52() || this.isO9_60() || this.isO10() || this.isO11() || this.isO12();
|
return this.isO9_52() || this.isO9_60() || this.isO10() || this.isO11() || this.isO12();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a hash of string keys representing a given capability
|
|
||||||
* @example: beef.browser.capabilities()["navigator.plugins"]
|
|
||||||
*/
|
|
||||||
capabilities: function () {
|
|
||||||
var out = {};
|
|
||||||
var type = this.type();
|
|
||||||
|
|
||||||
out["navigator.plugins"] = (type.IE11 || !type.IE);
|
|
||||||
|
|
||||||
return out;
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the type of browser being used.
|
* Returns the type of browser being used.
|
||||||
* @example: beef.browser.type().IE6
|
* @example: beef.browser.type().IE6
|
||||||
@@ -2739,6 +2726,15 @@ beef.browser = {
|
|||||||
* @example: beef.browser.getBrowserVersion()
|
* @example: beef.browser.getBrowserVersion()
|
||||||
*/
|
*/
|
||||||
getBrowserVersion: function () {
|
getBrowserVersion: function () {
|
||||||
|
if (this.isEdge()) {
|
||||||
|
try {
|
||||||
|
return platform.version;
|
||||||
|
} catch(e) {
|
||||||
|
return 'unknown';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
; // Microsoft Edge
|
||||||
|
|
||||||
if (this.isC5()) {
|
if (this.isC5()) {
|
||||||
return '5'
|
return '5'
|
||||||
}
|
}
|
||||||
@@ -3620,7 +3616,10 @@ beef.browser = {
|
|||||||
* @example: beef.browser.getBrowserName()
|
* @example: beef.browser.getBrowserName()
|
||||||
*/
|
*/
|
||||||
getBrowserName: function () {
|
getBrowserName: function () {
|
||||||
|
if (this.isEdge()) {
|
||||||
|
return 'E'
|
||||||
|
}
|
||||||
|
; // Microsoft Edge any version
|
||||||
if (this.isC()) {
|
if (this.isC()) {
|
||||||
return 'C'
|
return 'C'
|
||||||
}
|
}
|
||||||
@@ -3633,10 +3632,6 @@ beef.browser = {
|
|||||||
return 'IE'
|
return 'IE'
|
||||||
}
|
}
|
||||||
; // Internet Explorer any version
|
; // Internet Explorer any version
|
||||||
if (this.isEdge()) {
|
|
||||||
return 'E'
|
|
||||||
}
|
|
||||||
; // Microsoft Edge any version
|
|
||||||
if (this.isO()) {
|
if (this.isO()) {
|
||||||
return 'O'
|
return 'O'
|
||||||
}
|
}
|
||||||
@@ -3699,31 +3694,30 @@ beef.browser = {
|
|||||||
* @example: if(beef.browser.hasFlash()) { ... }
|
* @example: if(beef.browser.hasFlash()) { ... }
|
||||||
*/
|
*/
|
||||||
hasFlash: function () {
|
hasFlash: function () {
|
||||||
if (!this.type().IE) {
|
if (!beef.browser.isIE()) {
|
||||||
return (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]);
|
return (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]);
|
||||||
} else {
|
}
|
||||||
flash_versions = 12;
|
|
||||||
flash_installed = false;
|
|
||||||
|
|
||||||
|
if (!!navigator.plugins) {
|
||||||
|
return (navigator.plugins["Shockwave Flash"] != undefined);
|
||||||
|
}
|
||||||
|
|
||||||
if (this.type().IE11) {
|
// IE
|
||||||
flash_installed = (navigator.plugins["Shockwave Flash"] != undefined);
|
var flash_versions = 12;
|
||||||
} else {
|
if (window.ActiveXObject != null) {
|
||||||
if (window.ActiveXObject != null) {
|
for (x = 2; x <= flash_versions; x++) {
|
||||||
for (x = 2; x <= flash_versions; x++) {
|
try {
|
||||||
try {
|
Flash = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + x + "');");
|
||||||
Flash = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + x + "');");
|
if (Flash) {
|
||||||
if (Flash) {
|
return true;
|
||||||
flash_installed = true;
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
beef.debug("Creating Flash ActiveX object failed: " + e.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return flash_installed;
|
} catch (e) {
|
||||||
|
beef.debug("Creating Flash ActiveX object failed: " + e.message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3733,38 +3727,25 @@ beef.browser = {
|
|||||||
* @example: if ( beef.browser.hasQuickTime() ) { ... }
|
* @example: if ( beef.browser.hasQuickTime() ) { ... }
|
||||||
*/
|
*/
|
||||||
hasQuickTime: function () {
|
hasQuickTime: function () {
|
||||||
|
if (!!navigator.plugins) {
|
||||||
var quicktime = false;
|
|
||||||
|
|
||||||
if (this.capabilities()["navigator.plugins"]) {
|
|
||||||
|
|
||||||
for (i = 0; i < navigator.plugins.length; i++) {
|
for (i = 0; i < navigator.plugins.length; i++) {
|
||||||
|
|
||||||
if (navigator.plugins[i].name.indexOf("QuickTime") >= 0) {
|
if (navigator.plugins[i].name.indexOf("QuickTime") >= 0) {
|
||||||
quicktime = true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Has navigator.plugins
|
|
||||||
} else {
|
|
||||||
|
|
||||||
try {
|
|
||||||
|
|
||||||
var qt_test = new ActiveXObject('QuickTime.QuickTime');
|
|
||||||
|
|
||||||
} catch (e) {
|
|
||||||
beef.debug("Creating QuickTime ActiveX object failed: " + e.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (qt_test) {
|
|
||||||
quicktime = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return quicktime;
|
// 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;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3775,47 +3756,35 @@ beef.browser = {
|
|||||||
*/
|
*/
|
||||||
hasRealPlayer: function () {
|
hasRealPlayer: function () {
|
||||||
|
|
||||||
var realplayer = false;
|
if (!!navigator.plugins) {
|
||||||
|
for (i = 0; i < navigator.plugins.length; i++) {
|
||||||
if (this.capabilities()["navigator.plugins"]) {
|
if (navigator.plugins[i].name.indexOf("RealPlayer") >= 0) {
|
||||||
|
return true;
|
||||||
|
|
||||||
for (i = 0; i < navigator.plugins.length; i++) {
|
|
||||||
|
|
||||||
if (navigator.plugins[i].name.indexOf("RealPlayer") >= 0) {
|
|
||||||
realplayer = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// has navigator.plugins
|
|
||||||
} else {
|
|
||||||
|
|
||||||
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]);
|
|
||||||
} catch (e) {
|
|
||||||
beef.debug("Creating RealPlayer ActiveX object failed: " + e.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rp_test) {
|
|
||||||
realplayer = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return realplayer;
|
// 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;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3825,39 +3794,25 @@ beef.browser = {
|
|||||||
* @example: if ( beef.browser.hasWMP() ) { ... }
|
* @example: if ( beef.browser.hasWMP() ) { ... }
|
||||||
*/
|
*/
|
||||||
hasWMP: function () {
|
hasWMP: function () {
|
||||||
|
if (!!navigator.plugins) {
|
||||||
var wmp = false;
|
for (i = 0; i < navigator.plugins.length; i++) {
|
||||||
|
if (navigator.plugins[i].name.indexOf("Windows Media Player") >= 0) {
|
||||||
if (this.capabilities()["navigator.plugins"]) {
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < navigator.plugins.length; i++) {
|
|
||||||
|
|
||||||
if (navigator.plugins[i].name.indexOf("Windows Media Player") >= 0) {
|
|
||||||
wmp = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Has navigator.plugins
|
|
||||||
} else {
|
|
||||||
|
|
||||||
try {
|
|
||||||
|
|
||||||
var wmp_test = new ActiveXObject('WMPlayer.OCX');
|
|
||||||
|
|
||||||
} catch (e) {
|
|
||||||
beef.debug("Creating WMP ActiveX object failed: " + e.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (wmp_test) {
|
|
||||||
wmp = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return wmp;
|
// 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;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3865,22 +3820,21 @@ beef.browser = {
|
|||||||
* @return: {Boolean} true or false
|
* @return: {Boolean} true or false
|
||||||
**/
|
**/
|
||||||
hasVLC: function () {
|
hasVLC: function () {
|
||||||
var vlc = false;
|
if (beef.browser.isIE() || beef.browser.isEdge()) {
|
||||||
if (!this.type().IE) {
|
try {
|
||||||
for (i = 0; i < navigator.plugins.length; i++) {
|
control = new ActiveXObject("VideoLAN.VLCPlugin.2");
|
||||||
if (navigator.plugins[i].name.indexOf("VLC") >= 0) {
|
return true;
|
||||||
vlc = true;
|
} catch (e) {
|
||||||
}
|
beef.debug("Creating VLC ActiveX object failed: " + e.message);
|
||||||
}
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
control = new ActiveXObject("VideoLAN.VLCPlugin.2");
|
|
||||||
vlc = true;
|
|
||||||
} catch (e) {
|
|
||||||
beef.debug("Creating VLC ActiveX object failed: " + e.message);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return vlc;
|
} else {
|
||||||
|
for (i = 0; i < navigator.plugins.length; i++) {
|
||||||
|
if (navigator.plugins[i].name.indexOf("VLC") >= 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3890,9 +3844,7 @@ beef.browser = {
|
|||||||
* @example: if(beef.browser.javaEnabled()) { ... }
|
* @example: if(beef.browser.javaEnabled()) { ... }
|
||||||
*/
|
*/
|
||||||
javaEnabled: function () {
|
javaEnabled: function () {
|
||||||
|
return navigator.javaEnabled();
|
||||||
return navigator.javaEnabled();
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3970,10 +3922,11 @@ beef.browser = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Things lacking navigator.plugins
|
// Things lacking navigator.plugins
|
||||||
if (!this.capabilities()["navigator.plugins"]) results = this.getPluginsIE();
|
if (!navigator.plugins)
|
||||||
|
return this.getPluginsIE();
|
||||||
|
|
||||||
// All other browsers that support navigator.plugins
|
// All other browsers that support navigator.plugins
|
||||||
else if (navigator.plugins && navigator.plugins.length > 0) {
|
if (navigator.plugins && navigator.plugins.length > 0) {
|
||||||
results = new Array();
|
results = new Array();
|
||||||
for (var i = 0; i < navigator.plugins.length; i++) {
|
for (var i = 0; i < navigator.plugins.length; i++) {
|
||||||
|
|
||||||
@@ -4273,11 +4226,6 @@ beef.browser = {
|
|||||||
} catch(e) {}
|
} catch(e) {}
|
||||||
var touch_enabled = (beef.hardware.isTouchEnabled()) ? "Yes" : "No";
|
var touch_enabled = (beef.hardware.isTouchEnabled()) ? "Yes" : "No";
|
||||||
var browser_platform = (typeof(navigator.platform) != "undefined" && navigator.platform != "") ? navigator.platform : 'Unknown';
|
var browser_platform = (typeof(navigator.platform) != "undefined" && navigator.platform != "") ? navigator.platform : 'Unknown';
|
||||||
var browser_type = JSON.stringify(beef.browser.type(), function (key, value) {
|
|
||||||
if (value == true) return value;
|
|
||||||
else if (typeof value == 'object') return value;
|
|
||||||
else return undefined;
|
|
||||||
});
|
|
||||||
var screen_size = beef.hardware.getScreenSize();
|
var screen_size = beef.hardware.getScreenSize();
|
||||||
try {
|
try {
|
||||||
var screen_width = screen_size.width;
|
var screen_width = screen_size.width;
|
||||||
@@ -4291,6 +4239,7 @@ beef.browser = {
|
|||||||
} catch(e) {}
|
} catch(e) {}
|
||||||
var vbscript_enabled = (beef.browser.hasVBScript()) ? "Yes" : "No";
|
var vbscript_enabled = (beef.browser.hasVBScript()) ? "Yes" : "No";
|
||||||
var has_flash = (beef.browser.hasFlash()) ? "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_phonegap = (beef.browser.hasPhonegap()) ? "Yes" : "No";
|
||||||
var has_googlegears = (beef.browser.hasGoogleGears()) ? "Yes" : "No";
|
var has_googlegears = (beef.browser.hasGoogleGears()) ? "Yes" : "No";
|
||||||
var has_web_socket = (beef.browser.hasWebSocket()) ? "Yes" : "No";
|
var has_web_socket = (beef.browser.hasWebSocket()) ? "Yes" : "No";
|
||||||
@@ -4314,7 +4263,6 @@ beef.browser = {
|
|||||||
details['browser.window.cookies'] = '';
|
details['browser.window.cookies'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (browser_type) details['browser.type'] = browser_type;
|
|
||||||
if (browser_name) details['browser.name'] = browser_name;
|
if (browser_name) details['browser.name'] = browser_name;
|
||||||
if (browser_version) details['browser.version'] = browser_version;
|
if (browser_version) details['browser.version'] = browser_version;
|
||||||
if (browser_engine) details['browser.engine'] = browser_engine;
|
if (browser_engine) details['browser.engine'] = browser_engine;
|
||||||
@@ -4359,6 +4307,7 @@ beef.browser = {
|
|||||||
|
|
||||||
if (vbscript_enabled) details['browser.capabilities.vbscript'] = vbscript_enabled;
|
if (vbscript_enabled) details['browser.capabilities.vbscript'] = vbscript_enabled;
|
||||||
if (has_flash) details['browser.capabilities.flash'] = has_flash;
|
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_phonegap) details['browser.capabilities.phonegap'] = has_phonegap;
|
||||||
if (has_web_socket) details['browser.capabilities.websocket'] = has_web_socket;
|
if (has_web_socket) details['browser.capabilities.websocket'] = has_web_socket;
|
||||||
if (has_webrtc) details['browser.capabilities.webrtc'] = has_webrtc;
|
if (has_webrtc) details['browser.capabilities.webrtc'] = has_webrtc;
|
||||||
@@ -4413,7 +4362,7 @@ beef.browser = {
|
|||||||
var result = false;
|
var result = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (beef.browser.isIE() || beef.browser.isEdge()) {
|
if (beef.browser.hasActiveX()) {
|
||||||
var slControl = new ActiveXObject('AgControl.AgControl');
|
var slControl = new ActiveXObject('AgControl.AgControl');
|
||||||
result = true;
|
result = true;
|
||||||
} else if (navigator.plugins["Silverlight Plug-In"]) {
|
} else if (navigator.plugins["Silverlight Plug-In"]) {
|
||||||
@@ -4546,7 +4495,7 @@ beef.browser = {
|
|||||||
var foxitplugin = false;
|
var foxitplugin = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (beef.browser.isIE() || beef.browser.isEdge()) {
|
if (beef.browser.hasActiveX()) {
|
||||||
var foxitControl = new ActiveXObject('FoxitReader.FoxitReaderCtl.1');
|
var foxitControl = new ActiveXObject('FoxitReader.FoxitReaderCtl.1');
|
||||||
foxitplugin = true;
|
foxitplugin = true;
|
||||||
} else if (navigator.plugins['Foxit Reader Plugin for Mozilla']) {
|
} else if (navigator.plugins['Foxit Reader Plugin for Mozilla']) {
|
||||||
|
|||||||
@@ -363,14 +363,6 @@ module BeEF
|
|||||||
self.err_msg "Invalid browser platform returned from the hook browser's initial connection."
|
self.err_msg "Invalid browser platform returned from the hook browser's initial connection."
|
||||||
end
|
end
|
||||||
|
|
||||||
# get and store the hooked browser type
|
|
||||||
browser_type = get_param(@data['results'], 'browser.type')
|
|
||||||
if BeEF::Filters.is_valid_browsertype?(browser_type)
|
|
||||||
BD.set(session_id, 'browser.type', browser_type)
|
|
||||||
else
|
|
||||||
self.err_msg "Invalid hooked browser type returned from the hook browser's initial connection."
|
|
||||||
end
|
|
||||||
|
|
||||||
# get and store the zombie screen color depth
|
# get and store the zombie screen color depth
|
||||||
screen_colordepth = get_param(@data['results'], 'hardware.screen.colordepth')
|
screen_colordepth = get_param(@data['results'], 'hardware.screen.colordepth')
|
||||||
if BeEF::Filters.nums_only?(screen_colordepth)
|
if BeEF::Filters.nums_only?(screen_colordepth)
|
||||||
@@ -417,6 +409,7 @@ module BeEF
|
|||||||
'browser.capabilities.vbscript',
|
'browser.capabilities.vbscript',
|
||||||
# 'browser.capabilities.java',
|
# 'browser.capabilities.java',
|
||||||
'browser.capabilities.flash',
|
'browser.capabilities.flash',
|
||||||
|
'browser.capabilities.silverlight',
|
||||||
'browser.capabilities.phonegap',
|
'browser.capabilities.phonegap',
|
||||||
'browser.capabilities.googlegears',
|
'browser.capabilities.googlegears',
|
||||||
'browser.capabilities.activex',
|
'browser.capabilities.activex',
|
||||||
|
|||||||
Reference in New Issue
Block a user