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
phpmyadmin-webauthn — phpMyAdmin 5.2.3 - Alta - Remoto - Ignorar 2FA - A cerimônia WebAuthn pode ser ignorada | Kitploit
Ferramentas/GitHubGitHub/abraxas/phpmyadmin-webauthn
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAutenticaçãoLabs e Prática
GitHubabraxas/phpmyadmin-webauthn

phpmyadmin-webauthn

phpMyAdmin 5.2.3 - Alta - Remoto - Ignorar 2FA - A cerimônia WebAuthn pode ser ignorada

Ver Repositório
9há 4 diasAinda não revisado

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 Labs - phpmyadmin-webauthn

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-webauthn

phpmyadmin-webauthn

Classe: bypass de 2FA Alcance: Remoto

phpMyAdmin 5.2.3 (tag RELEASE_5_2_3). Tarball padrão. web-auth/webauthn-lib é suggest / require-dev. composer install --no-dev não o instala. Portanto, createServer usa CustomServer. Essa classe faz o parse de response.signature (o campo precisa existir e decodificar) e nunca o verifica via COSE. Ela nunca usa a credentialPublicKey armazenada. O próprio CustomServerTest do produto aceita uma assertion sem chave pública.

As verificações estruturais são reais: credential id em allowCredentials, clientData.type == webauthn.get, challenge corresponde à sessão, host de origem, rpIdHash, user-present. A assinatura é parseada e ignorada. Após a senha do MySQL, uma assinatura WebAuthn inválida que ainda corresponda a esses campos resulta em uma sessão completa do phpMyAdmin. Isso é o banco de dados. Se você realmente instalou web-auth/webauthn-lib, você está em WebauthnLibServer e não neste bug.

IDsem CVE ainda
Classebypass de 2FA / verificação de assinatura ausente
AlcanceRemoto (login por cookie, depois WebAuthn ignorado)
CWECWE-347, CWE-287
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
ProdutophpMyAdmin
Afetado5.2.3 tag RELEASE_5_2_3. Tarball padrão / composer install --no-dev
AutenticaçãoLogin por cookie (senha do MySQL), depois WebAuthn ignorado
LicençaGNU Affero GPL v3.0
Labsomente 127.0.0.1:18080

O que um atacante pode fazer

Ele ainda precisa da senha do MySQL (login por cookie). Após essa senha, ele faz POST de webauthn_request_response com challenge correspondente, host de origem, rpIdHash, user-present, credential id registrado e uma assinatura inválida. Ele entra na UI normal. O 2FA sumiu. Isso é o banco de dados (SQL, usuários, export), não um shell PHP no host.

Se você realmente instalou web-auth/webauthn-lib, você está em WebauthnLibServer e não neste bug.

PrivilégioMétodo / caminhoComprovado em lab ou inferido
Completar o 2FA WebAuthn sem o autenticador (integridade do segundo fator)POST webauthn_request_response após a senha, assinatura inválidaComprovado em lab. still_2fa=False landed=True
PMA completo como aquele usuário MySQL (integridade + recon da máquina SQL)mesma sessãoComprovado em lab. Marcadores da UI inicial presentes
Pular a senha do MySQLPOST não autenticadoComprovado em lab como fechado. Permanece na tela de login
Mesmo bypass com web-auth/webauthn-lib instaladoWebauthnLibServerFechado. Não é este leftover
RCE no SO / reverse shelleste leftoverFechado

Fechado neste leftover: PMA não autenticado, um shell PHP no host, e tratar um tarball que realmente instalou web-auth/webauthn-lib como este bug.

Como eu encontrei

Eu li createServer, depois parseAndValidateAssertionResponse, depois o teste unitário que não passa uma chave pública. As verificações estruturais são reais. A assinatura é parseada e ignorada.

Caminhos errados: fazer POST de JSON WebAuthn sem uma sessão de senha prévia; uma assinatura que falhou nas verificações estruturais; Webauthn\Server ainda presente (classe de servidor errada); challenge que não era desta sessão; host de origem incompatível; flag user-present desativada; credential id não presente em allowCredentials.

O Dockerfile do lab copia a 5.2.3, executa composer install --no-dev, depois deleta vendor/web-auth para que CustomServer seja o que está em jogo. O último php -r sai com 1 se Webauthn\Server existir. O init.sql registra 2FA WebAuthn para appuser sem uma chave de hardware. O PoC faz POST da assinatura not-a-real-signature-PMA-WEBAUTHN-BYPASS.

Lab

Clone o pin ao lado do Dockerfile, depois execute:

cd lab
git clone --depth 1 --branch RELEASE_5_2_3 https://github.com/phpmyadmin/phpmyadmin.git src
./run.sh

ou, a partir da raiz do pack após esse clone:

python3 phpmyadmin-webauthn-Abraxas-Labs.py

Somente loopback: http://127.0.0.1:18080. Projeto Compose pma-webauthn-lab. Pin RELEASE_5_2_3. Não envie src/. Witness PMA-WEBAUTHN-BYPASS.

SUCCESS PMA-WEBAUTHN-BYPASS WebAuthn 2FA accepted with garbage signature

A correção

Verifique authenticatorData || SHA-256(clientDataJSON) com a chave pública COSE armazenada; vincule userHandle; imponha signCount. Torne web-auth/webauthn-lib uma dependência real e delete CustomServer, ou falhe de forma segura se a biblioteca estiver ausente. Até então, desative o 2FA WebAuthn ou não exponha este phpMyAdmin.

Referências

  • github.com/phpmyadmin/phpmyadmin tag RELEASE_5_2_3
  • Plugins\TwoFactor\WebAuthn::createServer
  • CustomServer::parseAndValidateAssertionResponse
  • Outros leftovers do mesmo pin: phpmyadmin-pmadb-central-sqli · phpmyadmin-designer-json-sqli · phpmyadmin-setup-validate · phpmyadmin-csrf-sql
  • CWE-347 · CWE-287

Licença

GNU Affero GPL v3.0. Veja LICENSE. Somente lab em loopback. Sem garantia.

Baixar ferramenta