diff --git a/.ruby-version b/.ruby-version index 276cbf9e..2bf1c1cc 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.3.0 +2.3.1 diff --git a/.travis.yml b/.travis.yml index 9b6e913f..d7dd9055 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ rvm: - 2.2.3 - 2.2.4 - 2.3.0 + - 2.3.1 before_install: - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" script: bundle exec rspec diff --git a/README.md b/README.md index a974eb9a..3f1446fb 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ WPScan comes pre-installed on the following Linux distributions: Prerequisites: -- Ruby >= 2.1.9 - Recommended: 2.3.0 +- Ruby >= 2.1.9 - Recommended: 2.3.1 - Curl >= 7.21 - Recommended: latest - FYI the 7.29 has a segfault - RubyGems - Recommended: latest - Git @@ -156,8 +156,8 @@ Apple Xcode, Command Line Tools and the libffi are needed (to be able to install curl -sSL https://get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc - rvm install 2.3.0 - rvm use 2.3.0 --default + rvm install 2.3.1 + rvm use 2.3.1 --default echo "gem: --no-ri --no-rdoc" > ~/.gemrc gem install bundler git clone https://github.com/wpscanteam/wpscan.git diff --git a/lib/common/models/wp_version.rb b/lib/common/models/wp_version.rb index 5cde2eca..f357ede0 100755 --- a/lib/common/models/wp_version.rb +++ b/lib/common/models/wp_version.rb @@ -8,7 +8,7 @@ class WpVersion < WpItem include WpVersion::Output # The version number - attr_accessor :number + attr_accessor :number, :metadata alias_method :version, :number # Needed to have the right behaviour in Vulnerable#vulnerable_to? # @return [ Array ] @@ -35,4 +35,14 @@ class WpVersion < WpItem a << node.text.to_s end end + + # @return [ Hash ] Metadata for specific WP version from WORDPRESSES_FILE + def metadata(version) + json = json(db_file) + + metadata = {} + metadata[:release_date] = json[version]['release_date'] + metadata[:changelog_url] = json[version]['changelog_url'] + metadata + end end diff --git a/lib/common/models/wp_version/output.rb b/lib/common/models/wp_version/output.rb index a724d711..88abfa99 100644 --- a/lib/common/models/wp_version/output.rb +++ b/lib/common/models/wp_version/output.rb @@ -4,8 +4,16 @@ class WpVersion < WpItem module Output def output(verbose = false) + metadata = self.metadata(self.number) + puts - puts info("WordPress version #{self.number} identified from #{self.found_from}") + if verbose + puts info("WordPress version #{self.number} identified from #{self.found_from}") + puts " | Released: #{metadata[:release_date]}" + puts " | Changelog: #{metadata[:changelog_url]}" + else + puts info("WordPress version #{self.number} identified from #{self.found_from} #{"(Released on #{metadata[:release_date]})" if metadata[:release_date]}") + end vulnerabilities = self.vulnerabilities