Errors moved into their own namespace - Ref #1315

This commit is contained in:
erwanlr
2019-03-19 19:09:16 +00:00
parent 357e13be2b
commit f1657164d5
15 changed files with 85 additions and 73 deletions

View File

@@ -80,7 +80,7 @@ module WPScan
url = "#{remote_file_url(filename)}.sha512"
res = Browser.get(url, request_params)
raise DownloadError, res if res.timed_out? || res.code != 200
raise Error::Download, res if res.timed_out? || res.code != 200
res.body.chomp
end
@@ -121,7 +121,7 @@ module WPScan
file_url = remote_file_url(filename)
res = Browser.get(file_url, request_params)
raise DownloadError, res if res.timed_out? || res.code != 200
raise Error::Download, res if res.timed_out? || res.code != 200
File.open(file_path, 'wb') { |f| f.write(res.body) }

View File

@@ -1,5 +1,9 @@
module WPScan
class Error < StandardError
module Error
include CMSScanner::Error
class Standard < StandardError
end
end
end

View File

@@ -1,34 +1,36 @@
module WPScan
# HTTP Error
class HTTPError < Error
attr_reader :response
module Error
# HTTP Error
class HTTP < Standard
attr_reader :response
# @param [ Typhoeus::Response ] res
def initialize(response)
@response = response
# @param [ Typhoeus::Response ] res
def initialize(response)
@response = response
end
def failure_details
msg = response.effective_url
msg += if response.code.zero? || response.timed_out?
" (#{response.return_message})"
else
" (status: #{response.code})"
end
msg
end
def to_s
"HTTP Error: #{failure_details}"
end
end
def failure_details
msg = response.effective_url
msg += if response.code.zero? || response.timed_out?
" (#{response.return_message})"
else
" (status: #{response.code})"
end
msg
end
def to_s
"HTTP Error: #{failure_details}"
end
end
# Used in the Updater
class DownloadError < HTTPError
def to_s
"Unable to get #{failure_details}"
# Used in the Updater
class Download < HTTP
def to_s
"Unable to get #{failure_details}"
end
end
end
end

View File

@@ -1,8 +1,10 @@
module WPScan
# Error raised when there is a missing DB file and --no-update supplied
class MissingDatabaseFile < Error
def to_s
'Update required, you can not run a scan if a database file is missing.'
module Error
# Error raised when there is a missing DB file and --no-update supplied
class MissingDatabaseFile < Standard
def to_s
'Update required, you can not run a scan if a database file is missing.'
end
end
end
end

View File

@@ -1,28 +1,30 @@
module WPScan
# WordPress hosted (*.wordpress.com)
class WordPressHostedError < Error
def to_s
'Scanning *.wordpress.com hosted blogs is not supported.'
module Error
# WordPress hosted (*.wordpress.com)
class WordPressHosted < Standard
def to_s
'Scanning *.wordpress.com hosted blogs is not supported.'
end
end
end
# Not WordPress Error
class NotWordPressError < Error
def to_s
'The remote website is up, but does not seem to be running WordPress.'
# Not WordPress Error
class NotWordPress < Standard
def to_s
'The remote website is up, but does not seem to be running WordPress.'
end
end
end
# Invalid Wp Version (used in the WpVersion#new)
class InvalidWordPressVersion < Error
def to_s
'The WordPress version is invalid'
# Invalid Wp Version (used in the WpVersion#new)
class InvalidWordPressVersion < Standard
def to_s
'The WordPress version is invalid'
end
end
end
class WpContentDirNotDetected < Error
def to_s
'Unable to identify the wp-content dir, please supply it with --wp-content-dir'
class WpContentDirNotDetected < Standard
def to_s
'Unable to identify the wp-content dir, please supply it with --wp-content-dir'
end
end
end
end

View File

@@ -1,8 +1,10 @@
module WPScan
# XML-RPC Not Detected
class XMLRPCNotDetected < Error
def to_s
'The XML-RPC Interface was not detected.'
module Error
# XML-RPC Not Detected
class XMLRPCNotDetected < Standard
def to_s
'The XML-RPC Interface was not detected.'
end
end
end
end

View File

@@ -13,7 +13,7 @@ module WPScan
confidence: opts[:confidence] || 80,
interesting_entries: opts[:entries]
)
rescue WPScan::InvalidWordPressVersion
rescue WPScan::Error::InvalidWordPressVersion
nil # Invalid Version returned as nil and will be ignored by Finders
end
end