From fec922a63cc01eb77a524c62898bc3c2d2899659 Mon Sep 17 00:00:00 2001 From: antisnatchor Date: Wed, 14 Mar 2012 16:52:25 +0100 Subject: [PATCH] Implemented /api/modules/ to retrieve all enabled modules --- core/main/rest/handlers/modules.rb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/core/main/rest/handlers/modules.rb b/core/main/rest/handlers/modules.rb index 3e04494a3..e69760b92 100644 --- a/core/main/rest/handlers/modules.rb +++ b/core/main/rest/handlers/modules.rb @@ -31,9 +31,23 @@ module BeEF 'Expires' => '0' end - # @note Get all available modules + # @note Get all available and enabled modules (id, name, category) get '/' do - "return available modules" + mods = BeEF::Core::Models::CommandModule.all + + mods_hash = {} + i = 0 + mods.each do |mod| + modk = BeEF::Module.get_key_by_database_id(mod.id) + next if !BeEF::Module.is_enabled(modk) + mods_hash[i] = { + 'id' => mod.id, + 'name' => config.get("beef.module.#{modk}.name"), + 'category' => config.get("beef.module.#{modk}.category") + } + i+=1 + end + mods_hash.to_json end # @note Get the module definition (info, options)