Package plugins :: Package discovery :: Module afd :: Class afd
[hide private]

Class afd




Find out if the remote web server has an active filter ( IPS or WAF ).


Author: Andres Riancho ( andres.riancho@gmail.com )

Instance Methods [hide private]
 
__init__(self)
 
discover(self, fuzzableRequest)
Nothing strange, just do some GET requests to the first URL with an invented parameter and the custom payloads that are supposed to be filtered, and analyze the response.
 
_send_requests(self, fuzzableRequest)
Actually send the requests that might be blocked.
 
_analyze_results(self, filtered, not_filtered)
Analyze the test results and save the conclusion to the kb.
 
_get_offending_strings(self)
Returns: A list of strings that will be filtered by most IPS devices.
 
getOptions(self)
Returns: A list of option objects for this plugin.
 
setOptions(self, optionsMap)
This method sets all the options that are configured using the user interface generated by the framework using the result of getOptions().
 
getPluginDeps(self)
Returns: A list with the names of the plugins that should be runned before the current one.
 
getLongDesc(self)
Returns: A DETAILED description of the plugin functions and features.

Inherited from core.controllers.basePlugin.baseDiscoveryPlugin.baseDiscoveryPlugin: discover_wrapper, getType

Inherited from core.controllers.basePlugin.basePlugin.basePlugin: __eq__, end, getDesc, getName, printUniq, setUrlOpener

Method Details [hide private]

__init__(self)
(Constructor)

 
Overrides: core.controllers.basePlugin.baseDiscoveryPlugin.baseDiscoveryPlugin.__init__

discover(self, fuzzableRequest)

 
Nothing strange, just do some GET requests to the first URL with an invented parameter and the custom payloads that are supposed to be filtered, and analyze the response.
Parameters:
  • fuzzableRequest - A fuzzableRequest instance that contains (among other things) the URL to test.
Returns:
A list :
  1. New Url's found by plugin, could be empty when method ends.
Overrides: core.controllers.basePlugin.baseDiscoveryPlugin.baseDiscoveryPlugin.discover

_send_requests(self, fuzzableRequest)

 
Actually send the requests that might be blocked.
Parameters:
  • fuzzableRequest - The fuzzableRequest to modify in order to see if it's blocked

_get_offending_strings(self)

 
Returns:
A list of strings that will be filtered by most IPS devices.

getOptions(self)

 

This method returns an optionList containing the options objects that the configurable object has. Using this option list the framework will build a window, a menu, or some other input method to retrieve the info from the user.

This method MUST be implemented on every plugin.
Returns:
A list of option objects for this plugin.
Overrides: core.controllers.basePlugin.basePlugin.basePlugin.getOptions

setOptions(self, optionsMap)

 
This method sets all the options that are configured using the user interface generated by the framework using the result of getOptions().
Parameters:
  • optionsMap - A dictionary with the options for the plugin.
Returns:
No value is returned.
Overrides: core.controllers.basePlugin.basePlugin.basePlugin.setOptions

getPluginDeps(self)

 
Returns:
A list with the names of the plugins that should be runned before the current one.
Overrides: core.controllers.basePlugin.basePlugin.basePlugin.getPluginDeps

getLongDesc(self)

 
Returns:
A DETAILED description of the plugin functions and features.
Overrides: core.controllers.basePlugin.basePlugin.basePlugin.getLongDesc