33 lines
1.3 KiB
Ruby
33 lines
1.3 KiB
Ruby
#
|
|
# Copyright (c) 2006-2015 Wade Alcorn - wade@bindshell.net
|
|
# Browser Exploitation Framework (BeEF) - http://beefproject.com
|
|
# See the file 'doc/COPYING' for copying permission
|
|
#
|
|
module BeEF
|
|
module Extension
|
|
module Customhook
|
|
|
|
module RegisterHttpHandlers
|
|
|
|
BeEF::API::Registrar.instance.register(BeEF::Extension::Customhook::RegisterHttpHandlers, BeEF::API::Server, 'mount_handler')
|
|
BeEF::API::Registrar.instance.register(BeEF::Extension::Customhook::RegisterHttpHandlers, BeEF::API::Server, 'pre_http_start')
|
|
|
|
def self.mount_handler(beef_server)
|
|
configuration = BeEF::Core::Configuration.instance
|
|
configuration.get("beef.extension.customhook.hooks").each do |h|
|
|
beef_server.mount(configuration.get("beef.extension.customhook.hooks.#{h.first}.path"), BeEF::Extension::Customhook::Handler.new)
|
|
end
|
|
end
|
|
|
|
def self.pre_http_start(beef_server)
|
|
configuration = BeEF::Core::Configuration.instance
|
|
configuration.get("beef.extension.customhook.hooks").each do |h|
|
|
print_success "Successfully mounted a custom hook point"
|
|
print_more "Mount Point: #{configuration.get("beef.extension.customhook.hooks.#{h.first}.path")}\nLoading iFrame: #{configuration.get("beef.extension.customhook.hooks.#{h.first}.target")}\n"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|