Remove debug output and unused code
parent
8bd9faad22
commit
4acf695de9
|
@ -15,16 +15,12 @@ module Msf::RPC::JSON
|
|||
|
||||
def set_command(command)
|
||||
@command = command
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.set_command(): command=#{command}, @command=#{@command}") # TODO: remove
|
||||
end
|
||||
|
||||
def process(source)
|
||||
begin
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.process(): source=#{source}") # TODO: remove
|
||||
request = parse_json_request(source)
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.process(): request=#{request}") # TODO: remove
|
||||
if request.is_a?(Array)
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.process(): batch request") # TODO: remove
|
||||
# If the batch rpc call itself fails to be recognized as an valid
|
||||
# JSON or as an Array with at least one value, the response from
|
||||
# the Server MUST be a single Response object.
|
||||
|
@ -58,8 +54,6 @@ module Msf::RPC::JSON
|
|||
|
||||
def process_request(request)
|
||||
begin
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.process_request(): request=#{request}") # TODO: remove
|
||||
|
||||
if !validate_rpc_request(request)
|
||||
response = self.class.create_error_response(InvalidRequest.new)
|
||||
return response
|
||||
|
@ -67,7 +61,6 @@ module Msf::RPC::JSON
|
|||
|
||||
# dispatch method execution to command
|
||||
result = @command.execute(request[:method], request[:params])
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.process_request(): dispatch result=#{result}, result.class=#{result.class}") # TODO: remove
|
||||
|
||||
# A Notification is a Request object without an "id" member. A Request
|
||||
# object that is a Notification signifies the Client's lack of interest
|
||||
|
@ -85,8 +78,6 @@ module Msf::RPC::JSON
|
|||
raise InvalidParams.new
|
||||
rescue Msf::RPC::Exception => e
|
||||
ApplicationServerError.new(e.message, data: { code: e.code })
|
||||
# rescue => e
|
||||
# raise ApplicationServerError.new(e)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -113,29 +104,18 @@ module Msf::RPC::JSON
|
|||
id: [Integer, String, NilClass]
|
||||
}
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.validate_rpc_request(): request.is_a?(Hash)=#{request.is_a?(Hash)}, request=#{request}")
|
||||
# validate request is an object
|
||||
return false unless request.is_a?(Hash)
|
||||
|
||||
# validate request contains required members
|
||||
required_members.each { |member| return false unless request.key?(member) }
|
||||
# required_members.each do |member|
|
||||
# $stderr.puts("Msf::RPC::JSON::Dispatcher.validate_rpc_request(): member=#{member}, request.key?(member)=#{request.key?(member)}")
|
||||
# return false unless request.key?(member)
|
||||
# end
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.validate_rpc_request(): request[:jsonrpc] != JSON_RPC_VERSION=#{request[:jsonrpc] != JSON_RPC_VERSION}")
|
||||
return false if request[:jsonrpc] != JSON_RPC_VERSION
|
||||
|
||||
# validate request members are correct types
|
||||
request.each do |member, value|
|
||||
return false if member_types.key?(member) &&
|
||||
!member_types[member].one? { |type| value.is_a?(type) }
|
||||
# if member_types.key?(member) && !member_types[member].one? { |type| value.is_a?(type) }
|
||||
# return false
|
||||
# else
|
||||
# return false
|
||||
# end
|
||||
end
|
||||
|
||||
true
|
||||
|
@ -172,7 +152,6 @@ module Msf::RPC::JSON
|
|||
}
|
||||
|
||||
self.add_response_id_member(response, request)
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.success_response(): response=#{response}")
|
||||
|
||||
response
|
||||
end
|
||||
|
@ -189,7 +168,6 @@ module Msf::RPC::JSON
|
|||
}
|
||||
|
||||
self.add_response_id_member(response, request)
|
||||
$stderr.puts("Msf::RPC::JSON::Dispatcher.error_response(): response=#{response}")
|
||||
|
||||
response
|
||||
end
|
||||
|
|
|
@ -3,10 +3,8 @@ require 'msf/core/rpc'
|
|||
module Msf::RPC::JSON
|
||||
module DispatcherHelper
|
||||
def get_dispatcher(dispatchers, version, framework)
|
||||
$stderr.puts("Msf::RPC::JSON::DispatcherHelper.get_dispatcher(): dispatchers=#{dispatchers}, version=#{version}, framework=#{framework}")
|
||||
version_sym = version.to_sym
|
||||
unless dispatchers.key?(version_sym)
|
||||
$stderr.puts("Msf::RPC::JSON::DispatcherHelper.get_dispatcher(): creating dispatcher for RPC version #{version}...")
|
||||
dispatchers[version_sym] = create_dispatcher(version_sym, framework)
|
||||
end
|
||||
|
||||
|
@ -14,11 +12,7 @@ module Msf::RPC::JSON
|
|||
end
|
||||
|
||||
def create_dispatcher(version, framework)
|
||||
$stderr.puts("Msf::RPC::JSON::DispatcherHelper.create_dispatcher(): version=#{version}, framework=#{framework}")
|
||||
$stderr.puts("Msf::RPC::JSON::DispatcherHelper.create_dispatcher(): creating RpcCommand...")
|
||||
command = RpcCommandFactory.create(version, framework)
|
||||
$stderr.puts("Msf::RPC::JSON::DispatcherHelper.create_dispatcher(): command=#{command}")
|
||||
$stderr.puts("Msf::RPC::JSON::DispatcherHelper.create_dispatcher(): creating Dispatcher...")
|
||||
dispatcher = Dispatcher.new(framework)
|
||||
dispatcher.set_command(command)
|
||||
|
||||
|
|
|
@ -7,18 +7,12 @@ module Msf::RPC::JSON
|
|||
@framework = framework
|
||||
@execute_timeout = execute_timeout
|
||||
@methods = {}
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.initialize(): @framework=#{@framework}, @framework.object_id=#{@framework.object_id}")
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.initialize(): @execute_timeout=#{@execute_timeout}")
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.initialize(): @methods=#{@methods}")
|
||||
end
|
||||
|
||||
# Add a method to the RPC Command
|
||||
def register_method(method, name: nil)
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.register_method(): method.class=#{method.class}, method.inspect=#{method.inspect}, name=#{name}")
|
||||
if name.nil?
|
||||
if method.is_a?(Method)
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.register_method(): method.name=#{method.name}")
|
||||
name = method.name.to_s
|
||||
else
|
||||
name = method.to_s
|
||||
|
@ -29,16 +23,10 @@ module Msf::RPC::JSON
|
|||
|
||||
# Call method on the receiver object previously registered.
|
||||
def execute(method, params)
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.execute(): method=#{method}, params=#{params}")
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.execute(): @methods.key?(method)=#{@methods.key?(method)}")
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.execute(): @methods[method]=#{@methods[method]}") if @methods.key?(method)
|
||||
|
||||
unless @methods.key?(method)
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.execute(): raising MethodNotFound...")
|
||||
raise MethodNotFound.new(method)
|
||||
end
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.execute(): calling method_name=#{method}...")
|
||||
::Timeout.timeout(@execute_timeout) do
|
||||
params = prepare_params(params)
|
||||
if params.nil?
|
||||
|
@ -68,7 +56,6 @@ module Msf::RPC::JSON
|
|||
clean_params = stringify_names(params)
|
||||
end
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommand.prepare_params(): params=#{params}, clean_params=#{clean_params}")
|
||||
clean_params
|
||||
end
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ require 'msf/core/rpc/json/v2_0/rpc_test'
|
|||
module Msf::RPC::JSON
|
||||
class RpcCommandFactory
|
||||
def self.create(version, framework)
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommandFactory.create: version=#{version}, framework=#{framework}") # TODO: remove
|
||||
case version
|
||||
when :v1, :v1_0, :v10
|
||||
return Msf::RPC::JSON::V1_0::RpcCommand.new(framework)
|
||||
|
@ -20,7 +19,6 @@ module Msf::RPC::JSON
|
|||
# TODO: does belong in some sort of loader class for an RPC version?
|
||||
# instantiate receiver
|
||||
rpc_test = Msf::RPC::JSON::V2_0::RpcTest.new()
|
||||
$stderr.puts("Msf::RPC::JSON::RpcCommandFactory.create_rpc_command_v2_0: rpc_test=#{rpc_test}")
|
||||
|
||||
command = Msf::RPC::JSON::RpcCommand.new(framework)
|
||||
|
||||
|
|
|
@ -19,9 +19,6 @@ module Msf::RPC::JSON
|
|||
@legacy_rpc_service = ::Msf::RPC::Service.new(@framework, {
|
||||
execute_timeout: @execute_timeout
|
||||
})
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.initialize(): @framework=#{@framework}, @framework.object_id=#{@framework.object_id}")
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.initialize(): @legacy_rpc_service=#{@legacy_rpc_service}, @legacy_rpc_service.handlers=#{@legacy_rpc_service.handlers}")
|
||||
end
|
||||
|
||||
def register_method(method, name: nil)
|
||||
|
@ -42,25 +39,14 @@ module Msf::RPC::JSON
|
|||
|
||||
# Call method on the receiver object previously registered.
|
||||
def execute_internal(method, params)
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): method=#{method}, params=#{params}")
|
||||
|
||||
# parse method string
|
||||
group, base_method = parse_method_group(method)
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): group=#{group}, base_method=#{base_method}") # TODO: remove
|
||||
|
||||
method_name = "rpc_#{base_method}"
|
||||
method_name_noauth = "rpc_#{base_method}_noauth"
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): method_name=#{base_method}, method_name_noauth=#{method_name_noauth}, @legacy_rpc_service.handlers[group]=#{@legacy_rpc_service.handlers[group]}")
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): @legacy_rpc_service.handlers[group].nil?=#{@legacy_rpc_service.handlers[group].nil?}")
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): @legacy_rpc_service.handlers[group].respond_to?(method_name)=#{@legacy_rpc_service.handlers[group].respond_to?(method_name)}")
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): @legacy_rpc_service.handlers[group].respond_to?(method_name_noauth)=#{@legacy_rpc_service.handlers[group].respond_to?(method_name_noauth)}")
|
||||
|
||||
|
||||
handler = (find_handler(@legacy_rpc_service.handlers, group, method_name) || find_handler(@legacy_rpc_service.handlers, group, method_name_noauth))
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): handler=#{handler}")
|
||||
if handler.nil?
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): raising MethodNotFound...")
|
||||
raise MethodNotFound.new(method)
|
||||
end
|
||||
|
||||
|
@ -68,8 +54,6 @@ module Msf::RPC::JSON
|
|||
method_name = method_name_noauth
|
||||
end
|
||||
|
||||
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.execute(): calling method_name=#{method_name}...")
|
||||
::Timeout.timeout(@execute_timeout) do
|
||||
params = prepare_params(params)
|
||||
if params.nil?
|
||||
|
@ -107,7 +91,6 @@ module Msf::RPC::JSON
|
|||
if method == MODULE_EXECUTE_KEY && params.size >= 2 &&
|
||||
params[0] == PAYLOAD_MODULE_TYPE_KEY && result.key?(PAYLOAD_KEY)
|
||||
result[PAYLOAD_KEY] = Base64.strict_encode64(result[PAYLOAD_KEY])
|
||||
$stderr.puts("Msf::RPC::JSON::V1_0::RpcCommand.post_process_result(): converted result key '#{PAYLOAD_KEY}': new value=#{result[PAYLOAD_KEY]}")
|
||||
end
|
||||
|
||||
result
|
||||
|
|
|
@ -4,25 +4,18 @@ module Msf::RPC::JSON::V2_0
|
|||
def initialize
|
||||
r = Random.new
|
||||
@rand_num = r.rand(0..100)
|
||||
$stderr.puts("Msf::RPC::JSON::V2_0::RpcTest.initialize(): @rand_num=#{@rand_num}")
|
||||
end
|
||||
|
||||
def self.add(x, y)
|
||||
result = x + y
|
||||
$stderr.puts("Msf::RPC::JSON::V2_0::RpcTest.add(): x=#{x}, y=#{y}, result=#{result}")
|
||||
|
||||
result
|
||||
x + y
|
||||
end
|
||||
|
||||
def get_instance_rand_num
|
||||
$stderr.puts("Msf::RPC::JSON::V2_0::RpcTest instance.get_instance_rand_num(): @rand_num=#{@rand_num}")
|
||||
|
||||
@rand_num
|
||||
end
|
||||
|
||||
def add_instance_rand_num(x)
|
||||
@rand_num = @rand_num + x
|
||||
$stderr.puts("Msf::RPC::JSON::V2_0::RpcTest instance.add_instance_rand_num(): x=#{x}, @rand_num=#{@rand_num}")
|
||||
|
||||
@rand_num
|
||||
end
|
||||
|
|
|
@ -19,10 +19,7 @@ module JsonRpcServlet
|
|||
warden.authenticate!
|
||||
begin
|
||||
body = request.body.read
|
||||
$stderr.puts("JsonRpcServlet: body=#{body}")
|
||||
tmp_params = sanitize_params(params)
|
||||
$stderr.puts("JsonRpcServlet: tmp_params=#{tmp_params}")
|
||||
|
||||
data = get_dispatcher(settings.dispatchers, tmp_params[:version], settings.framework).process(body)
|
||||
set_raw_response(data)
|
||||
rescue => e
|
||||
|
|
Loading…
Reference in New Issue