Documentation
¶
Overview ¶
Package modules provides functionality for loading, configuring and running gorp modules
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Inspector ¶
type Inspector interface { Init() // Init Initializes module data GetOptions() []Option // GetOptions returns a list of available options for the module GetRegistry() Registry // GetRegistry returns an object with meta data describing the module Inspect(webData WebData) error // Inspect inspects web content for discovery and recon purposes }
Inspector identifies the functions that all inspector modules must implement.
type InspectorModule ¶
type InspectorModule struct { Inspect func(webData WebData) error Registry Registry Options []Option }
InspectorModule represents an inspector module. Inspectors analyse responses to answer questions about the application or to discover different types of information found in HTML documents, JavaScript comments and code
func (*InspectorModule) SetOption ¶
func (i *InspectorModule) SetOption(name string, value string) error
SetOption is used to change and set an inspector module option. Used when a user is configuring an inspector module. It returns an error if not set successfully.
func (*InspectorModule) ShowInfo ¶
func (i *InspectorModule) ShowInfo()
ShowInfo displays the information for the given inspector module
type Modules ¶
type Modules struct { Processors []ProcessorModule Inspectors []InspectorModule }
Modules holds selected processors and inspectors to be used in a gorp session
func (*Modules) GetInspector ¶
func (m *Modules) GetInspector(path string) (*InspectorModule, error)
GetInspector looks up and loads an inspector module as Go plugins. It returns a pointer to the inspector module
func (*Modules) GetProcessor ¶
func (m *Modules) GetProcessor(path string) (*ProcessorModule, error)
GetProcessor looks up and loads a processor module as Go plugins. It returns a pointer to the processor module
func (*Modules) InitInspectors ¶
func (m *Modules) InitInspectors(mods []base.ModuleConfig) error
InitInspectors loads a list of inspector modules.
func (*Modules) InitProcessors ¶
func (m *Modules) InitProcessors(mods []base.ModuleConfig) error
InitProcessors initializes modules selected for a gorp session
type Option ¶
type Option struct { Name string `json:"name"` // Name of the option Value string `json:"value"` // Value of the option Required bool `json:"required"` // Is this a required option? Description string `json:"description"` // A description of the option }
Option contains options specific to modules
type Processor ¶
type Processor interface { Init() // Init Initializes module data GetOptions() []Option // GetOptions returns a list of available options for the module GetRegistry() Registry // GetRegistry returns an object with meta data describing the module Process(webData WebData) (string, error) // Process alters the body of a request }
Processor identifies the functions that all processor modules must implement.
type ProcessorModule ¶
type ProcessorModule struct { Process func(webData WebData) (string, error) Registry Registry Options []Option `json:"options"` // A list of configurable options/arguments for the module }
ProcessorModule represents a processor module. Processor modules alter the body of a request or response
func (*ProcessorModule) SetOption ¶
func (p *ProcessorModule) SetOption(name string, value string) error
SetOption is used to change and set a processor module option. Used when a user is configuring a processor module. It returns an error if not set successfully.
func (*ProcessorModule) ShowInfo ¶
func (p *ProcessorModule) ShowInfo()
ShowInfo displays the information for the given processor module
type Registry ¶
type Registry struct { Name string `json:"name"` // Name of the module DocTypes []string `json:"docTypes"` // Type of document Author []string `json:"author"` // A list of module authors Credits []string `json:"credits"` // A list of people to credit for underlying tool or techniques Path string `json:"path"` // Path to the module Description string `json:"description"` // A description of what the module does Notes string `json:"notes"` // Additional information or notes about the module }
Registry holds meta data for modules