Skip to content

Commit 84422b1

Browse files
committed
Changes db_data to metadata
1 parent d05ad0f commit 84422b1

File tree

13 files changed

+102
-42
lines changed

13 files changed

+102
-42
lines changed

app/models/plugin.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ def initialize(slug, blog, opts = {})
1616
end
1717

1818
# @return [ JSON ]
19-
def db_data
20-
@db_data ||= DB::Plugin.db_data(slug)
19+
def metadata
20+
@metadata ||= DB::Plugin.metadata_at(slug)
2121
end
2222

2323
# @param [ Hash ] opts

app/models/theme.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ def initialize(slug, blog, opts = {})
2222
end
2323

2424
# @return [ JSON ]
25-
def db_data
26-
@db_data ||= DB::Theme.db_data(slug)
25+
def metadata
26+
@metadata ||= DB::Theme.metadata_at(slug)
2727
end
2828

2929
# @param [ Hash ] opts

app/models/wp_item.rb

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ def vulnerabilities
3939

4040
@vulnerabilities = []
4141

42-
[*db_data['vulnerabilities']].each do |json_vuln|
43-
vulnerability = Vulnerability.load_from_json(json_vuln)
44-
@vulnerabilities << vulnerability if vulnerable_to?(vulnerability)
45-
end
42+
# TODO Get them from API
43+
#[*db_data['vulnerabilities']].each do |json_vuln|
44+
# vulnerability = Vulnerability.load_from_json(json_vuln)
45+
# @vulnerabilities << vulnerability if vulnerable_to?(vulnerability)
46+
#end
4647

4748
@vulnerabilities
4849
end
@@ -60,18 +61,18 @@ def vulnerable_to?(vuln)
6061

6162
# @return [ String ]
6263
def latest_version
63-
@latest_version ||= db_data['latest_version'] ? Model::Version.new(db_data['latest_version']) : nil
64+
@latest_version ||= metadata['latest_version'] ? Model::Version.new(metadata['latest_version']) : nil
6465
end
6566

6667
# Not used anywhere ATM
6768
# @return [ Boolean ]
6869
def popular?
69-
@popular ||= db_data['popular']
70+
@popular ||= metadata['popular']
7071
end
7172

7273
# @return [ String ]
7374
def last_updated
74-
@last_updated ||= db_data['last_updated']
75+
@last_updated ||= metadata['last_updated']
7576
end
7677

7778
# @return [ Boolean ]

app/models/wp_version.rb

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ def self.all
3636
end
3737

3838
# @return [ JSON ]
39-
def db_data
40-
@db_data ||= DB::Version.db_data(number)
39+
def metadata
40+
@metadata ||= DB::Version.metadata_at(number)
4141
end
4242

4343
# @return [ Array<Vulnerability> ]
@@ -46,21 +46,22 @@ def vulnerabilities
4646

4747
@vulnerabilities = []
4848

49-
[*db_data['vulnerabilities']].each do |json_vuln|
50-
@vulnerabilities << Vulnerability.load_from_json(json_vuln)
51-
end
49+
# TODO get them from API
50+
#[*db_data['vulnerabilities']].each do |json_vuln|
51+
# @vulnerabilities << Vulnerability.load_from_json(json_vuln)
52+
#end
5253

5354
@vulnerabilities
5455
end
5556

5657
# @return [ String ]
5758
def release_date
58-
@release_date ||= db_data['release_date'] || 'Unknown'
59+
@release_date ||= metadata['release_date'] || 'Unknown'
5960
end
6061

6162
# @return [ String ]
6263
def status
63-
@status ||= db_data['status'] || 'Unknown'
64+
@status ||= metadata['status'] || 'Unknown'
6465
end
6566
end
6667
end

lib/wpscan/db/plugin.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ module WPScan
44
module DB
55
# Plugin DB
66
class Plugin < WpItem
7-
# @return [ String ]
8-
def self.db_file
9-
@db_file ||= DB_DIR.join('plugins.json').to_s
7+
# @return [ Hash ]
8+
def self.metadata
9+
@metadata ||= super['plugins'] || {}
1010
end
1111
end
1212
end

lib/wpscan/db/plugins.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ module DB
55
# WP Plugins
66
class Plugins < WpItems
77
# @return [ JSON ]
8-
def self.db
9-
Plugin.db
8+
def self.metadata
9+
Plugin.metadata
1010
end
1111
end
1212
end

lib/wpscan/db/theme.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ module WPScan
44
module DB
55
# Theme DB
66
class Theme < WpItem
7-
# @return [ String ]
8-
def self.db_file
9-
@db_file ||= DB_DIR.join('themes.json').to_s
7+
# @return [ Hash ]
8+
def self.metadata
9+
@metadata ||= super['themes'] || {}
1010
end
1111
end
1212
end

lib/wpscan/db/themes.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ module DB
55
# WP Themes
66
class Themes < WpItems
77
# @return [ JSON ]
8-
def self.db
9-
Theme.db
8+
def self.metadata
9+
Theme.metadata
1010
end
1111
end
1212
end

lib/wpscan/db/updater.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@ module DB
77
class Updater
88
# /!\ Might want to also update the Enumeration#cli_options when some filenames are changed here
99
FILES = %w[
10-
plugins.json themes.json wordpresses.json
10+
metadata.json wp_fingerprints.json
1111
timthumbs-v3.txt config_backups.txt db_exports.txt
12-
dynamic_finders.yml wp_fingerprints.json LICENSE
12+
dynamic_finders.yml LICENSE
1313
].freeze
1414

15-
OLD_FILES = %w[wordpress.db user-agents.txt dynamic_finders_01.yml].freeze
15+
OLD_FILES = %w[
16+
wordpress.db user-agents.txt dynamic_finders_01.yml
17+
wordpressess.json plugins.json themes.json
18+
].freeze
1619

1720
attr_reader :repo_directory
1821

lib/wpscan/db/wp_item.rb

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,19 @@ module DB
66
class WpItem
77
# @param [ String ] identifier The plugin/theme slug or version number
88
#
9-
# @return [ Hash ] The JSON data from the DB associated to the identifier
10-
def self.db_data(identifier)
11-
db[identifier] || {}
9+
# @return [ Hash ] The JSON data from the metadata associated to the identifier
10+
def self.metadata_at(identifier)
11+
metadata[identifier] || {}
1212
end
1313

1414
# @return [ JSON ]
15-
def self.db
16-
@db ||= read_json_file(db_file)
15+
def self.metadata
16+
@metadata ||= read_json_file(metadata_file)
17+
end
18+
19+
# @return [ String ]
20+
def self.metadata_file
21+
@metadata_file ||= DB_DIR.join('metadata.json').to_s
1722
end
1823
end
1924
end

0 commit comments

Comments
 (0)