Sha256: f0a38a9d049a4144a995af532a8fafda0b3fff507e76531f67d4e2bfffc8deaf

Contents?: true

Size: 1.89 KB

Versions: 6

Compression:

Stored size: 1.89 KB

Contents

# frozen_string_literal: true

module CMSScanner
  module Error
    # Target Down Error
    class TargetDown < Standard
      attr_reader :response

      def initialize(response)
        @response = response
      end

      def to_s
        "The url supplied '#{response.request.url}' seems to be down (#{response.return_message})"
      end
    end

    # HTTP Authentication Required Error
    class HTTPAuthRequired < Standard
      # :nocov:
      def to_s
        'HTTP authentication required (or was invalid), please provide it with --http-auth'
      end
      # :nocov:
    end

    # Proxy Authentication Required Error
    class ProxyAuthRequired < Standard
      # :nocov:
      def to_s
        'Proxy authentication required (or was invalid), please provide it with --proxy-auth'
      end
      # :nocov:
    end

    # Access Forbidden Error
    class AccessForbidden < Standard
      attr_reader :random_user_agent_used

      # @param [ Boolean ] random_user_agent_used
      def initialize(random_user_agent_used)
        @random_user_agent_used = random_user_agent_used
      end

      def to_s
        msg = if random_user_agent_used
                'Well... --random-user-agent didn\'t work, use --force to skip this check if needed.'
              else
                'Please re-try with --random-user-agent'
              end

        "The target is responding with a 403, this might be due to a WAF. #{msg}"
      end
    end

    # HTTP Redirect Error
    class HTTPRedirect < Standard
      attr_reader :redirect_uri

      # @param [ String ] url
      def initialize(url)
        @redirect_uri = Addressable::URI.parse(url).normalize
      end

      def to_s
        "The URL supplied redirects to #{redirect_uri}. Use the --ignore-main-redirect "\
        'option to ignore the redirection and scan the target, or change the --url option value to the redirected URL.'
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cms_scanner-0.13.5 lib/cms_scanner/errors/http.rb
cms_scanner-0.13.4 lib/cms_scanner/errors/http.rb
cms_scanner-0.13.3 lib/cms_scanner/errors/http.rb
cms_scanner-0.13.2 lib/cms_scanner/errors/http.rb
cms_scanner-0.13.1 lib/cms_scanner/errors/http.rb
cms_scanner-0.13.0 lib/cms_scanner/errors/http.rb