Wapiti est un script python, un fuzzer permettant donc d'effectuer des "tests" en scannant des pages web sans forcément avoir besoin du code source. On parle donc ici d'audit en "boîtes noires" ou en aveugle.
Après avoir effectué le scan, il va essayer d'injecter (dans vos scripts, formulaires, etc.) des données afin de voir si l'un d'eux est vulnérable
Wapiti permet de détecter les vulnérabilités suivantes :
- Gestions d'erreurs sur les fichiers (Local et Remote include, fopen, readfile, etc.) ;
- Injections diverses dans BDD (PHP/JSP/ASP/SQL et XPath) ;
- XSS (Cross Site Scripting) ;
- Injection LDAP ;
- Détection d'exécution de commandes (eval(), system(), passtru(), etc.) ;
- Injection CRLF (réponse HTTP splitée, la détermination de session, etc.).
Wapiti est en mesure de différencier les différentes formes de failles de type XSS (permanent ou non).
Une alerte est également émise lorsque il trouve une erreur HTTP 500 (utile pour les ASP/IIS).
Son principal atout face à la concurrence est surtout le fait qu'il ne se base pas sur une BDD mais vise à découvrir des vulnérabilités inconnues dans les applications Web.
Téléchargement du tool :
http://sourceforge.net/projects/wapi...0.zip/download
Exemple d'utilisation basique :
# wapiti.py www.site-cible.com
Voici son man :
Wapiti-2.2.1 - A web application vulnerability scanner
Usage: python wapiti.py http://server.com/base/url/ [options]
Supported options are:
-s <url>
--start <url>
To specify an url to start with
-x <url>
--exclude <url>
To exclude an url from the scan (for example logout scripts)
You can also use a wildcard (*)
Example : -x http://server/base/?page=*&module=test
or -x http://server/base/admin/* to exclude a directory
-p <url_proxy>
--proxy <url_proxy>
To specify a proxy
Example: -p http://proxyort/
-c <cookie_file>
--cookie <cookie_file>
To use a cookie
-t <timeout>
--timeout <timeout>
To fix the timeout (in seconds)
-a <login%password>
--auth <login%password>
Set credentials for HTTP authentication
Doesn't work with Python 2.4
-r <parameter_name>
--remove <parameter_name>
Remove a parameter from URLs
-n <limit>
--nice <limit>
Define a limit of urls to read with the same pattern
Use this option to prevent endless loops
Must be greater than 0
-m <module_options>
--module <module_options>
Set the modules and HTTP methods to use for attacks.
Example: -m "-all,xss:get,execost"
-u
--underline
Use color to highlight vulnerables parameters in output
-v <level>
--verbose <level>
Set the verbosity level
0: quiet (default), 1: print each url, 2: print every attack
-b <scope>
--scope <scope>
Set the scope of the scan:
+ "page": to analyse only the page passed in the URL
+ "folder":to analyse all the links to the pages which are in the same folder as the URL passed to Wapiti.
+ "domain":to analyse all the links to the pages which are in the same domain as the URL passed to Wapiti.
If no scope is set, Wapiti scans all the tree under the given URL.
-f <type_file>
--reportType <type_file>
Set the type of the report
xml: Report in XML format
html: Report in HTML format
txt: Report in plain text
-o <output>
--output <output_file>
Set the name of the report file
If the selected report type is 'html', this parameter must be a directory
-i <file>
--continue <file>
This parameter indicates Wapiti to continue with the scan from the specified file, this file should contain data from a previous scan.
The file is optional, if it is not specified, Wapiti takes the default file from the "scans" folder.
-k <file>
--attack <file>
This parameter indicates Wapiti to perform attacks without scanning again the website and following the data of this file.
The file is optional, if it is not specified, Wapiti takes the default file from the "scans" folder.
-h
--help
To print this usage message
Après avoir effectué le scan, il va essayer d'injecter (dans vos scripts, formulaires, etc.) des données afin de voir si l'un d'eux est vulnérable
Wapiti permet de détecter les vulnérabilités suivantes :
- Gestions d'erreurs sur les fichiers (Local et Remote include, fopen, readfile, etc.) ;
- Injections diverses dans BDD (PHP/JSP/ASP/SQL et XPath) ;
- XSS (Cross Site Scripting) ;
- Injection LDAP ;
- Détection d'exécution de commandes (eval(), system(), passtru(), etc.) ;
- Injection CRLF (réponse HTTP splitée, la détermination de session, etc.).
Wapiti est en mesure de différencier les différentes formes de failles de type XSS (permanent ou non).
Une alerte est également émise lorsque il trouve une erreur HTTP 500 (utile pour les ASP/IIS).
Son principal atout face à la concurrence est surtout le fait qu'il ne se base pas sur une BDD mais vise à découvrir des vulnérabilités inconnues dans les applications Web.
Téléchargement du tool :
http://sourceforge.net/projects/wapi...0.zip/download
Exemple d'utilisation basique :
# wapiti.py www.site-cible.com
Voici son man :
Wapiti-2.2.1 - A web application vulnerability scanner
Usage: python wapiti.py http://server.com/base/url/ [options]
Supported options are:
-s <url>
--start <url>
To specify an url to start with
-x <url>
--exclude <url>
To exclude an url from the scan (for example logout scripts)
You can also use a wildcard (*)
Example : -x http://server/base/?page=*&module=test
or -x http://server/base/admin/* to exclude a directory
-p <url_proxy>
--proxy <url_proxy>
To specify a proxy
Example: -p http://proxyort/
-c <cookie_file>
--cookie <cookie_file>
To use a cookie
-t <timeout>
--timeout <timeout>
To fix the timeout (in seconds)
-a <login%password>
--auth <login%password>
Set credentials for HTTP authentication
Doesn't work with Python 2.4
-r <parameter_name>
--remove <parameter_name>
Remove a parameter from URLs
-n <limit>
--nice <limit>
Define a limit of urls to read with the same pattern
Use this option to prevent endless loops
Must be greater than 0
-m <module_options>
--module <module_options>
Set the modules and HTTP methods to use for attacks.
Example: -m "-all,xss:get,execost"
-u
--underline
Use color to highlight vulnerables parameters in output
-v <level>
--verbose <level>
Set the verbosity level
0: quiet (default), 1: print each url, 2: print every attack
-b <scope>
--scope <scope>
Set the scope of the scan:
+ "page": to analyse only the page passed in the URL
+ "folder":to analyse all the links to the pages which are in the same folder as the URL passed to Wapiti.
+ "domain":to analyse all the links to the pages which are in the same domain as the URL passed to Wapiti.
If no scope is set, Wapiti scans all the tree under the given URL.
-f <type_file>
--reportType <type_file>
Set the type of the report
xml: Report in XML format
html: Report in HTML format
txt: Report in plain text
-o <output>
--output <output_file>
Set the name of the report file
If the selected report type is 'html', this parameter must be a directory
-i <file>
--continue <file>
This parameter indicates Wapiti to continue with the scan from the specified file, this file should contain data from a previous scan.
The file is optional, if it is not specified, Wapiti takes the default file from the "scans" folder.
-k <file>
--attack <file>
This parameter indicates Wapiti to perform attacks without scanning again the website and following the data of this file.
The file is optional, if it is not specified, Wapiti takes the default file from the "scans" folder.
-h
--help
To print this usage message
Commentaire