Projects/OWASP Bywaf Project
ByWaf is a command-line tool for streamlining web application firewall auditing. It consists of a command-line interpreter and a set of plugins.
Develop an application that streamlines the auditor's job when making a Pen Test. It's main fuction is to detect, evade and display vulnerabilities. The tool works using coding methods developed by our teammembers throughout their experience.
The Bywaf application is built on Python's built-in cmd.Cmd class. Cmd is a lightweight command interpreter loop that provides several useful facilities for the developer, including overridable hook methods and easy addition of commands and help. For the user, it offers commandline editing with readline, including automatic tab completion of commands, command options and filenames.
Bywaf contains a sub-classed version of Cmd called Wafterpreter, which adds some important additions, including:
- Loading and selecting plugins - Getting and setting global and per-plugin options - Additional methods exposing functionality to the plugins - Backgrounding jobs, ending running jobs and querying job status - Loading scripts from the the command-line or within the interpreter - Loading, saving, showing and clearing the command history
Wafterpreter employs a simple plugin system consisting of python modules containing commands exposed to the user (functions starting with "do_") and a dictionary of user-modifiable options ("options").
A number of Wafterpreter methods have been exposed to plugins, allowing them to change the interpreter's behavior and access other modules' options.
For notifications of changes in plugin options, Bywaf supports callback functions. The Wafterpreter will call a function for a given plugin option if it begins with "set_"; for example, for an option like "FILENAME", the Wafterpreter will search for and call a set_FILENAME(), if it exists. The Wafterpreter will also search for and call "set_default()", if it exists, for any option that does not have a specific setter function. Failing these attempts, Wafterpreter will perform a direct assignment on the plugin's option.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or Rafael Gil any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
What is ByWaf?
Project leader's name:
Development leader's name:
News and Events
ByWaf is developed by a worldwide team of volunteers. The primary contributors to date have been:
Development team members:
- Adar Grof
- Chris Luciano
Tesnting team members:
- Luis Brauer
- Adan Bazan
As of ByWaf, the priorities are:
- Base plugins
- Extra plugins
Involvement in the development and promotion of ByWaf is actively encouraged! You do not have to be a security expert in order to contribute. Some of the ways you can help:
| PROJECT INFO
What does this OWASP project offer you?
| RELEASE(S) INFO|
What releases are available for this project?