Sha256: e6efe97b0954c74244868cc4e22e6f99008c6e6bc3689ada42df83a23111ec5e
Contents?: true
Size: 1.26 KB
Versions: 9
Compression:
Stored size: 1.26 KB
Contents
module WPScan module DB # Fingerprints class class Fingerprints # @param [ Hash ] data # # @return [ Hash ] the unique fingerprints in the data argument given # Format returned: # { # file_path_1: { # md5_hash_1: version_1, # md5_hash_2: version_2 # }, # file_path_2: { # md5_hash_3: version_1, # md5_hash_4: version_3 # } # } def self.unique_fingerprints(data) unique_fingerprints = {} data.each do |file_path, fingerprints| fingerprints.each do |md5sum, versions| next unless versions.size == 1 unique_fingerprints[file_path] ||= {} unique_fingerprints[file_path][md5sum] = versions.first end end unique_fingerprints end # @return [ String ] def self.wp_fingerprints_path @wp_fingerprints_path ||= File.join(DB_DIR, 'wp_fingerprints.json') end # @return [ Hash ] def self.wp_fingerprints @wp_fingerprints ||= read_json_file(wp_fingerprints_path) end # @return [ Hash ] def self.wp_unique_fingerprints @wp_unique_fingerprints ||= unique_fingerprints(wp_fingerprints) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems