diff --git a/lib/browser.rb b/lib/browser.rb index 68072c01..9daae9b7 100644 --- a/lib/browser.rb +++ b/lib/browser.rb @@ -141,7 +141,7 @@ class Browser def forge_request(url, params = {}) Typhoeus::Request.new( - URI.encode(url.to_s), + url.to_s, merge_request_params(params) ) end diff --git a/lib/wpscan/wp_item.rb b/lib/wpscan/wp_item.rb index 47d33928..f0dc0689 100644 --- a/lib/wpscan/wp_item.rb +++ b/lib/wpscan/wp_item.rb @@ -62,12 +62,12 @@ class WpItem < Vulnerable path = @path.sub(/^\//, "") if type =="plugins" # plugins can be outside of wp-content. wp_content_dir included in wp_plugins_dir - ret = URI.parse("#{url}#@wp_plugins_dir/#{path}") + ret = URI.parse(URI.encode("#{url}#@wp_plugins_dir/#{path}")) elsif type == "timthumbs" # timthumbs have folder in path variable - ret = URI.parse("#{url}#{wp_content_dir}/#{path}") + ret = URI.parse(URI.encode("#{url}#{wp_content_dir}/#{path}")) else - ret = URI.parse("#{url}#{wp_content_dir}/#{get_sub_folder}/#{path}") + ret = URI.parse(URI.encode("#{url}#{wp_content_dir}/#{get_sub_folder}/#{path}")) end ret end @@ -79,7 +79,7 @@ class WpItem < Vulnerable unless valid_location_url valid_location_url = add_trailing_slash(location_url) end - URI.parse(valid_location_url) + URI.parse(URI.encode(valid_location_url)) end # Returns version number from readme.txt if it exists diff --git a/lib/wpstools/parse_svn.rb b/lib/wpstools/parse_svn.rb index 835909f2..49803868 100644 --- a/lib/wpstools/parse_svn.rb +++ b/lib/wpstools/parse_svn.rb @@ -59,7 +59,7 @@ class Svn_Parser # First get all trunk or version directories dirs.each do |dir| svnurl = @svn_root + dir + "/" - request = @svn_browser.forge_request(svnurl) + request = @svn_browser.forge_request(URI.encode(svnurl)) request.on_complete do |response| # trunk folder present if contains_trunk(response) @@ -97,7 +97,7 @@ class Svn_Parser queue_count = 0 dirs.each do |dir| url = @svn_root + dir[:name] + "/" + dir[:folder] + "/" - request = @svn_browser.forge_request(url) + request = @svn_browser.forge_request(URI.encode(url)) request.on_complete do |response| puts "[+] Parsing url #{url} [#{response.code.to_s}]" if @verbose file = response.body[%r{