Sha256: 4e814d2d174c523731403629cef989d98f8fd8adfd016bdf634ad259744e15a4

Contents?: true

Size: 1.02 KB

Versions: 8

Compression:

Stored size: 1.02 KB

Contents

module WPScan
  module Finders
    module WpVersion
      # Atom Generator Version Finder
      class AtomGenerator < 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.css('generator').each do |node|
              next unless node.text.to_s.strip.casecmp('wordpress').zero?

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

          found
        end

        def passive_urls_xpath
          '//link[@rel="alternate" and @type="application/atom+xml"]'
        end

        def aggressive_urls(_opts = {})
          %w[feed/atom/ ?feed=atom].reduce([]) do |a, uri|
            a << target.url(uri)
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wpscan-3.2.1 app/finders/wp_version/atom_generator.rb
wpscan-3.2.0 app/finders/wp_version/atom_generator.rb
wpscan-3.1.0 app/finders/wp_version/atom_generator.rb
wpscan-3.0.8 app/finders/wp_version/atom_generator.rb
wpscan-3.0.7 app/finders/wp_version/atom_generator.rb
wpscan-3.0.6 app/finders/wp_version/atom_generator.rb
wpscan-3.0.5 app/finders/wp_version/atom_generator.rb
wpscan-3.0.4 app/finders/wp_version/atom_generator.rb