Class: Mdm::WebVuln

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/mdm/web_vuln.rb

Overview

A Web Vulnerability found during a web scan or web audit.

If you need to modify Mdm::WebVuln you can use ActiveSupport.on_load(:mdm_web_vuln) inside an initializer so that your patches are reloaded on each request in development mode for your Rails application.

Examples:

extending Mdm::WebVuln

# config/initializers/mdm_web_vuln.rb
ActiveSupport.on_load(:mdm_web_vuln) do
  def confidence_percentage
    "#{confidence}%"
  end
end

Constant Summary collapse

CONFIDENCE_RANGE =

A percentage #confidence that the vulnerability is real and not a false positive.

0 .. 100
DEFAULT_PARAMS =

Default value for #params

[]
METHODS =

Allowed methods.

[
    'GET',
    # XXX I don't know why PATH is a valid method when it's not an HTTP Method/Verb
    'PATH',
    'POST'
]
RISK_RANGE =

Risk is rated on a scale from 0 (least risky) to 5 (most risky).

0 .. 5

Instance Attribute Summary collapse

Instance Attribute Details

#blame ⇒ String

Who to blame for the vulnerability

Returns:



# File 'app/models/mdm/web_vuln.rb', line 48


#category ⇒ String

Category of this vulnerability.

Returns:



# File 'app/models/mdm/web_vuln.rb', line 53


#confidence ⇒ Integer

Percentage confidence scanner or auditor has that this vulnerability is not a false positive

Returns:

  • 1% to 100%



# File 'app/models/mdm/web_vuln.rb', line 58


#description ⇒ String?

Description of the vulnerability

Returns:



# File 'app/models/mdm/web_vuln.rb', line 63


#method ⇒ String

HTTP Methods for request that found vulnerability. 'PATH' is also allowed even though it is not an HTTP Method.

Returns:

See Also:



# File 'app/models/mdm/web_vuln.rb', line 68


#name ⇒ String

Name of the vulnerability

Returns:



# File 'app/models/mdm/web_vuln.rb', line 74


#params ⇒ Array<Array<(String, String)>>

Parameters sent as part of request.

Returns:



144
# File 'app/models/mdm/web_vuln.rb', line 144

serialize :params, MetasploitDataModels::Base64Serializer.new(:default => DEFAULT_PARAMS)

#path ⇒ String

Path portion of URL

Returns:



# File 'app/models/mdm/web_vuln.rb', line 79


#payload ⇒ String?

Web audit payload that gets executed by the remote server. Used for code injection vulnerabilities.

Returns:



# File 'app/models/mdm/web_vuln.rb', line 84


#pname ⇒ String

Name of parameter that demonstrates vulnerability

Returns:



# File 'app/models/mdm/web_vuln.rb', line 89


#proof ⇒ String

String that proves vulnerability, such as a code snippet, etc.

Returns:



# File 'app/models/mdm/web_vuln.rb', line 94


#query ⇒ String

The GET query.

Returns:



# File 'app/models/mdm/web_vuln.rb', line 99


#request ⇒ String

Returns:



# File 'app/models/mdm/web_vuln.rb', line 104


#risk ⇒ Integer

Risk of leaving this vulnerability unpatched.

Returns:



# File 'app/models/mdm/web_vuln.rb', line 108