verbose output

This commit is contained in:
Christian Mehlmauer
2013-12-08 00:52:07 +01:00
parent 1e1fdee5a7
commit c107422353
9 changed files with 29 additions and 20 deletions

View File

@@ -177,3 +177,10 @@ end
def count_file_lines(file)
`wc -l #{file.shellescape}`.split[0].to_i
end
# Truncates a string to a specific length and adds ... at the end
def truncate(input, size, trailing = '...')
padded_length = size - trailing.length - 2 # ... + space + index 0
return input if input.nil? or size <= trailing.length or size <= 0 or input.length <= size
return "#{input[0...padded_length]}#{trailing}"
end

View File

@@ -4,7 +4,7 @@ class Vulnerability
module Output
# output the vulnerability
def output
def output(verbose = false)
puts ' |'
puts ' | ' + red("* Title: #{title}")
references.each do |key, urls|

View File

@@ -4,7 +4,7 @@ class WpItem
module Output
# @return [ Void ]
def output
def output(verbose = false)
puts
puts " | Name: #{self}" #this will also output the version number if detected
puts " | Location: #{url}"
@@ -14,7 +14,7 @@ class WpItem
puts " | Changelog: #{changelog_url}" if has_changelog?
if respond_to?(:additional_output)
additional_output
additional_output(verbose)
end
vulnerabilities.output

View File

@@ -31,4 +31,4 @@ class WpTheme < WpItem
end
end
end
end

View File

@@ -4,17 +4,19 @@ class WpTheme
module Output
# @return [ Void ]
def additional_output
def additional_output(verbose = false)
puts " | Style URL: #{style_url}"
puts " | Theme Name: #@theme_name" if @theme_name
puts " | Theme URI: #@theme_uri" if @theme_uri
puts " | Description: #@theme_description" if @theme_description
theme_desc = verbose ? @theme_description : truncate(@theme_description, 100)
puts " | Description: #{theme_desc}"
puts " | Author: #@theme_author" if @theme_author
puts " | Author URI: #@theme_author_uri" if @theme_author_uri
puts " | Template: #@theme_template" if @theme_template
puts " | License: #@theme_license" if @theme_license_uri
puts " | Tags: #@theme_tags" if @theme_tags
puts " | Text Domain: #@theme_text_domain" if @theme_text_domain
puts " | Template: #@theme_template" if @theme_template and verbose
puts " | License: #@theme_license" if @theme_license and verbose
puts " | License URI: #@theme_license_uri" if @theme_license_uri and verbose
puts " | Tags: #@theme_tags" if @theme_tags and verbose
puts " | Text Domain: #@theme_text_domain" if @theme_text_domain and verbose
end
end

View File

@@ -3,7 +3,7 @@
class WpTimthumb < WpItem
module Output
def output
def output(verbose = false)
puts ' | ' + red('[!]') + " #{self}"
end

View File

@@ -3,7 +3,7 @@
class WpVersion < WpItem
module Output
def output
def output(verbose = false)
puts green('[+]') + " WordPress version #{self.number} identified from #{self.found_from}"
vulnerabilities = self.vulnerabilities