diff --git a/core/main/handlers/hookedbrowsers.rb b/core/main/handlers/hookedbrowsers.rb index 24df043c7..ea08a6f5b 100644 --- a/core/main/handlers/hookedbrowsers.rb +++ b/core/main/handlers/hookedbrowsers.rb @@ -71,7 +71,12 @@ module BeEF # @note get zombie if already hooked the framework hook_session_name = config.get('beef.http.hook_session_name') - hook_session_id = request[hook_session_name] + hook_session_id = + if request.respond_to?(:[]) + request[hook_session_name] + else + request.params[hook_session_name] || request.env[hook_session_name] + end begin raise ActiveRecord::RecordNotFound if hook_session_id.nil? diff --git a/core/main/network_stack/handlers/dynamicreconstruction.rb b/core/main/network_stack/handlers/dynamicreconstruction.rb index 762f63d12..039e8419a 100644 --- a/core/main/network_stack/handlers/dynamicreconstruction.rb +++ b/core/main/network_stack/handlers/dynamicreconstruction.rb @@ -70,7 +70,11 @@ module BeEF res = JSON.parse(b64).first res['beefhook'] = packet[:beefhook] res['request'] = request - res['beefsession'] = request[BeEF::Core::Configuration.instance.get('beef.http.hook_session_name')] + session_key = BeEF::Core::Configuration.instance.get('beef.http.hook_session_name') + res['beefsession'] = request.cookies[session_key] || + request.params[session_key] || + request.env[session_key] + execute(res) rescue JSON::ParserError => e print_debug 'Network stack could not decode packet stream.' diff --git a/extensions/admin_ui/api/handler.rb b/extensions/admin_ui/api/handler.rb index 2a65d4dfa..c220af8ba 100644 --- a/extensions/admin_ui/api/handler.rb +++ b/extensions/admin_ui/api/handler.rb @@ -149,7 +149,7 @@ module BeEF # mount the media folder where we store static files (javascript, css, images, audio) for the admin ui media_dir = "#{File.dirname(__FILE__)}/../media/" - beef_server.mount("#{bp}/media", Rack::File.new(media_dir)) + beef_server.mount("#{bp}/media", Rack::Files.new(media_dir)) # If we're not imitating a web server, mount the favicon to /favicon.ico # NOTE: this appears to be broken