Pour fonctionner, le logiciel extrait les liens et formulaires à attaquer. Pour chaque script acceptant des paramètres, il va appeler le script en question en testant chaque paramètre les uns après les autres. Toute la force de Wapiti se trouve dans le fait qu'il utilise les paramètres existants pour réaliser ses attaques. En utilisant un code Javascript inoffensif contenant l'url et le champ vulnérables encodés en hexadécimal et un système d'expressions régulières il est capable de retrouver quel script se cache derrière cette faille. Wapiti scanne l'arborescence une première fois pour récupérer les urls des scripts attaquables. Ensuite il va 'fuzzer' les paramètres et voir quelles failles sont présentes. Il re-scanne alors les pages pour voir s'il n'y a pas des XSS permanents.
Wapiti a été notamment utilisé par l'auteur pour traquer les failles de sécurité XSS dans un logiciel libre en PHP/MySQL, ce qui a permis d'identifier puis de corriger quelques failles de sécurité.
Aller plus loin
- Site officiel (774 clics)
- Télécharger Wapiti (837 clics)
- Le blog du développeur principal (531 clics)
# précision sur la news
Posté par Ludovic Gasc . Évalué à 9.
Il y a surement des failles que Wapiti ne détecte pas encore, mais il permet de faire un gros nettoyage.
Sinon, pour remercier le créateur de Wapiti et l'encourager à continuer, Dokeos Company lui a fait un don de 600 EUR : http://www.dokeos.com/fr/news.php#146
[^] # Re: précision sur la news
Posté par syntaxerror . Évalué à 2.
[^] # Re: précision sur la news
Posté par devloop (site web personnel) . Évalué à 1.
Pour ce qui est de l'auth (comme ça je suis sûr de ne pas me tromper) un développeur Python m'a avoué que le module existant était buggé avec la version 2.4 mais que ça devrait être corrigé pour la prochaine version.
[^] # Re: précision sur la news
Posté par syntaxerror . Évalué à 2.
# Review
Posté par TilK . Évalué à 1.
Par contre, il manque à mon avis quelques fonctionnalités que j'ai du rajouter :
* Possibilité d'exclure un répertoire (et tous ses sous-répertoires) et pas seulement un fichier
* Un option pour prendre en compte aucun paramètres dans l'URL. Cela est très utile par exemple pour des forums où le nombre de paramètres peut être très important aors que les pages générés sont quasiment identiques. On peut même imaginer de rajouter une option pour ajouter une whitelist.
Sinon un petit bug, dans wapity.py, à la ligne 326, il est possible que la variable u ne sont pas initialisée (si on a une une exception urllib2.URLError).
Sinon, c'est parfait.
Bon moi j'ai quelque pages à aller corriger :-)
[^] # Re: Review
Posté par Mathieu Laurent . Évalué à 1.
Y-a-t-il quelque chose de prévue pour ne pas boucler dans les scripts à l'infini.
Exemple : je teste wapiti sur une application comportant un calendrier php et il n'arrive pas à sortir du calendrier dès qu'il atteind celui-ci. Le calendrier n'est pas bloqué à une plage de temps et wapiti teste toutes les années.
Merci
Mathieu
[^] # Re: Review
Posté par devloop (site web personnel) . Évalué à 1.
C'est à cette occasion que j'ai inclus la possibilité d'exclure un paramêtre des urls... pour l'instant c'est la seule possibilité.
Quand à l'exclusion d'un répertoire je note...
La prochaine version (1.1.3) corrigera juste un bug, je ne me suis pas attaqué aux nouvelles fonctionnalités pour l'instant
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.