
Scanner de sécurité d'applications Web créé par lcamtuf pour google - Miroir non officiel
http://code.google.com/p/skipfish/
Écrit et maintenu par :
Michal Zalewski [email protected] Niels Heinen [email protected] Sebastian Roschke [email protected]
Copyright 2009 - 2012 Google Inc, tous droits réservés.
Publié sous les termes et conditions de la licence Apache, version 2.0.
Skipfish est un outil actif de reconnaissance de sécurité pour applications web. Il prépare un plan de site interactif pour le site ciblé en effectuant une exploration récursive et des sondages basés sur un dictionnaire. La carte résultante est ensuite annotée avec la sortie d'un certain nombre de vérifications de sécurité actives (mais, espérons-le, non perturbatrices). Le rapport final généré par l'outil est destiné à servir de base pour des évaluations professionnelles de sécurité d'applications web.
Un certain nombre d'outils commerciaux et open source dotés de fonctionnalités analogues sont facilement disponibles (par exemple, Nikto, Nessus) ; utilisez celui qui vous convient le mieux. Cela dit, skipfish tente de résoudre certains des problèmes courants associés aux scanners de sécurité web. Les avantages spécifiques incluent :
Haute performance : 500+ requêtes par seconde contre des cibles Internet réactives, 2000+ requêtes par seconde sur les réseaux LAN / MAN, et 7000+ requêtes contre des instances locales ont été observées, avec une empreinte CPU, réseau et mémoire très modeste. Cela peut être attribué à :
Un modèle d'entrée/sortie réseau et de traitement de données asynchrone, monothread et multiplexé qui élimine les inefficacités de gestion de la mémoire, d'ordonnancement et de communication inter-processus présentes dans certains clients multithread.
Des fonctionnalités HTTP/1.1 avancées telles que les requêtes par plage, la compression de contenu et les connexions persistantes, ainsi qu'un dimensionnement forcé de la taille des réponses pour maîtriser les frais généraux au niveau réseau.
Une mise en cache intelligente des réponses et des heuristiques avancées de comportement de serveur sont utilisées pour minimiser le trafic inutile.
Une implémentation C pure orientée performance, incluant une pile HTTP personnalisée.
Facilité d'utilisation : skipfish est hautement adaptatif et fiable. Le scanner propose :
Reconnaissance heuristique des schémas obscurs de gestion de paramètres basés sur le chemin et la requête.
Gestion gracieuse des sites multi-cadres où certains chemins obéissent à des sémantiques complètement différentes, ou sont soumis à des règles de filtrage différentes.
Construction automatique de listes de mots basée sur l'analyse du contenu du site.
Fonctionnalités d'analyse probabiliste pour permettre des évaluations périodiques limitées dans le temps de sites arbitrairement complexes.
Des vérifications de sécurité bien conçues : l'outil est destiné à fournir des résultats précis et significatifs :
Des dictionnaires artisanaux offrent une excellente couverture et permettent des tests approfondis $mot-clé.$extension dans un délai raisonnable.
Des sondes différentielles en trois étapes sont préférées aux vérifications par signature pour détecter les vulnérabilités.
Une logique de type Ratproxy est utilisée pour repérer des problèmes de sécurité subtils : falsification de requête intersite, inclusion de script intersite, contenu mixte, problèmes de non-concordance MIME et de jeu de caractères, directives de mise en cache incorrectes, etc.
Les vérifications de sécurité incluses sont conçues pour gérer des scénarios délicats : XSS stocké (chemin, paramètres, en-têtes), injection SQL ou XML aveugle, ou injection shell aveugle.
Signatures de contenu de style Snort qui mettront en évidence les erreurs de serveur, les fuites d'informations ou les applications web potentiellement dangereuses.
Le post-traitement du rapport réduit considérablement le bruit causé par d'éventuels faux positifs ou astuces de serveur en identifiant les motifs répétitifs.
Cela dit, skipfish n'est pas une solution miracle et peut ne pas convenir à certains usages. Par exemple, il ne satisfait pas à la plupart des exigences énoncées dans les critères d'évaluation des scanners de sécurité d'applications web du WASC (certaines intentionnellement, d'autres par nécessité) ; et contrairement à la plupart des autres projets de ce type, il n'est pas livré avec une vaste base de données de vulnérabilités connues pour les vérifications de bannières.
Une liste approximative des vérifications de sécurité offertes par l'outil est décrite ci-dessous.
Risques élevés (pouvant mener à une compromission du système) :
Risques moyens (pouvant mener à une compromission des données) :
Problèmes à faible risque (impact limité ou spécificité faible) :
Avertissements internes :
Entrées informatives non spécifiques :