
PoC para Silverpeas <= 6.4.2 Enumeração de Nomes de Usuário
Script de Prova de Conceito para demonstrar uma vulnerabilidade de enumeração de nomes de usuário no Silverpeas versões 6.4.1 e 6.4.2.
Resumo: A vulnerabilidade existe na funcionalidade de senha esquecida (endpoint /silverpeas/CredentialsServlet/ForgotPassword). Ao enviar requisições POST com possíveis nomes de usuário no parâmetro Login, o servidor responde com diferentes códigos de status HTTP (200 OK para usuários válidos, 302 Found para usuários inválidos). Essa discrepância permite que um atacante remoto não autenticado determine nomes de usuário válidos no sistema.
silverpeas_enum_poc.pyrequests (pip install requests)Clone o repositório ou baixe o script (silverpeas_enum_poc.py).
Instale as dependências: pip install requests
Execute o script a partir do seu terminal:
Testar um único nome de usuário:
python silverpeas_enum_poc.py <TARGET_URL> -u <USERNAME>
Exemplo: python silverpeas_enum_poc.py http://vulnerable-silverpeas.local -u admin
Testar nomes de usuário a partir de um arquivo:
python silverpeas_enum_poc.py <TARGET_URL> -w <WORDLIST_FILE>
Exemplo: python silverpeas_enum_poc.py https://vulnerable-silverpeas.com -w users.txt
O script exibirá:
[+] Username '...' appears VALID (Status: 200) para nomes de usuário que provavelmente correspondem a contas existentes.[-] Username '...' appears INVALID (Status: 302) para nomes de usuário que provavelmente não correspondem a contas existentes.Este script é fornecido para fins educacionais e para demonstrar a vulnerabilidade. Use este script com responsabilidade e apenas contra sistemas para os quais você tenha autorização explícita e por escrito para testar. Escaneamento ou teste não autorizado é ilegal e antiético. O autor não assume nenhuma responsabilidade e não se responsabiliza por qualquer uso indevido ou dano causado por este script.