Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
wpBullet — Scanner de análise estática de código para plugins e temas WordPress. Detecta vulnerabilidades como XSS e injeção de SQL por meio de um mecanismo modular e extensível de correspondência de padrões, com classificações de gravidade e relatórios em JSON. | Kitploit
Ferramentas/GitHubGitHub/owasp/wpbullet
Scanners de VulnerabilidadesAnálise Estática de Código (SAST)Análise de VulnerabilidadesAnálise de CódigoSegurança WebTestes de Penetração
GitHubowasp/wpbullet

wpBullet

Scanner de análise estática de código para plugins e temas WordPress. Detecta vulnerabilidades como XSS e injeção de SQL por meio de um mecanismo modular e extensível de correspondência de padrões, com classificações de gravidade e relatórios em JSON.

Ver Repositório
6275há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

alt text

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

Uma análise estática de código para Plugins/Temas WordPress (e PHP)

Instalação

Basta clonar o repositório, instalar as dependências e executar o script

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

Uso

Opções disponíveis:

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"

Criando módulos

Criar um módulo é flexível e permite a sobrescrita dos métodos da BaseClass para cada módulo, bem como a criação de seus próprios métodos

Cada módulo no diretório Modules implementa propriedades e métodos de core.modules.BaseClass, portanto, o parâmetro obrigatório de cada módulo é BaseClass

Após criado, o módulo precisa ser importado em modules/__init__.py. O nome do módulo e da classe devem ser consistentes para que o módulo seja carregado.

Se você estiver abrindo um pull request para adicionar um novo módulo, forneça também testes unitários para o seu módulo.

Modelo de módulo

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

Sobrescrevendo o padrão de correspondência regex

O padrão regex é gerado em core.modules.BaseClass.build_pattern e, portanto, pode ser sobrescrito em cada classe de módulo.

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

Testes

Executando testes unitários: $ python3 -m unittest

Baixar ferramenta