Matster
2 Réseaux Image et Paroles
Spécialité
: Réseaux
Wafw00f: Web Application Firewall Detection Tool
Réalisé par : Enseignant :
Hassna LOUADAH
Mr. Osman SALEM
Décembre 2011
Wafw00f:
Web Application Firewall Detection Tool
WafW00f, un
script écrit en python, est un excellent outil capable de
détecter les pare-feux des applications
web (WAF). Cet outil est particulièrement utile lorsque le testeur de pénétration
veut inspecter le serveur d'applications
cible.
WAFW00F:
Permet de voir si il ya un
Firewall (pare-feu) d’une application Web
(WAF) dans le chemin (entre notre machine et notre
cible). Un WAF est un type
spécifique de pare-feu qui est
adapté pour fonctionner avec les applications web.
Il intercepte le trafic HTTP ou HTTPS et impose un
ensemble de règles qui sont
spécifique à la fonctionnalité des
applications web. Ces règles incluent des fonctionnalités telles que la prévention des attaques par injection SQL ou par cross-site
scripting. Dans notre cas, nous avons
besoin de savoir si il ya un WAF qui va interférer
avec notre test de pénétration.
Ce script Python, disponible sur http://code.google.com/p/waffit/,
accepte une ou plusieurs URL comme arguments et exécute une série de
testes afin de déterminer
si un WAF est en marche entre notre hôte et la cible ou non.
Pour
l’exécuter sur un système Backtrack 4:
Il faut y aller
Backtrack |
Web Application Analysis | Web | Wafw00f
Où
utiliser la console pour exécuter les commandes suivante:
# cd /pentest/web/waffit/
# ./wafw00f.py
Avec la commande #python
wafw00f.py -h
On aura la fenêtre suivante :
Cette fenêtre montre les différentes
options offertes.
Pour lancer la détection, la
commande suivante peut être
utilisée :
#python wafw00f.py le site en
question (eg:
http://www.xxxx.fr)
La fenêtre suivante s’affichera
Ce résultat prouve le serveur d'applications cible est en marche
derrière pare-feu (dotDefender, par exemple). En utilisant cette
information on pourra par la suite investiguer les moyens possibles pour
contourner le WAF. Il pourrait
s'agir des techniques comme le paramètre
HTTP
la pollution, null-byte de remplacement,
la normalisation, l'encodage chaîne URL malveillant
en
hexadécimal ou Unicode.
L’exemple
suivant est ressemble au premier mais cette fois ci avec l’option –v qui permet
de voir les détails du test :
Et la fenêtre suivante montre un
autre exemple avec comme argument le site google:
WAFW00F est capable de
détecter près de 20 WAF différents (Profense, ModSecurity, NetContinuum,
HyperGuard, Barracuda, Airlock, BinarySec, F5 Trafficshield, F5 ASM, Teros,
DenyALL, BIG-IP, Citrix NetScaler, webApp.secure, WebKnight, URLScan,
SecureIIS, dotDefender ).