/*! * @literal object: beef.session * * Provides basic session functions. */ beef.session = { hook_session_id_length: 80, hook_session_id_chars: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", ec: new evercookie(), /** * 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("BEEFHOOK"); // if the browser is not known create a hook session id and set it if (typeof id == 'undefined') { 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("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