Sha256: ec3e4d03cb14ba413b431d8d75930f5d4a508f33cc0c55dc5d7712692750d0a9
Contents?: true
Size: 934 Bytes
Versions: 50
Compression:
Stored size: 934 Bytes
Contents
# frozen_string_literal: true module WPScan module Finders module WpVersion # Readme Version Finder class Readme < CMSScanner::Finders::Finder # @return [ WpVersion ] def aggressive(_opts = {}) readme_url = target.url('readme.html') # Maybe move this into the Target ? node = Browser.get(readme_url).html.css('h1#logo').last return unless node&.text.to_s.strip =~ /\AVersion (.*)\z/i number = Regexp.last_match(1) return unless Model::WpVersion.valid?(number) Model::WpVersion.new( number, found_by: 'Readme (Aggressive Detection)', # Since WP 4.7, the Readme only contains the major version (ie 4.7, 4.8 etc) confidence: number >= '4.7' ? 10 : 90, interesting_entries: ["#{readme_url}, Match: '#{node.text.to_s.strip}'"] ) end end end end end
Version data entries
50 entries across 50 versions & 1 rubygems