Added Detect Cookie Support to initialization and details tab

M	extensions/admin_ui/controllers/modules/modules.rb
M	extensions/initialization/handler.rb
M	core/main/client/browser.js

Example output on details tab:

	Session Cookies: Yes
	Persistent Cookies: Yes

Fixes Issue 380



git-svn-id: https://beef.googlecode.com/svn/trunk@1122 b87d56ec-f9c0-11de-8c8a-61c5e9addfc9
This commit is contained in:
bcoles@gmail.com
2011-07-28 05:06:53 +00:00
parent b9c7528a93
commit 73ae24b029
3 changed files with 50 additions and 0 deletions

View File

@@ -543,6 +543,8 @@ beef.browser = {
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 has_session_cookies = (beef.browser.cookie.hasSessionCookies("cookie"))? "Yes":"No";
var has_persistent_cookies = (beef.browser.cookie.hasPersistentCookies("cookie"))? "Yes":"No";
if(browser_name) details["BrowserName"] = browser_name;
if(browser_version) details["BrowserVersion"] = browser_version;
@@ -560,6 +562,8 @@ beef.browser = {
if(vbscript_enabled) details['VBScriptEnabled'] = vbscript_enabled
if(has_flash) details['HasFlash'] = has_flash
if(has_googlegears) details['HasGoogleGears'] = has_googlegears
if(has_session_cookies) details["hasSessionCookies"] = has_session_cookies;
if(has_persistent_cookies) details["hasPersistentCookies"] = has_persistent_cookies;
return details;
},

View File

@@ -297,6 +297,36 @@ class Modules < BeEF::Extension::AdminUI::HttpController
summary_grid_hash['results'].push(page_name_row) # add the row
end
# set and add the return values for hasSessionCookies
has_session_cookies = BD.get(zombie_session, 'hasSessionCookies')
if not has_session_cookies.nil?
encoded_has_session_cookies = CGI.escapeHTML(has_session_cookies)
encoded_has_session_cookies_hash = { 'Session Cookies' => encoded_has_session_cookies }
page_name_row = {
'category' => 'Browser Hook Initialisation',
'data' => encoded_has_session_cookies_hash,
'from' => 'Initialisation'
}
summary_grid_hash['results'].push(page_name_row) # add the row
end
# set and add the return values for hasPersistentCookies
has_persistent_cookies = BD.get(zombie_session, 'hasPersistentCookies')
if not has_persistent_cookies.nil?
encoded_has_persistent_cookies = CGI.escapeHTML(has_persistent_cookies)
encoded_has_persistent_cookies_hash = { 'Persistent Cookies' => encoded_has_persistent_cookies }
page_name_row = {
'category' => 'Browser Hook Initialisation',
'data' => encoded_has_persistent_cookies_hash,
'from' => 'Initialisation'
}
summary_grid_hash['results'].push(page_name_row) # add the row
end
@body = summary_grid_hash.to_json
end

View File

@@ -157,6 +157,22 @@ module Initialization
BD.set(session_id, 'HasGoogleGears', has_googlegears)
end
# get and store whether the browser has session cookies enabled
has_session_cookies = get_param(@data['results'], 'hasSessionCookies')
if has_session_cookies.nil?
raise WEBrick::HTTPStatus::BadRequest, "Invalid value for hasSessionCookies"
else
BD.set(session_id, 'hasSessionCookies', has_session_cookies)
end
# get and store whether the browser has persistent cookies enabled
has_persistent_cookies = get_param(@data['results'], 'hasPersistentCookies')
if has_persistent_cookies.nil?
raise WEBrick::HTTPStatus::BadRequest, "Invalid value for hasPersistentCookies"
else
BD.set(session_id, 'hasPersistentCookies', has_persistent_cookies)
end
end
def get_param(query, key)