core :: controllers :: w3afCore :: w3afCore :: Class w3afCore
[hide private]
[frames] | no frames]

Class w3afCore



This is the core of the framework, it calls all plugins, handles exceptions, coordinates all the work, creates threads, etc.


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

Instance Methods [hide private]
  __init__(self)
  resumeSession(self, sessionName)
Resumes a session object.
  saveSession(self, sessionName)
Creates a session object, to make it ready to write data to it.
  _rPlugFactory(self, strReqPlugins, PluginType)
This method creates the requested modules list.
  _initPlugins(self)
  _createURLList(self)
Creates an URL list in the kb
  _discoverAndBF(self)
Discovery and bruteforce phases are related, so I have joined them here in this method.
  _reconfigureUrllib(self)
Configure the main urllib with the newly found credentials.
  start(self)
Starts the work.
  end(self)
This method is called when the process ends.
  _discover(self, toWalk)
  _discoverWorker(self, toWalk)
  _audit(self)
  _bruteforce(self, fuzzableRequestList)
  setPluginOptions(self, pluginName, pluginType, PluginsOptions)
  getPlugins(self, pluginType)
  setPlugins(self, pluginNames, pluginType)
This method sets the plugins that w3afCore is going to use.
  getPluginTypes(self)
  _setBruteforcePlugins(self, bruteforcePlugins)
  _setManglePlugins(self, manglePlugins)
  _setOutputPlugins(self, outputPlugins)
  _setDiscoveryPlugins(self, discoveryPlugins)
  _setAuditPlugins(self, AuditPlugins)
  _setGrepPlugins(self, GrepPlugins)
  _setEvasionPlugins(self, EvasionPlugins)
  _checkParameters(self)
Checks if all parameters where configured correctly by the above layer (w3af.py)
  getPluginList(self, PluginType)
  getPluginInstance(self, pluginName, pluginType)
  getVersion(self)

Method Details [hide private]

__init__(self)
(Constructor)

 
None

resumeSession(self, sessionName)

 
Resumes a session object.
Parameters:
  • sessionName - The name of the session
Returns:
None

saveSession(self, sessionName)

 
Creates a session object, to make it ready to write data to it.
Parameters:
  • sessionName - The name of the session
Returns:
None

_rPlugFactory(self, strReqPlugins, PluginType)

 
This method creates the requested modules list.
Parameters:
  • strReqPlugins - A string list with the requested plugins to be executed.
  • PluginType - [audit|discovery|grep]
Returns:
A list with plugins to be executed, this list is ordered using the exec priority.

_initPlugins(self)

 
None

_createURLList(self)

 
Creates an URL list in the kb

_discoverAndBF(self)

 
Discovery and bruteforce phases are related, so I have joined them here in this method.

_reconfigureUrllib(self)

 
Configure the main urllib with the newly found credentials.

start(self)

 
Starts the work.
Returns:
No value is returned.

end(self)

 
This method is called when the process ends.

_discover(self, toWalk)

 
None

_discoverWorker(self, toWalk)

 
None

_audit(self)

 
None

_bruteforce(self, fuzzableRequestList)

 
Parameters:
  • fuzzableRequestList - A list of fr's to be analyzed by the bruteforce plugins
Returns:
A list of the URL's that have been successfully bruteforced

setPluginOptions(self, pluginName, pluginType, PluginsOptions)

 
Parameters:
  • PluginsOptions - A tuple with a string and a dictionary with the options for a plugin. For example: { googlespider_plugin:'LICENSE_KEY':'AAAA' }
Returns:
No value is returned.

getPlugins(self, pluginType)

 
None

setPlugins(self, pluginNames, pluginType)

 
This method sets the plugins that w3afCore is going to use. Before this plugin existed w3afCore used setDiscoveryPlugins() / setAuditPlugins() / etc , this wasnt really extensible and was replaced with a combination of setPlugins and getPluginTypes. This way the user interface isnt bound to changes in the plugin types that are added or removed.
Parameters:
  • pluginNames - A list with the names of the Plugins that will be runned.
  • pluginType - The type of the plugin.
Returns:
None

getPluginTypes(self)

 
Returns:
A list with all plugin types.

_setBruteforcePlugins(self, bruteforcePlugins)

 
Parameters:
  • manglePlugins - A list with the names of output Plugins that will be runned.
Returns:
No value is returned.

_setManglePlugins(self, manglePlugins)

 
Parameters:
  • manglePlugins - A list with the names of output Plugins that will be runned.
Returns:
No value is returned.

_setOutputPlugins(self, outputPlugins)

 
Parameters:
  • outputPlugins - A list with the names of output Plugins that will be runned.
Returns:
No value is returned.

_setDiscoveryPlugins(self, discoveryPlugins)

 
Parameters:
  • discoveryPlugins - A list with the names of Discovery Plugins that will be runned.
Returns:
No value is returned.

_setAuditPlugins(self, AuditPlugins)

 
Parameters:
  • AuditPlugins - A list with the names of Audit Plugins that will be runned.
Returns:
No value is returned.

_setGrepPlugins(self, GrepPlugins)

 
Parameters:
  • GrepPlugins - A list with the names of Grep Plugins that will be used.
Returns:
No value is returned.

_setEvasionPlugins(self, EvasionPlugins)

 
Parameters:
  • EvasionPlugins - A list with the names of Evasion Plugins that will be used.
Returns:
No value is returned.

_checkParameters(self)

 
Checks if all parameters where configured correctly by the above layer (w3af.py)

getPluginList(self, PluginType)

 
Returns:
A string list of the names of all available plugins by type.

getPluginInstance(self, pluginName, pluginType)

 
Returns:
An instance of a plugin.

getVersion(self)

 
None