Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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 — Eine statische Codeanalyse für WordPress (und PHP) | Kitploit
Tools/GitHubGitHub/webarx-security/wpbullet
Statische Code-Analyse (SAST)SchwachstellenanalyseCode-AnalyseWebsicherheit
GitHubwebarx-security/wpbullet

wpbullet

Eine statische Codeanalyse für WordPress (und PHP)

Repository anzeigen
23945vor 3 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

Nutzung

Verfügbare Optionen:

root@kitploit:~
--path (erforderlich) Systempfad oder Download-URL 
Beispiele:
--path="/pfad/zum/plugin"
--path="https://wordpress.org/plugins/beispiel-plugin"
--path="https://downloads.wordpress.org/plugin/beispiel-plugin.1.5.zip"

--enabled (optional) Nur nach angegebenen Modulen suchen, z.B. --enabled="SQLInjection,CrossSiteScripting"
--disabled (optional) Nicht nach angegebenen Modulen suchen, z.B. --disabled="SQLInjection,CrossSiteScripting"
--cleanup (optional) Inhalt des .temp-Ordners nach dem Scannen eines remote heruntergeladenen Plugins automatisch entfernen (boolesch)
--report (optional) Ergebnis im JSON-Format im Verzeichnis reports/ speichern (boolesch)

$ 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 Hinzufügen 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, fügen Sie bitte auch Unit-Tests für Ihr Modul hinzu.

Modulvorlage

Modules/ExampleVulnerability.py

root@kitploit:~
from core.modules import BaseClass


class ExampleVulnerability(object):

    # Name der Sicherheitslücke
    name = "Cross-site Scripting"

    # Schweregrad der Sicherheitslücke
    severity = "Niedrig-Mittel"

    # Funktionen, die die Sicherheitslücke verursachen
    functions = [
        "print"
        "echo"
    ]

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

Regex-Muster überschreiben

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

Modules/ExampleVulnerability.py

root@kitploit:~
import copy


...
# Dynamisches Regex-Muster erstellen, um Sicherheitslücken im angegebenen 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

Unit-Tests ausführen: $ python3 -m unittest

Tool herunterladen