Sha256: 3946fc3fc1f4da218a3d0b86bb8aaacc77df556d3ee697fb56491ed8a43aeed7

Contents?: true

Size: 984 Bytes

Versions: 10

Compression:

Stored size: 984 Bytes

Contents

module WPScan
  module Finders
    module WpVersion
      # RDF Generator Version Finder
      class RDFGenerator < CMSScanner::Finders::Finder
        include Finder::WpVersion::SmartURLChecker

        def process_urls(urls, _opts = {})
          found = Findings.new

          urls.each do |url|
            res = Browser.get_and_follow_location(url)

            res.html.xpath('//generatoragent').each do |node|
              next unless node['rdf:resource'] =~ %r{\Ahttps?://wordpress\.(?:[a-z.]+)/\?v=(.*)\z}i

              found << create_version(
                Regexp.last_match[1],
                found_by: found_by,
                entries: ["#{res.effective_url}, #{node.to_s.strip}"]
              )
            end
          end

          found
        end

        def passive_urls_xpath
          '//a[contains(@href, "rdf")]/@href'
        end

        def aggressive_urls(_opts = {})
          [target.url('feed/rdf/')]
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
wpscan-3.4.5 app/finders/wp_version/rdf_generator.rb
wpscan-3.4.4 app/finders/wp_version/rdf_generator.rb
wpscan-3.4.3 app/finders/wp_version/rdf_generator.rb
wpscan-3.4.2 app/finders/wp_version/rdf_generator.rb
wpscan-3.4.1 app/finders/wp_version/rdf_generator.rb
wpscan-3.4.0 app/finders/wp_version/rdf_generator.rb
wpscan-3.3.3 app/finders/wp_version/rdf_generator.rb
wpscan-3.3.2 app/finders/wp_version/rdf_generator.rb
wpscan-3.3.1 app/finders/wp_version/rdf_generator.rb
wpscan-3.3.0 app/finders/wp_version/rdf_generator.rb