URL: https://linuxfr.org/news/sortie-de-wapiti-2-3-0 Title: Sortie de Wapiti 2.3.0 Authors: devoop Benoît Sibaud, Florent Zara, palm123, rootix, claudex et ZeroHeure Date: 2013年11月11日T11:48:34+01:00 License: CC By-SA Tags: sécurité, scanneur_vulnérabilités_web, wapiti et opensuse Score: 43 Une nouvelle version du scanneur de vulnérabilités web _Wapiti_ est disponible. ![logo wapiti](http://wapiti.sourceforge.net/wapiti_400.png) _Wapiti_ est un logiciel libre sous licence GNU GPL v2 permettant d'auditer la sécurité des applications web. Il est développé en _Python_ et s'utilise en ligne de commande. Cette version est principalement une refonte du logiciel et la grande majorité des changements s'est faite « sous le capot » pour prendre en charge des fonctionnalités manquantes comme les nouveaux éléments du HTML 5 et les liens générés par du JavaScript. ---- [Wapiti](http://wapiti.sourceforge.net/) [Les nouveautés de la version 2.3.0 en détail](http://my.opera.com/devloop/blog/2013/10/24/wapiti-2-3-0) [De l'importance et de la difficulté du packaging Python : mon combat avec le setup.py et py2exe](http://my.opera.com/devloop/blog/2013/10/27/importance-et-difficulte-du-packaging-python) [Alionet.org : communauté francophone openSUSE](https://www.alionet.org/) [Gimp-Attitude : communauté d'utilisateurs de GIMP](http://www.gimp-attitude.org/) ---- Présentation ============ _Wapiti_ est un logiciel libre sous licence GNU GPL v2 permettant d'auditer la sécurité des applications web. Il est développé en _Python_ et s'utilise en ligne de commande. Il fonctionne en trois étapes : 1. premièrement, la découverte de l'application web via l'exploration des pages du site. L'objectif étant de trouver le plus de liens et formulaires acceptant la soumission de données. 1. deuxièmement, la phase d'attaque en boîte noire qui consiste à envoyer des données formatées spécialement dans le but d'essayer de causer des problèmes dans l'application web (messages d'erreurs, timeout, etc). Le comportement de l'application web face à ces données permet de déterminer si un script est potentiellement vulnérable. Par exemple la présence d'une apostrophe dans un champ de formulaire peut provoquer à sa soumission une erreur SQL si l'auteur de l'application web n'a pas échappé correctement une variable avant de l'intégrer dans une requête SQL. 3. dernière étape, la génération d'un rapport de scan dans un format choisi par l'utilisateur (JSON, texte, HTML, XML...). Améliorations sous le capot =========================== Cette version est principalement une refonte du logiciel et la grande majorité des changements s'est faite "sous le capot". Le code a été revu et corrigé dans un objectif de gain en stabilité et en lisibilité. L'utilisation d'un [vérificateur PEP8](https://github.com/nvie/vim-flake8) a permis d'augmenter la qualité du code. Un gros travail a été fait sur la gestion de l'unicode qui causait de nombreux bugs dans la précédente version (le web c'est comme une boîte de chocolat, on ne sait jamais sur quel(s) jeu(x) de caractères on va tomber). La bibliothèque [httplib2](https://code.google.com/p/httplib2/) a été remplacée par [requests](http://docs.python-requests.org/en/latest/). En dehors d'être plus agréable à utiliser, cette bibliothèque apporte surtout la gestion des cookies qui étaient auparavant gérés directement dans _Wapiti_. Le module _lswww_, la partie de _Wapiti_ chargée d'explorer les pages web et de recenser URLs et formulaires, a aussi été fortement amélioré. L'objectif était de combler les lacunes mises en évidence dans un article du magazine _MISC_ (n°65, janvier/février 2013). Pour cela, l'analyseur HTML a été revu pour prendre en charge certaines balises oubliées ainsi que les nouvelles balises de formulaires apparues avec HTML5. Afin de trouver plus d'URL, un petit analyseur de fichiers SWF a aussi été rajouté ainsi qu'un mini interpréteur javascript (qui n'en est qu'à ses balbutiements) basé sur [PyNarcissus](https://code.google.com/p/pynarcissus/). Ces modifications ont permis à _Wapiti_ d'obtenir un score de 48% sur [Wivet](https://code.google.com/p/wivet/), ce qui le met à peu près au même niveau que deux de ses concurrents _NetSparker_ et _w3af_. Nouvelles fonctionnalités ========================= Une limitation des anciennes versions ne permettait pas au logiciel d'injecter ses payloads dans les paramètres de l'URL sur les requêtes HTTP POST. C'est-à-dire que sur un formulaire envoyé par POST, seuls les champs _"input"_ étaient attaqués et pas ceux présents dans l'URL (spécifiée via l'attribut _"action"_ du formulaire). C'est maintenant corrigé. De plus, _Wapiti_ est dorénavant capable de s'attaquer aux formulaires d'envoi de fichier : il gère le multipart. Les injections se font sur le nom de fichier envoyé qui est potentiellement mis en base de données par l'application web ou peut être passé à des commandes shell sans vérification préalable. Des informations plus détaillées sont données quand une vulnérabilité a été trouvée. Ainsi, on retrouvera dans un rapport de scan la requête HTTP qui a causé le problème ainsi qu'une ligne de commande _cURL_ permettant de reproduire le problème (très pratique pour avoir un proof-of-concept rapide). Pour une liste exhaustive des nouveautés, je vous invite à lire [cet article de mon blog](http://my.opera.com/devloop/blog/2013/10/24/wapiti-2-3-0). Remerciements ============= Je tiens à remercier toutes les personnes m'ayant aidé sur cette nouvelle version. En particulier les membres de deux communautés liées à l'Open-Source qui méritent d'être connues, _Alionet.org_ (pour leur aide sur les tests et le packaging pour _openSUSE_) et _Gimp-Attitude_ (pour le nouveau logo).

AltStyle によって変換されたページ (->オリジナル) /