Class: Nexpose::SmtpAlert

Inherits:
Object
  • Object
show all
Includes:
Sanitize
Defined in:
lib/nexpose.rb

Overview

Description

Object that represents an SMTP (Email) Alert.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Sanitize

#replace_entities

Constructor Details

#initialize(name, sender, limitText, enabled = 1) ⇒ SmtpAlert

Returns a new instance of SmtpAlert.



1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
# File 'lib/nexpose.rb', line 1539

def initialize(name, sender, limitText, enabled = 1)
	@type = :smtp
	@name = name
	@sender = sender
	@enabled = enabled
	@limitText = limitText
	@recipients = Array.new()
	# Sets default vuln filter - All Events
	setVulnFilter(VulnFilter.new("50790400",1))
end

Instance Attribute Details

#enabledObject (readonly)

If this alert is enabled or not



1526
1527
1528
# File 'lib/nexpose.rb', line 1526

def enabled
  @enabled
end

#limitTextObject (readonly)

Limit the text for mobile devices



1530
1531
1532
# File 'lib/nexpose.rb', line 1530

def limitText
  @limitText
end

#nameObject (readonly)

A unique name for this alert



1524
1525
1526
# File 'lib/nexpose.rb', line 1524

def name
  @name
end

#recipientsObject (readonly)

Array containing Strings of email addresses Array of strings with the email addresses of the intended recipients



1533
1534
1535
# File 'lib/nexpose.rb', line 1533

def recipients
  @recipients
end

#senderObject (readonly)

The email address of the sender



1528
1529
1530
# File 'lib/nexpose.rb', line 1528

def sender
  @sender
end

#typeObject (readonly)

The alert type



1537
1538
1539
# File 'lib/nexpose.rb', line 1537

def type
  @type
end

#vulnFilterObject (readonly)

The vulnerability filter to trigger the alert



1535
1536
1537
# File 'lib/nexpose.rb', line 1535

def vulnFilter
  @vulnFilter
end

Instance Method Details

#addRecipient(recipient) ⇒ Object

Adds a new Recipient to the recipients array



1551
1552
1553
# File 'lib/nexpose.rb', line 1551

def addRecipient(recipient)
	@recipients.push(recipient)
end

#setVulnFilter(vulnFilter) ⇒ Object

Sets the Vulnerability Filter for this alert.



1556
1557
1558
# File 'lib/nexpose.rb', line 1556

def setVulnFilter(vulnFilter)
	@vulnFilter = vulnFilter
end

#to_xmlObject



1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
# File 'lib/nexpose.rb', line 1561

def to_xml
	xml = "<smtpAlert"
	xml << %Q{ name="#{replace_entities(name)}"}
	xml << %Q{ enabled="#{replace_entities(enabled)}"}
	xml << %Q{ sender="#{replace_entities(sender)}"}
	xml << %Q{ limitText="#{replace_entities(limitText)}">}
	recipients.each do |recpt|
		xml << "<recipient>#{replace_entities(recpt)}</recipient>"
	end
	xml << vulnFilter.to_xml
	xml << "</smtpAlert>"
	xml
end