wapiti-scanner / wapiti

Web vulnerability scanner written in Python3
https://github.com/wapiti-scanner/wapiti
GNU General Public License v2.0
1.15k stars 176 forks source link

================================== Wapiti - Web Vulnerability Scanner

.. image:: https://img.shields.io/pypi/v/wapiti3?label=PyPI&logo=PyPI&logoColor=white&color=blue :alt: PyPI version :target: https://pypi.python.org/pypi/wapiti3 .. image:: https://img.shields.io/pypi/pyversions/wapiti3 :alt: Supported Python versions :target: https://github.com/wapiti-scanner/wapiti/blob/master/INSTALL.md .. image:: https://img.shields.io/github/license/wapiti-scanner/wapiti :alt: License: GPL-2.0 :target: https://github.com/wapiti-scanner/wapiti/blob/master/LICENSE .. image:: https://img.shields.io/pypi/dd/wapiti3 :alt: Downloads per day on PyPi :target: https://pypi.python.org/pypi/wapiti3 .. image:: https://codecov.io/gh/wapiti-scanner/wapiti/branch/master/graph/badge.svg?token=GFEIORAFB8 :target: https://codecov.io/gh/wapiti-scanner/wapiti

Wapiti is a web vulnerability scanner written in Python.

http://wapiti-scanner.github.io/

Requirements

In order to work correctly, Wapiti needs Python 3.10 or 3.11

All Python module dependencies will be installed automatically if you use the setup.py script or pip install wapiti3

See INSTALL.md <https://github.com/wapiti-scanner/wapiti/blob/master/INSTALL.md>__ for more details on installation.

Running Wapiti on Windows can be accomplished through the use of WSL <https://learn.microsoft.com/en-us/training/modules/get-started-with-windows-subsystem-for-linux/>__.

How it works

Wapiti works as a "black-box" vulnerability scanner, that means it won't study the source code of web applications but will work like a fuzzer, scanning the pages of the deployed web application, extracting links and forms and attacking the scripts, sending payloads and looking for error messages, special strings or abnormal behaviors.

General features

Browsing features

Supported attacks

Wapiti supports both GET and POST HTTP methods for attacks.
It also supports multipart and can inject payloads in filenames (upload).
Display a warning when an anomaly is found (for example 500 errors and timeouts)
Makes the difference between permanent and reflected XSS vulnerabilities.

Module names

The aforementioned attacks are tied to the following module names :

Module names can be given as comma separated list using the "-m" or "--module" option.

How to get the best results

To find more vulnerabilities (as some attacks are error-based), you can modify your webserver configurations.

For example, you can set the following values in your PHP configuration :

.. code-block::

safe_mode = Off
display_errors = On (recommended)
magic_quotes_gpc = Off
allow_url_fopen = On
mysql.trace_mode = On

Where to get help

In the prompt, just type the following command to get the basic usage :

wapiti -h

You can also take a look at the manpage (wapiti.1 or wapiti.1.html) for more details on each option.

If you have another question, first check the FAQ <https://github.com/wapiti-scanner/wapiti/blob/master/doc/FAQ.md>__

If you find a bug, fill an issue : https://github.com/wapiti-scanner/wapiti/issues

The official wiki can be helpful too :
https://sourceforge.net/p/wapiti/wiki/browse_pages/

How to help the Wapiti project

You can :

Licensing

Wapiti is released under the GNU General Public License version 2 (the GPL). Source code is available on Github <https://github.com/wapiti-scanner/wapiti>__.

Created by Nicolas SURRIBAS.

Sponsors

Cyberwatch https://cyberwatch.fr/

Security For Everyone https://securityforeveryone.com/

Disclaimer

Wapiti is a cybersecurity software. It performs security assessments on a provided target, which can lead to malfunctions and crashes on the target, as well as potential data loss.

Usage of Wapiti for attacking a target without prior consent of its owner is illegal. It is the end user's responsibility to obey all applicable local laws.

Developers and people involved in the Wapiti project assume no liability and are not responsible for any misuse or damage caused by this program.