Wapiti-The web-application vulnerability scanner

The web-application vulnerability scanner

Wapiti allows you to audit the security of your websites or web applications.

It performs “black-box” scans (it does not study the source code) of the web application by crawling the webpages of the deployed webapp, looking for scripts and forms where it can inject data.

Once it gets the list of URLs, forms and their inputs, Wapiti acts like a fuzzer, injecting payloads to see if a script is vulnerable.

What’s new in Wapiti 3.0.3 ? Take a look here.

Wapiti can detect the following vulnerabilities :

  • File disclosure (Local and remote include/require, fopen, readfile…)
  • Database Injection (PHP/JSP/ASP SQL Injections and XPath Injections)
  • XSS (Cross Site Scripting) injection (reflected and permanent)
  • Command Execution detection (eval(), system(), passtru()…)
  • CRLF Injection (HTTP Response Splitting, session fixation…)
  • XXE (XML External Entity) injection
  • SSRF (Server Side Request Forgery)
  • Use of know potentially dangerous files (thanks to the Nikto database)
  • Weak .htaccess configurations that can be bypassed
  • Presence of backup files giving sensitive information (source code disclosure)
  • Shellshock (aka Bash bug)
  • Open Redirects
  • Uncommon HTTP methods that can be allowed (PUT)

A buster module also allows to brute force directories and files names on the target webserver.

Wapiti supports both GET and POST HTTP methods for attacks.
It also supports multipart forms and can inject payloads in filenames (upload).
Warnings are raised when an anomaly is found (for example 500 errors and timeouts)
Wapiti is able to make the difference beetween permanent and reflected XSS vulnerabilities.

General features :

  • Generates vulnerability reports in various formats (HTML, XML, JSON, TXT…)
  • Can suspend and resume a scan or an attack (session mechanism using sqlite3 databases)
  • Can give you colors in the terminal to highlight vulnerabilities
  • Different levels of verbosity
  • Fast and easy way to activate/deactivate attack modules
  • Adding a payload can be as easy as adding a line to a text file

Browsing features

  • Support HTTP, HTTPS and SOCKS5 proxies
  • Authentication via several methods : Basic, Digest, Kerberos or NTLM
  • Ability to restrain the scope of the scan (domain, folder, page, url)
  • Automatic removal of one are more parameters in URLs
  • Multiple safeguards against scan endless-loops (ifor example, limit of values for a parameter)
  • Possibility to set the first URLs to explore (even if not in scope)
  • Can exclude some URLs of the scan and attacks (eg: logout URL)
  • Import of cookies (get them with the wapiti-getcookie tool)
  • Can activate / deactivate SSL certificates verification
  • Extract URLs from Flash SWF files
  • Try to extract URLs from javascript (very basic JS interpreter)
  • HTML5 aware (understand recent HTML tags)
  • Several options to control the crawler behavior and limits.
  • Skipping some parameter names during attack.
  • Setting a maximum time for the scan process.
  • Adding some custom HTTP headers or setting a custom User-Agent.


>> Download Wapiti here <<


 ██╗    ██╗ █████╗ ██████╗ ██╗████████╗██╗██████╗
 ██║    ██║██╔══██╗██╔══██╗██║╚══██╔══╝██║╚════██╗
 ██║ █╗ ██║███████║██████╔╝██║   ██║   ██║ █████╔╝
 ██║███╗██║██╔══██║██╔═══╝ ██║   ██║   ██║ ╚═══██╗
 ╚███╔███╔╝██║  ██║██║     ██║   ██║   ██║██████╔╝
  ╚══╝╚══╝ ╚═╝  ╚═╝╚═╝     ╚═╝   ╚═╝   ╚═╝╚═════╝
Wapiti-3.0.3 (wapiti.sourceforge.net)
usage: wapiti [-h] [-u URL] [--scope {page,folder,domain,url,punk}]
              [-m MODULES_LIST] [--list-modules] [-l LEVEL] [-p PROXY_URL]
              [--tor] [-a CREDENTIALS]
              [--auth-type {basic,digest,kerberos,ntlm}] [-c COOKIE_FILE]
              [--skip-crawl] [--resume-crawl] [--flush-attacks]
              [--flush-session] [--store-session PATH] [-s URL] [-x URL]
              [-r PARAMETER] [--skip PARAMETER] [-d DEPTH]
              [--max-links-per-page MAX] [--max-files-per-dir MAX]
              [--max-scan-time MINUTES] [--max-parameters MAX] [-S FORCE]
              [-t SECONDS] [-H HEADER] [-A AGENT] [--verify-ssl {0,1}]
              [--color] [-v LEVEL] [-f FORMAT] [-o OUPUT_PATH]
              [--external-endpoint EXTERNAL_ENDPOINT_URL]
              [--internal-endpoint INTERNAL_ENDPOINT_URL]
              [--endpoint ENDPOINT_URL] [--no-bugreport] [--version]
wapiti: error: one of the arguments -u/--url --list-modules is required

Shortest way (with default options) to launch a Wapiti scan :

wapiti -u http://target/

Every option is detailed in the wapiti(1) manpage.

Wapiti also comes with an utility to fetch cookies from websites called wapiti-getcookie. The corresponding manpage is here.

Arachni is licensed under the Arachni Public Source License v1.0, requiring a non-free license for cases of commercialization. Please review the license before downloading.
Current version: v1.5.1-0.5.12
Changelogs: Framework – WebUI


You can download self-contained packages for Linux for the following architectures:

Attention: The packages need GLIBC >= 2.12, if you get a GLIBC error please update your system.


Mac OS X

Mac OS X users can download the self-contained Mac OS X x86 64bit (SHA512) package.

Attention: If you get a segmentation fault please make sure that you’re using OS X >= 10.9

Recommended system requirements

  • Operating systems: Linux (32bit or 64bit), Mac OS X (64bit), Windows (64bit)
  • RAM: 2GB of available memory.
  • Storage: 10GB of available disk space.
  • Optional: PostgreSQL server for the WebUI — by default SQLite3 is used (included in the packages).
    • PostgreSQL is preferred when dealing with larger workloads, for configuration instructions please see the WebUI Wiki.

Prior to running scans, it is recommended that you consult the scan optimization guide, as there are several options you can use to significantly increase performance and/or limit resource utilization.

If you are operating under a resource constrained environment, experimenting with the aforementioned options could allow you to reliably run Arachni under those conditions.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.