Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
plausible-editor-invite — Plausible Analytics master d44e104 - Alta - Remoto - Privilégio remanescente - editor pessoas HTML vazamentos transferência nanoid | Kitploit
Ferramentas/GitHubGitHub/abraxas/plausible-editor-invite
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoLabs e Prática
GitHub

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
abraxas/plausible-editor-invite

plausible-editor-invite

Plausible Analytics master d44e104 - Alta - Remoto - Privilégio remanescente - editor pessoas HTML vazamentos transferência nanoid

Ver Repositório
1há 2 diasAinda não revisado

Abraxas Labs - plausible-editor-invite

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  plausible-editor-invite

plausible-editor-invite

Plausible Analytics edição comunitária, master do GitHub d44e104ae3943a9240d5cb6b62e67dff0f069d3a (2026-10-16) - Plausible Insights OÜ

Classe: privilégio residual (vazamento de token de convite). Alcance: remoto (editor convidado ou editor de equipe daquele site).

Sites.list_people/1 seleciona guest_invitations.invitation_id e team_site_transfers.transfer_id brutos. settings_people.html.heex coloca esse nanoid de 21 caracteres em id="invitation-#{invitation.invitation_id}" para cada linha pendente. As configurações de Pessoas não estão em @special_cased_actions do SiteController, então AuthorizeSiteAccess permite :editor. O editor convidado mapeia para a função de site :editor. O visualizador convidado recebe 404.

Nanoid.generate/0 é o portador do registro a partir do convite. GET /register/invitation/:invitation_id sem autenticação busca apenas pelo id. O LiveView register sobrescreve o e-mail enviado com invitation.email. O CE padrão é DISABLE_REGISTRATION=invite_only e ENABLE_EMAIL_VERIFICATION=false. A aceitação é POST /sites/invitations/:id/accept via correspondência de e-mail citext.

Um editor convidado que já consegue ver o HTML de Pessoas lê um nanoid de transferência de propriedade pendente, registra-se como o convidado e aceita. O site passa para a equipe pessoal do atacante.

IDainda sem CVE
CWECWE-200 / CWE-269
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
ProdutoPlausible Analytics
Afetadomaster do GitHub d44e104ae3943a9240d5cb6b62e67dff0f069d3a (2026-10-16). A última tag CE v3.2.1 (e4f5a87a5570bd61605217e7ceb376636db8eddb, 2026-05-15) está cinco meses atrasada. O SECURITY.md orienta os operadores a executar :latest. O pin é o HEAD atual. O CE MIX_ENV=ce compila apenas lib/.
Autenticaçãoeditor convidado autenticado (:guest_member, :editor) ou editor de equipe daquele site. Não é sem autenticação. Não é visualizador convidado.
LicençaGNU Affero GPL v3.0
Lab127.0.0.1:18180 (http) 18181 (postgres) 18182 (clickhouse http) apenas

Residual nº 1 de Plausible Analytics leftovers. Mesmo pin, outro pacote: plausible-traffic-notify (atribuição em massa de site_id em PUT traffic-change-notification). Este pacote é o que rouba uma transferência de propriedade pendente.

O que um atacante pode fazer

Editor convidado ou editor de equipe autenticado de um site que tenha um convite de convidado e/ou transferência de propriedade pendente. Precisa de um cookie de sessão normal. Sem proprietário, sem admin, sem LiveView de super-admin. Eles não fazem força bruta no nanoid de 21 caracteres. Eles o leem do HTML que têm permissão para carregar e então se registram como o convidado.

Tabela de privilégios (exaustiva). Mesmo critério do Signal-Server Dropwizard admin: método + caminho, o que aquela chamada concede, reconhecimento vs integridade vs disponibilidade, comprovado em lab vs inferido, superfície adjacente que permanece fechada.

EixoMétodo + caminhoConcedeProveniência
ReconGET /:domain/settings/people como convidado/editor de equipaAs linhas pendentes renderizam id="invitation-<nanoid>". O nanoid é invitation_id ou transfer_id. Apenas no mesmo site. O email do convidado também está na tabela.Comprovado em laboratório. Editor people 200 vazou nanoid Hc8DiBC2q08mv5LFmBysu
ReconGET /register/invitation/:id sem autenticaçãoEmail do convidado no formulário de registo. A pesquisa é apenas por id (find_by_id_unified).Comprovado em laboratório. O HTML de registo mostrou [email protected]
IntegridadeLiveView register em /register/invitation/:idO user[email] submetido é substituído por invitation.email. Nova conta CE no endereço do convidado. Verificação de email CE desativada por predefinição. Apenas por convite ainda permite :invitation.Comprovado em laboratório. Submetido [email protected]; email armazenado foi [email protected]
IntegridadePOST /sites/invitations/:id/accept como essa nova contaA transferência de propriedade pendente move sites.team_id para a equipa pessoal do novo proprietário. A linha de transferência desaparece.Comprovado em laboratório. sites.team_id 1 → 2
Integridadeo mesmo accept num convite convidado pendente para esse emailNova adesão nesse site (editor-por-editor não é ganho). Outras linhas pendentes de equipa/convidado/transferência para esse email também se tornam aceitáveis.Código-fonte (InvitationController.accept_invitation)
Disponibilidadeapós aceitar a transferênciaA equipa original perde o site. As estatísticas continuam a servir na nova equipa.Comprovado em laboratório. team_id movido

Permanece fechado neste pin

EixoMétodo + caminhoPorque está fechado
Reconvisualizador convidado GET /:domain/settings/people404. O visualizador não é :editor. Comprovado em laboratório.
Integridadeeditor POST /sites/invitations/:id/accept do id de transferência vazadoCorrespondência de email. O editor não é [email protected]. O site permanece na equipa 1. Comprovado em laboratório.
Integridaderegisto sem autenticação sem um id de convite válidocheck_registration_enabled(:default) vs :invitation. whoareme Bug 02, corrigido.
Reconforça bruta de nanoid de 21 caracteresAlfabeto URL-safe, 21 caracteres. Fora deste resto.
Reconeventos ClickHouse, SMTP, páginas people de outros sitesApenas no mesmo site. Sem admin ClickHouse. Sem leitura de caixa de correio.
Integridadeconvite e transferência de owner/adminJá o podem fazer. Este resto é o editor que não pode.
IntegridadeLiveView de super-admin, shell do SO, extra/lib EE SSOFechado. Laboratório CE. Sem shell.

Não estou a reivindicar tomada de conta não autenticada de um utilizador já registado, uma reverse shell, ou um dump de ClickHouse. A instância High é uma transferência de proprietário pendente (ou convites para outros sites/equipas para esse email) na CE por predefinição: apenas por convite mais verificação de email desativada. A EE define sempre email_verified: false e /activate precisa da caixa de correio do convidado.

Como o encontrei

Baixar ferramenta