Skip to content

Commit dcf4171

Browse files
committed
Fix query array encoding issue
1 parent 67b7af3 commit dcf4171

File tree

2 files changed

+4
-3
lines changed
  • lib
    • metasploit/framework/data_service/remote/http
    • msf/core/db_manager

2 files changed

+4
-3
lines changed

lib/metasploit/framework/data_service/remote/http/core.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ def put_data(path, data_hash, query = nil)
108108
#
109109
def make_request(request_type, path, data_hash = nil, query = nil)
110110
begin
111-
query_str = (!query.nil? && !query.empty?) ? URI.encode_www_form(append_workspace(query)) : nil
111+
# simplify query by removing nil values
112+
query_str = (!query.nil? && !query.empty?) ? append_workspace(query).compact.to_query : nil
112113
uri = URI::HTTP::build({path: path, query: query_str})
113114
puts "#{Time.now} - HTTP #{request_type} request to #{uri.request_uri} with #{data_hash ? data_hash : "nil"}"
114115

lib/msf/core/db_manager/host.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,9 @@ def hosts(opts)
152152

153153
conditions = {}
154154
conditions[:state] = [Msf::HostState::Alive, Msf::HostState::Unknown] if opts[:non_dead]
155-
conditions[:address] = opts[:addresses] if opts[:addresses]
155+
conditions[:address] = opts[:addresses] if opts[:addresses] && !opts[:addresses].empty?
156156

157-
if opts[:search_term]
157+
if opts[:search_term] && !opts[:search_term].empty?
158158
column_search_conditions = Msf::Util::DBManager.create_all_column_search_conditions(Mdm::Host, opts[:search_term])
159159
tag_conditions = Arel::Nodes::Regexp.new(Mdm::Tag.arel_table[:name], Arel::Nodes.build_quoted("(?mi)#{opts[:search_term]}"))
160160
search_conditions = column_search_conditions.or(tag_conditions)

0 commit comments

Comments
 (0)