<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to README</title><link>https://sourceforge.net/p/w3afremote/wiki/README/</link><description>Recent changes to README</description><atom:link href="https://sourceforge.net/p/w3afremote/wiki/README/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 12 Feb 2013 20:28:55 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/w3afremote/wiki/README/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage README modified by Adastra</title><link>https://sourceforge.net/p/w3afremote/wiki/README/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;SPECIFICATIONS W3AF-REMOTE&lt;/p&gt;
&lt;p&gt;INTRO&lt;/p&gt;
&lt;p&gt;This software allows to the remote users to connect and execute common functions included in W3AF. To do that, this software uses the XML-RPC python library included in the standard installation of this language.&lt;br /&gt;
Any client (written in any programming language) could invoke the functions defined in the server and parse the responses in XML format. The client just needs to know the XSD schema used by the server to spawn the responses. Programming languages like Java, Perl, Python, among others, have libraries to parse XML files, the client needs to use one of them to parse the XML file returned by the server and then use the data for any porpouse.&lt;/p&gt;
&lt;p&gt;XML-RPC SERVER&lt;br /&gt;
W3AFRemote runs over W3AF and works like a "proxy", receive requests that are redirected to the W3AF core functions and spawns a XML file with the information returned by W3AF. &lt;br /&gt;
The server must be started in the same machine where the W3AF instance is installed and need to know the path where the software is installed.&lt;/p&gt;
&lt;h2 id="steps-to-install-and-start-the-w3afremote-server"&gt;Steps to install and start the W3AFRemote server.&lt;/h2&gt;
&lt;p&gt;1- Install W3AF, let's call the installation directory %W3AF_HOME%.&lt;/p&gt;
&lt;p&gt;2- In %W3AF_HOME% directory, perform an "svn checkout" from the SVN repository of the project&lt;/p&gt;
&lt;p&gt;cd %W3AF_HOME%&lt;br /&gt;
svn checkout &lt;a href="https://svn.code.sf.net/p/w3afremote/code/trunk"&gt;https://svn.code.sf.net/p/w3afremote/code/trunk&lt;/a&gt; w3afRemote&lt;/p&gt;
&lt;p&gt;3- Browse to the %W3AF_HOME%/w3afRemote directory and run the server to see the help banner&lt;/p&gt;
&lt;p&gt;python w3af_remote.py --help&lt;/p&gt;
&lt;p&gt;4- Use the options needed to start the the server. The default settings are:&lt;/p&gt;
&lt;p&gt;Interface: 127.0.0.1&lt;br /&gt;
Port: 8000&lt;br /&gt;
User: w3af&lt;br /&gt;
Password: w3af&lt;/p&gt;
&lt;p&gt;You can use the --debug option to see the values used to start the XML-RPC service.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;XML-RPC CLIENT (BUNDLED FOR DEMOSTRATION)&lt;br /&gt;
When you get a copy from the SVN repository, you'll get a copy of the XML-RPC server and a client to test the functionalities of the XML-RPC server. With this client you can query the server and get an XML file for every request. The client included in the SVN repository is written in Python, however, as I've said before, you can use any programming language to query the server and there's an active development using this library called DENRIT (&lt;a href="https://sourceforge.net/projects/denrit/"&gt;https://sourceforge.net/projects/denrit/&lt;/a&gt;) which uses W3AFRemote from a Java client, you can checkout the project to see the features included.&lt;br /&gt;
To use the client bundled:&lt;/p&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;As I've explained before, perform a checkout of the project inside the W3AF Home directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start the client:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;python testerClient.py&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Enter the settings to connect with the XML-RPC service.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="python-testerclientpy"&gt;python testerClient.py&lt;/h1&gt;
&lt;p&gt;W3AF Host: 0.0.0.0&lt;br /&gt;
W3AF Port: 8000&lt;br /&gt;
W3AF User: w3af&lt;br /&gt;
W3AF Password: w3af&lt;br /&gt;
Absolute path of the file to save the response (Every request will be stored in a file using this name and a sequencial number): /root/results.xml&lt;br /&gt;
Token Used: pXHKlXWrQApOMat1NR6o0HoeP47GnPpDLnKzXNsCm7xNja3bJpRM1Zz0pA1SdthA&lt;br /&gt;
Test Options: &lt;br /&gt;
 (0) Logout &lt;br /&gt;
 (1) List Plugins &lt;br /&gt;
 (2) List Plugin Types &lt;br /&gt;
 (3) List Plugins By Type &lt;br /&gt;
 (4) Enable Plugin &lt;br /&gt;
 (5) Disable Plugin &lt;br /&gt;
 (6) Enable All Plugins &lt;br /&gt;
 (7) Disable All Plugins &lt;br /&gt;
 (8) Configure Plugin &lt;br /&gt;
 (9) List Plugins Enabled &lt;br /&gt;
 (10) List Plugins Disabled &lt;br /&gt;
 (11) Search a profile &lt;br /&gt;
 (12) List Profiles &lt;br /&gt;
 (13) Use Profile &lt;br /&gt;
 (14) Create Profile &lt;br /&gt;
 (15) Modify Profile &lt;br /&gt;
 (16) Remove Profile &lt;br /&gt;
 (17) List Vulnerabilities &lt;br /&gt;
 (18) Info. Vulnerabilities &lt;br /&gt;
 (19) Exploit Vulnerability &lt;br /&gt;
 (20) List Shells &lt;br /&gt;
 (21) Execute command in shell &lt;br /&gt;
 (22) List Misc Settings &lt;br /&gt;
 (23) Change Misc Settings &lt;br /&gt;
 (99) Exit &lt;br /&gt;
Select a number&lt;/p&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li&gt;Select any option and check the XML file generated. To exit, just enter 99&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;FOR DEVELOPERS...&lt;/p&gt;
&lt;p&gt;Well, you can check the source code of the test client included with the project to see the functions called to the server, however the following are the XML-RPC functions that can be invoked from any client (in any programming language)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;FUNCTION NAME: authenticate&lt;br /&gt;
PARAMETERS: 1. UserName 2. Password&lt;br /&gt;
DESCRIPTION: Used to authenticate the user and generate a token that can be used to invoke other functions in the server.&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: logout&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: Destroy the current authentication token used for the users&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: attack_start&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: Start the attack with the plugins enabled and settings specified&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: attack_target&lt;br /&gt;
PARAMETERS: 1. The Target&lt;br /&gt;
DESCRIPTION: Set the target of the attack&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_list&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List all plugins in W3AF&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_listByType&lt;br /&gt;
PARAMETERS: 1. Plugin Type&lt;br /&gt;
DESCRIPTION: List all plugins by type&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_listPluginTypes&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the plugin types available in W3AF&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_enable&lt;br /&gt;
PARAMETERS: 1. Plugin Type 2. Plugin Name&lt;br /&gt;
DESCRIPTION: Enable the specified plugin&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_disable&lt;br /&gt;
PARAMETERS: 1. Plugin Type 2. Plugin Name&lt;br /&gt;
DESCRIPTION: Disable the specified plugin&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_enableAll&lt;br /&gt;
PARAMETERS: 1. Plugin Type&lt;br /&gt;
DESCRIPTION: Enable all the plugins by type&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_disableAll&lt;br /&gt;
PARAMETERS: 1. Plugin Type&lt;br /&gt;
DESCRIPTION: Disable all the plugins by type&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_configure&lt;br /&gt;
PARAMETERS: 1. Plugin Type 2. Plugin Name 3. Setting Name 4. Setting value&lt;br /&gt;
DESCRIPTION: Configure the specified setting in the specified plugin&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_listEnabled&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the plugins currently enabled.&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: plugins_listDisabled&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the plugins currently disabled.&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: profiles_search&lt;br /&gt;
PARAMETERS: 1. Profile Name&lt;br /&gt;
DESCRIPTION: Search a profile by name&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: profiles_list&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the profiles available in the framework&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: profiles_use&lt;br /&gt;
PARAMETERS: 1. Profile Name&lt;br /&gt;
DESCRIPTION: Use the profile specified&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: profiles_create&lt;br /&gt;
PARAMETERS: 1. Profile Name 2. Profile Description&lt;br /&gt;
DESCRIPTION: Create a new profile with the name and description specified. The plugins for this profile will the plugins enabled in the time when the profile is created&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: profiles_modify&lt;br /&gt;
PARAMETERS: 1. Profile Name&lt;br /&gt;
DESCRIPTION: Modify the profile specified. The new plugins (this is the modification) for this profile will the plugins enabled in the time when the profile is created&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: profiles_remove&lt;br /&gt;
PARAMETERS: 1. Profile Name&lt;br /&gt;
DESCRIPTION: Remove the profile specified.&lt;/p&gt;
&lt;p&gt;FINALLY....&lt;/p&gt;
&lt;p&gt;If you found bugs or anything that could help to improve this software, please, contact me in the email address:&lt;/p&gt;
&lt;p&gt;debiadastra at gmail dot com&lt;/p&gt;
&lt;p&gt;Thank you :3&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: vulns_list&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the vulnerabilities found after the attack (this function check the Knowledge Base of W3AF).&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: vulns_info&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the information vulnerabilities found after the attack (this function check the Knowledge Base of W3AF).&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: vulns_exploit&lt;br /&gt;
PARAMETERS: 1. Plugin used to exploit 2. Vulnerability Id&lt;br /&gt;
DESCRIPTION: Exploit the vulnerability specified (by identifier) with the plugin specified.&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: shell_list&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the shells spawned after exploit an vulnerability&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: shell_executecmd&lt;br /&gt;
PARAMETERS: 1. Shell Id 2. Shell Command&lt;br /&gt;
DESCRIPTION: Allows execute the specified command in the specified shell identifier.&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: miscSettings_list&lt;br /&gt;
PARAMETERS: None&lt;br /&gt;
DESCRIPTION: List the Misc. Settings available in W3AF.&lt;/p&gt;
&lt;p&gt;FUNCTION NAME: miscSettings_configure&lt;br /&gt;
PARAMETERS: 1. Misc. Setting Name 2. Misc. Setting Value&lt;br /&gt;
DESCRIPTION: Allows change the value for a Misc. Setting&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adastra</dc:creator><pubDate>Tue, 12 Feb 2013 20:28:55 -0000</pubDate><guid>https://sourceforge.netd2d9ae79e9071c18d94e3c02d1a8a7bd80735b29</guid></item></channel></rss>