Retour aux mises à jour
New releaseAug 4, 2026

wpscan v4.1.0

Scanner de sécurité WordPress qui détecte les vulnérabilités, énumère les plugins/thèmes/utilisateurs et vérifie les mots de passe faibles. S'intègre avec l'API WPScan pour des données de vulnérabilité en temps réel.

Partager

Logo WPScan

WPScan

Scanner de sécurité WordPress

WPScan WordPress Vulnerability Database - Plugin de sécurité WordPress

Maintenabilité État de la couverture

INSTALLATION

Prérequis

  • (Optionnel mais fortement recommandé : rbenv)
  • Ruby >= 3.3 - Recommandé : dernière version stable
  • Curl >= 7.72 - Recommandé : dernière version stable
    • La version 7.29 présente un segfault
    • Les versions < 7.72 peuvent entraîner Stream error in the HTTP/2 framing layer dans certains cas
  • RubyGems - Recommandé : dernière version stable
  • Nokogiri peut nécessiter l'installation de paquets via votre gestionnaire de paquets selon votre système d'exploitation, voir https://nokogiri.org/tutorials/installing_nokogiri.html

Dans une distribution de pentest

Lors de l'utilisation d'une distribution de pentest (comme Kali Linux), il est recommandé d'installer/mettre à jour wpscan via le gestionnaire de paquets si disponible.

Sous macOSX via Homebrew

brew install wpscanteam/tap/wpscan

Depuis RubyGems

WPScan dépend de gems avec des extensions natives (ex. yajl-ruby, nokogiri, ffi), donc une chaîne d'outils C fonctionnelle et les en-têtes de développement Ruby doivent être présents avant gem install wpscan. Sans eux, l'installation échoue avec des erreurs comme Failed to build gem native extension ou make: x86_64-linux-gnu-gcc: No such file or directory (voir #1844).

  • Debian / Ubuntu :
    sudo apt install build-essential ruby-dev
    
  • Fedora / RHEL / CentOS :
    sudo dnf install @development-tools ruby-devel
    
  • Arch Linux :
    sudo pacman -S base-devel ruby
    
  • Alpine :
    sudo apk add build-base ruby-dev
    
  • macOS : installez les outils de ligne de commande Xcode (xcode-select --install).

Ensuite, installez la gem :

gem install wpscan

Sous MacOSX, si une Gem::FilePermissionError est levée en raison de la protection d'intégrité du système (SIP) d'Apple, installez RVM et réinstallez wpscan, ou exécutez sudo gem install -n /usr/local/bin wpscan (voir #1286)

Mise à jour

Vous pouvez mettre à jour la base de données locale en utilisant wpscan --update

La mise à jour de WPScan elle-même se fait soit via gem update wpscan, soit via le gestionnaire de paquets (ceci est important pour des distributions comme Kali Linux : apt-get update && apt-get upgrade) selon la façon dont WPScan a été (pré)installé

Docker

Tirez l'image avec docker pull wpscanteam/wpscan

Énumération des noms d'utilisateur

docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u

Énumération d'une plage de noms d'utilisateur

docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u1-100

** remplacez u1-100 par une plage de votre choix.

Persistance de la base de données locale

L'image est livrée avec une copie de la base de données locale intégrée au moment de la construction. Étant donné que les exemples de commandes ci-dessus utilisent --rm, toute mise à jour de la base de données effectuée lors d'une exécution est supprimée lorsque le conteneur se termine, donc la prochaine exécution repart à partir de la copie intégrée (potentiellement obsolète).

Monter un volume nommé à /wpscan/.cache/wpscan/db (le répertoire de cache de l'utilisateur wpscan dans le conteneur) conserve la base de données entre les exécutions, donc wpscan --update ne télécharge à nouveau que les fichiers dont les sommes de contrôle ont réellement changé et l'invite de péremption de 5 jours se comporte comme pour une installation locale :

docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --update

Le volume nommé est créé automatiquement lors de la première utilisation s'il n'existe pas déjà.

Utilisation

La documentation complète de l'utilisateur se trouve ici ; https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation

wpscan --url blog.tld Cela analysera le blog en utilisant les options par défaut avec un bon compromis entre vitesse et précision. Il effectue la détection de version, la détection de thème et la découverte de résultats intéressants. Pour énumérer les plugins, thèmes, utilisateurs, dossiers de sauvegarde, etc., utilisez l'option -e (par ex., -e ap pour tous les plugins, -e vp pour les plugins vulnérables, -e bf pour les dossiers de sauvegarde).

Si une approche plus discrète est nécessaire, alors wpscan --stealthy --url blog.tld peut être utilisé. En conséquence, lors de l'utilisation de l'option --enumerate, n'oubliez pas de définir --plugins-detection en conséquence, car sa valeur par défaut est 'passive'.

Pour plus d'options, ouvrez un terminal et tapez wpscan --help (si vous avez compilé wpscan à partir des sources, vous devez taper la commande en dehors du dépôt git).

Emplacement de la base de données

L'emplacement de la base de données suit la spécification des répertoires de base XDG :

  • Nouvelles installations : ~/.cache/wpscan/db (ou $XDG_CACHE_HOME/wpscan/db si défini)
  • Installations existantes : ~/.wpscan/db (chemin hérité, conservé pour la compatibilité ascendante)

Les fichiers d'exécution tels que le cache HTTP par défaut et le cookie jar sont stockés sous $TMPDIR/wpscan lorsque $TMPDIR est défini. Sinon, ils utilisent le même répertoire de cache XDG par utilisateur, par exemple ~/.cache/wpscan/cache et ~/.cache/wpscan/cookie_jar.txt. Ces valeurs par défaut peuvent être remplacées avec --cache-dir et --cookie-jar.

Pour migrer une installation existante vers le chemin XDG :

mv ~/.wpscan ~/.cache/wpscan

Optionnel : API de base de données de vulnérabilités WordPress

L'outil en ligne de commande WPScan utilise l'API de base de données de vulnérabilités WordPress pour récupérer les données de vulnérabilité WordPress en temps réel. Pour que WPScan récupère les données de vulnérabilité, un jeton API doit être fourni via l'option --api-token, ou via un fichier de configuration, comme discuté ci-dessous. Un jeton API peut être obtenu en créant un compte sur WPScan.com.

Jusqu'à 25 requêtes API par jour sont offertes gratuitement, ce qui devrait convenir pour analyser la plupart des sites Web WordPress au moins une fois par jour. Lorsque les 25 requêtes API quotidiennes sont épuisées, WPScan continuera à fonctionner normalement mais sans aucune donnée de vulnérabilité.

De combien de requêtes API avez-vous besoin ?

  • Notre scanner WordPress effectue une requête API pour la version de WordPress, une requête par plugin installé et une requête par thème installé.
  • En moyenne, un site Web WordPress a 22 plugins installés.

Charger les options CLI à partir d'un ou plusieurs fichiers

WPScan peut charger toutes les options (y compris --url) à partir de fichiers de configuration, les emplacements suivants sont vérifiés (ordre : du premier au dernier) :

  • $XDG_CONFIG_HOME/wpscan/scan.json (si XDG_CONFIG_HOME est défini)
  • $XDG_CONFIG_HOME/wpscan/scan.yml (si XDG_CONFIG_HOME est défini)
  • ~/.config/wpscan/scan.json (si XDG_CONFIG_HOME n'est pas défini)
  • ~/.config/wpscan/scan.yml (si XDG_CONFIG_HOME n'est pas défini)
  • ~/.wpscan/scan.json
  • ~/.wpscan/scan.yml
  • pwd/.wpscan/scan.json
  • pwd/.wpscan/scan.yml

Si ces fichiers existent, les options de la clé cli_options seront chargées et écrasées si elles sont trouvées deux fois.

par ex. :

~/.config/wpscan/scan.yml :

cli_options:
  proxy: 'http://127.0.0.1:8080'
  verbose: true

pwd/.wpscan/scan.yml :

cli_options:
  proxy: 'socks5://127.0.0.1:9090'
  url: 'http://target.tld'

Exécuter wpscan dans le répertoire courant (pwd) équivaut à wpscan -v --proxy socks5://127.0.0.1:9090 --url http://target.tld

D'autres options de ligne de commande peuvent être ajoutées en utilisant la convention snake_case. par ex. :

cli_options:
  user_agent: "Testing UA"
  max_threads: 1
  headers: "Custom-Header: aaaa; Another Header: bbb"

Enregistrer le jeton API dans un fichier

La fonctionnalité mentionnée ci-dessus est utile pour conserver le jeton API dans un fichier de configuration et ne pas avoir à le fournir via la CLI à chaque fois. Pour ce faire, créez le fichier ~/.config/wpscan/scan.yml contenant ce qui suit :

cli_options:
  api_token: 'YOUR_API_TOKEN'

Charger le jeton API depuis l'ENV (depuis v3.7.10)

Le jeton API sera automatiquement chargé depuis la variable d'environnement WPSCAN_API_TOKEN si présente. Si l'option CLI --api-token est également fournie, la valeur de la CLI sera utilisée.

Statut du service API

Si vous rencontrez des problèmes de connexion avec l'API WPScan, vous pouvez vérifier le statut du service sur https://status.wpscan.com/. Lorsque des erreurs de connexion à l'API se produisent, WPScan inclura un lien vers la page de statut dans le message d'erreur.

Énumération des noms d'utilisateur

wpscan --url https://target.tld/ --enumerate u

Énumération d'une plage de noms d'utilisateur

wpscan --url https://target.tld/ --enumerate u1-100

** remplacez u1-100 par une plage de votre choix.

Énumération des dossiers de sauvegarde

wpscan --url https://target.tld/ --enumerate bf

Cela vérifiera les dossiers de sauvegarde créés par les plugins de sauvegarde WordPress populaires. Ces dossiers peuvent contenir des données sensibles comme des vidages de base de données, des fichiers de configuration ou des sauvegardes complètes du site.

LICENSE

Licence publique source WPScan

Le logiciel WPScan (ci-après désigné simplement « WPScan ») est sous double licence - Copyright 2011-2019 WPScan Team.

Les cas incluant la commercialisation de WPScan nécessitent une licence commerciale non libre. Sinon, WPScan peut être utilisé gratuitement selon les conditions énoncées ci-dessous.

1. Définitions

1.1 « Licence » désigne le présent document.

1.2 « Contributeur » désigne chaque individu ou entité juridique qui crée, contribue à la création de, ou possède WPScan.

1.3 « Équipe WPScan » désigne les développeurs principaux de WPScan.

2. Commercialisation

L'utilisation commerciale est celle destinée à un avantage commercial ou à une compensation monétaire.

Exemples de cas de commercialisation :

  • Utiliser WPScan pour fournir des services commerciaux gérés/SaaS.
  • Distribuer WPScan en tant que produit commercial ou dans le cadre d'un tel produit.
  • Utiliser WPScan comme produit/service à valeur ajoutée.

Exemples de cas qui ne nécessitent pas de licence commerciale et relèvent donc des conditions énoncées ci-dessous, incluent (sans s'y limiter) :

  • Les testeurs d'intrusion (ou organisations de tests d'intrusion) utilisant WPScan dans le cadre de leur boîte à outils d'évaluation.
  • Les distributions Linux de tests d'intrusion, y compris mais sans s'y limiter Kali Linux, SamuraiWTF, BackBox Linux.
  • Utiliser WPScan pour tester vos propres systèmes.
  • Toute utilisation non commerciale de WPScan.

Si vous avez besoin d'acheter une licence commerciale ou si vous n'êtes pas sûr de devoir en acheter une, contactez-nous - [email protected].

Termes et conditions d'utilisation gratuite ;

3. Redistribution

La redistribution est autorisée sous les conditions suivantes :

  • La licence non modifiée est fournie avec WPScan.
  • Les avis de copyright non modifiés sont fournis avec WPScan.
  • Ne pas entrer en conflit avec la clause de commercialisation.

4. Copie

La copie est autorisée tant qu'elle n'entre pas en conflit avec la clause de redistribution.

5. Modification

La modification est autorisée tant qu'elle n'entre pas en conflit avec la clause de redistribution.

6. Contributions

Toute contribution suppose que le contributeur accorde à l'Équipe WPScan le droit illimité et non exclusif de réutiliser, modifier et relicencier le contenu du contributeur.

7. Support, mises à jour et maintenance

WPScan est fourni en l'état (AS-IS) et sans aucun support, mise à jour ou maintenance. Le support, les mises à jour et la maintenance peuvent être fournis à la seule discrétion de l'Équipe WPScan.

8. Exclusion de garantie

WPScan est fourni en vertu de cette licence « en l'état », sans garantie d'aucune sorte, expresse, implicite ou légale, y compris, sans limitation, les garanties que WPScan est exempt de défauts, commercialisable, adapté à un usage particulier ou non-contrefaisant.

9. Limitation de responsabilité

Dans la mesure permise par la loi, WPScan est fourni en l'état. L'Équipe WPScan ne sera jamais, et sans aucune limite, responsable de tout dommage, coût, dépense ou tout autre paiement encouru à la suite des actions, défaillances, bogues et/ou de toute autre interaction entre WPScan et l'équipement final, les ordinateurs, autres logiciels ou tout tiers, équipement final, ordinateur ou services.

10. Avertissement

L'exécution de WPScan contre des sites Web sans consentement mutuel préalable peut être illégale dans votre pays. L'Équipe WPScan décline toute responsabilité et n'est pas responsable de toute mauvaise utilisation ou de tout dommage causé par WPScan.

11. Marque déposée

Le terme « wpscan » est une marque déposée. Cette licence n'accorde pas l'utilisation de la marque « wpscan » ou l'utilisation du logo WPScan.

Catégories