Class: Mdm::WebVuln

Inherits:
ApplicationRecord
  • 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

#blameString

Who to blame for the vulnerability

Returns:

  • (String)


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

#categoryString

Category of this vulnerability.

Returns:

  • (String)


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

#confidenceInteger

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

Returns:

  • (Integer)

    1% to 100%



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

#descriptionString?

Description of the vulnerability

Returns:

  • (String, nil)


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

#methodString

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

Returns:

  • (String)

See Also:



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

#nameString

Name of the vulnerability

Returns:

  • (String)


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

#paramsArray<Array<(String, String)>>

Parameters sent as part of request.

Returns:

  • (Array<Array<(String, String)>>)


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

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

#pathString

Path portion of URL

Returns:

  • (String)


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

#payloadString?

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

Returns:

  • (String, nil)


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

#pnameString

Name of parameter that demonstrates vulnerability

Returns:

  • (String)


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

#proofString

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

Returns:

  • (String)


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

#queryString

The GET query.

Returns:

  • (String)


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

#requestString

Returns:

  • (String)


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

#riskInteger

Risk of leaving this vulnerability unpatched.

Returns:

  • (Integer)


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