Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
wpBullet — Statischer Code-Analyse-Scanner für WordPress-Plugins und -Themes. Erkennt Schwachstellen wie XSS und SQL-Injection über eine modulare, erweiterbare Pattern-Matching-Engine mit Schweregradbewertungen und JSON-Berichterstattung. | Kitploit
Tools/GitHubGitHub/owasp/wpbullet
SchwachstellenscannerStatische Code-Analyse (SAST)SchwachstellenanalyseCode-AnalyseWebsicherheitPenetrationstests
GitHubowasp/wpbullet

wpBullet

Statischer Code-Analyse-Scanner für WordPress-Plugins und -Themes. Erkennt Schwachstellen wie XSS und SQL-Injection über eine modulare, erweiterbare Pattern-Matching-Engine mit Schweregradbewertungen und JSON-Berichterstattung.

Repository anzeigen
62720vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Alternativtext

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

Eine statische Code-Analyse für WordPress-Plugins/Themes (und PHP)

Installation

Klonen Sie einfach das Repository, installieren Sie die Abhängigkeiten und führen Sie das Skript aus:

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

Verwendung

Verfügbare Optionen:

--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"

Module erstellen

Das Erstellen eines Moduls ist flexibel und erlaubt das Überschreiben der BaseClass-Methoden für jedes Modul sowie das Erstellen eigener Methoden.

Jedes Modul im Verzeichnis Modules implementiert Eigenschaften und Methoden aus core.modules.BaseClass, daher ist der erforderliche Parameter jedes Moduls BaseClass.

Nach der Erstellung muss das Modul in modules/__init__.py importiert werden. Modul- und Klassenname müssen konsistent sein, damit das Modul geladen werden kann.

Wenn Sie einen Pull-Request zum Hinzufügen eines neuen Moduls öffnen, stellen Sie bitte auch Unit-Tests für Ihr Modul bereit.

Modul-Vorlage

Modules/ExampleVulnerability.py

from core.modules import BaseClass


class ExampleVulnerability(object):

    # Name der Schwachstelle
    name = "Cross-site Scripting"

    # Schweregrad der Schwachstelle
    severity = "Low-Medium"

    # Funktionen, die die Schwachstelle verursachen
    functions = [
        "print"
        "echo"
    ]

    # Funktionen/Regex, die eine Ausnutzung verhindern
    blacklist = [
        "htmlspecialchars",
        "esc_attr"
    ]

Überschreiben des Regex-Musters

Das Regex-Muster wird in core.modules.BaseClass.build_pattern generiert und kann daher in jeder Modulklasse überschrieben werden.

Modules/ExampleVulnerability.py

import copy


...
# Dynamisches Regex-Muster erstellen, um Schwachstellen im gegebenen Inhalt zu lokalisieren
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

Testen

Ausführen der Unit-Tests: $ python3 -m unittest

Tool herunterladen