.TH WAPITI "1" "July 2007" "http://wapiti.sourceforge.net/" "User Commands" .SH NAME wapiti \- a web application vulnerability scanner. .SH SYNOPSIS .B wapiti \fIhttp://server.com/base/url/ \fR[\fIoptions\fR] .SH DESCRIPTION Wapiti allows you to audit the security of your web applications. .br It performs "black-box" scans, i.e. it does not study the source code of the application but will scans the webpages of the deployed webapp, looking for scripts and forms where it can inject data. Once it gets this list, Wapiti acts like a fuzzer, injecting payloads to see if a script is vulnerable. .SH OPTIONS .PP \fB\-s\fR, \fB\-\-start\fR .br specify an url to start with. .PP \fB\-x\fR, \fB\-\-exclude\fR .br exclude an url from the scan (for example logout scripts) you can also use a wildcard (*): .br Example : \fB\-x\fR "http://server/base/?page=*&module=test" or \fB\-x\fR "http://server/base/admin/*" to exclude a directory .PP \fB\-p\fR, \fB\-\-proxy\fR .br specify a proxy (\fB\-p\fR http://proxy:port/) .PP \fB\-c\fR, \fB\-\-cookie\fR .br use a cookie .PP \fB\-t\fR, \fB\-\-timeout\fR .br set the timeout (in seconds) .PP \fB\-a\fR, \fB\-\-auth\fR .br set credentials (for HTTP authentication) doesn't work with Python 2.4 .PP \fB\-r\fR, \fB\-\-remove\fR .br removes a parameter from URLs .PP \fB\-m\fR, \fB\-\-module\fR .br use a predefined set of scan/attack options: .br GET_ALL: only use GET request (no POST) .br GET_XSS: only XSS attacks with HTTP GET method .br POST_XSS: only XSS attacks with HTTP POST method .PP \fB\-u\fR, \fB\-\-underline\fR .br use color to highlight vulnerable parameters in output .PP \fB\-v\fR, \fB\-\-verbose\fR .br set the verbosity level: .br 0: quiet (default), .br 1: print each url, .br 2: print every attack .PP \fB\-h\fR, \fB\-\-help\fR .br print help page .SH EFFICIENCY Wapiti is developed in Python and use a library called lswww. This web spider library does the most of the work. Unfortunately, the html parsers module within python only works with well formed html pages so lswww fails to extract information from bad-coded webpages. Tidy can clean these webpages on the fly for us so lswww will give pretty good results. In order to make Wapiti far more efficient, you should: .PP apt-get install python-utidylib python-ctypes .SH AUTHOR .PP Copyright (C) 2006-2007 Nicolas Surribas .PP Manpage created by Thomas Bl\[:a]sing