Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
wpbullet — Un'analisi statica del codice per WordPress (e PHP) | Kitploit
Strumenti/GitHubGitHub/webarx-security/wpbullet
Analisi Statica del Codice (SAST)Analisi delle VulnerabilitàAnalisi del CodiceSicurezza Web
GitHubwebarx-security/wpbullet

wpbullet

Un'analisi statica del codice per WordPress (e PHP)

Vedi Repository
239453 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

alt text

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

Un'analisi statica del codice per plugin/temi WordPress (e PHP)

Installazione

Basta clonare il repository, installare i requisiti ed eseguire lo script

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

Utilizzo

Opzioni disponibili:

root@kitploit:~
--path (obbligatorio) Percorso di sistema o URL di download
Esempi:
--path="/path/to/plugin"
--path="https://wordpress.org/plugins/example-plugin"
--path="https://downloads.wordpress.org/plugin/example-plugin.1.5.zip"

--enabled (opzionale) Controlla solo i moduli specificati, es. --enabled="SQLInjection,CrossSiteScripting"
--disabled (opzionale) Non controllare i moduli specificati, es. --disabled="SQLInjection,CrossSiteScripting"
--cleanup (opzionale) Rimuove automaticamente il contenuto della cartella .temp dopo la scansione di un plugin scaricato da remoto (booleano)
--report (opzionale) Salva il risultato nella directory reports/ in formato JSON (booleano)

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

Creazione di moduli

La creazione di un modulo è flessibile e permette di sovrascrivere i metodi di BaseClass per ogni modulo, oltre a creare metodi propri.

Ogni modulo nella directory Modules implementa proprietà e metodi da core.modules.BaseClass, quindi il parametro richiesto per ogni modulo è BaseClass.

Una volta creato, il modulo deve essere importato in modules/__init__.py. Il nome del modulo e della classe devono essere coerenti affinché il modulo venga caricato.

Se apri una pull request per aggiungere un nuovo modulo, fornisci anche i test unitari per il tuo modulo.

Template del modulo

Modules/ExampleVulnerability.py

root@kitploit:~
from core.modules import BaseClass


class ExampleVulnerability(object):

    # Nome della vulnerabilità
    name = "Cross-site Scripting"

    # Gravità della vulnerabilità
    severity = "Low-Medium"

    # Funzioni che causano la vulnerabilità
    functions = [
        "print"
        "echo"
    ]

    # Funzioni/regex che prevengono lo sfruttamento
    blacklist = [
        "htmlspecialchars",
        "esc_attr"
    ]

Sovrascrittura del pattern regex di corrispondenza

Il pattern regex viene generato in core.modules.BaseClass.build_pattern e quindi può essere sovrascritto in ciascuna classe del modulo.

Modules/ExampleVulnerability.py

root@kitploit:~
import copy


...
# Costruisce un pattern regex dinamico per individuare le vulnerabilità nel contenuto dato
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

Test

Esecuzione dei test unitari: $ python3 -m unittest

Scarica lo strumento