Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
wpbullet — Une analyse statique de code pour WordPress (et PHP) | Kitploit
Outils/GitHubGitHub/webarx-security/wpbullet
Analyse Statique de Code (SAST)Analyse des VulnérabilitésAnalyse de CodeSécurité Web
GitHubwebarx-security/wpbullet

wpbullet

Une analyse statique de code pour WordPress (et PHP)

Voir le dépôt
2394553il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

texte alternatif

wpBullet Build Status Python 2.x|3.x License

Une analyse statique de code pour les plugins/thèmes WordPress (et PHP)

Installation

Clonez simplement le dépôt, installez les dépendances et exécutez le script

  • $ git clone https://github.com/webarx-security/wpbullet wpbullet
  • $ cd wpbullet
  • $ pip install -r requirements.txt
  • $ python wpbullet.py

Utilisation

Options disponibles :

root@kitploit:~
--path (required) System path or download URL 
Examples:
--path="/path/to/plugin"
--path="https://wordpress.org/plugins/example-plugin"
--path="https://downloads.wordpress.org/plugin/example-plugin.1.5.zip"

--enabled (optional) Check only for given modules, ex. --enabled="SQLInjection,CrossSiteScripting"
--disabled (optional) Don't check for given modules, ex. --disabled="SQLInjection,CrossSiteScripting"
--cleanup (optional) Automatically remove content of .temp folder after scanning remotely downloaded plugin (boolean)
--report (optional) Saves result inside reports/ directory in JSON format (boolean)

$ python wpbullet.py --path="/var/www/wp-content/plugins/plugin-name"

Créer des modules

La création d'un module est flexible et permet de redéfinir les méthodes de BaseClass pour chaque module ainsi que de créer leurs propres méthodes.

Chaque module dans le répertoire Modules implémente les propriétés et méthodes de core.modules.BaseClass, donc le paramètre requis pour chaque module est BaseClass.

Une fois créé, le module doit être importé dans modules/__init__.py. Le nom du module et de la classe doivent être cohérents pour que le module soit chargé.

Si vous ouvrez une pull request pour ajouter un nouveau module, veuillez également fournir des tests unitaires pour votre module.

Modèle de module

Modules/ExampleVulnerability.py

root@kitploit:~
from core.modules import BaseClass


class ExampleVulnerability(object):

    # Vulnerability name
    name = "Cross-site Scripting"

    # Vulnerability severity
    severity = "Low-Medium"

    # Functions causing vulnerability
    functions = [
        "print"
        "echo"
    ]

    # Functions/regex that prevent exploitation
    blacklist = [
        "htmlspecialchars",
        "esc_attr"
    ]

Redéfinir le modèle de correspondance regex

Le modèle regex est généré dans core.modules.BaseClass.build_pattern et peut donc être écrasé dans chaque classe de module.

Modules/ExampleVulnerability.py

root@kitploit:~
import copy


...
# Build dynamic regex pattern to locate vulnerabilities in given content
def build_pattern(self, content, file):
    user_input = copy.deepcopy(self.user_input)

    variables = self.get_input_variables(self, content)

    if variables:
        user_input.extend(variables)

    if self.blacklist:
        blacklist_pattern = r"(?!(\s?)+(.*(" + '|'.join(self.blacklist) + ")))"
    else:
        blacklist_pattern = ""

    self.functions = [self.functions_prefix + x for x in self.functions]

    pattern = r"((" + '|'.join(self.functions) + ")\s{0,}\(?\s{0,1}" + blacklist_pattern + ".*(" + '|'.join(user_input) + ").*)"
    return pattern

Tests

Exécution des tests unitaires : $ python3 -m unittest

Télécharger l’outil