This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit

Projects/OWASP Bywaf Project

Jump to: navigation, search
OWASP Project Header.jpg


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 <>.



Mail: [email protected]

skype: depasonic0

What is ByWaf?

ByWaf provides:

  • Pentesting tool
  • Auditing tool
  • so on


On going...

Project Leader

Project leader's name:

  • Rafael Gil

Development leader's name:

  • Roey Katz

Quick Download

News and Events

  • [15 Nov 2013] Beta release


Owasp-incubator-trans-85.png Owasp-builders-small.png
Project Type Files TOOL.jpg

On going...


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:

  • Wafterpreter
  • 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:

  • Development
  • Researching
  • Promoting

What does this OWASP project offer you?
What releases are available for this project?
what is this project?
Name: N/A
Purpose: Desarrollar una aplicación que agiliza el trabajo de un auditor a la hora de hacer un PenTest, su principal función es la de "detectar, evadir y dar un resultado (vulnerabilidad)" utilizando métodos conocidos de inyección de códigos y otros desarrollados por los integrantes a lo largo de su trayectoria profesional.

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.

License: GNU GPL v3 License (allows commercial use, but requires that modifications to your code stay open source, thus prohibiting proprietary forks of your project)
who is working on this project?
Project Leader(s):
  • Rafael Gil @
how can you learn more?
Project Pamphlet: Not Yet Created
Project Presentation:
Mailing list: Mailing List Archives
Project Roadmap: View
Key Contacts
  • Contact Rafael Gil @ to contribute to this project
  • Contact Rafael Gil @ to review or sponsor this project
current release
last reviewed release

other releases