Errors moved into their own namespace - Ref #1315
This commit is contained in:
@@ -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) }
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
module WPScan
|
||||
class Error < StandardError
|
||||
module Error
|
||||
include CMSScanner::Error
|
||||
|
||||
class Standard < StandardError
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user