Magic Links
Links de acesso sem senha, cada vez mais comuns em SaaS e ferramentas internas. A segurança depende inteiramente da entropia e validade do token.
Atualizado
Links de acesso sem senha, cada vez mais comuns em SaaS e ferramentas internas. A segurança depende inteiramente da entropia e validade do token.
Verificar se o token é criptograficamente aleatório (deve ter ≥ 128 bits de entropia)
Verificar se o token segue algum padrão previsível (timestamp + userId, hash MD5 do e-mail)
Analisar múltiplos tokens gerados, há correlação entre eles?
Testar se o magic link pode ser usado mais de uma vez
Testar se o magic link funciona após logout do usuário
Verificar tempo de validade, ideal entre 5 e 15 minutos
Testar validade após mudança de fuso horário ou manipulação do relógio
Verificar se o link funciona via HTTP (deveria ser HTTPS apenas)
Troca de parâmetros no link (user_id,email,account_id) — acesso de outro usuário
Enumeração de usuários na geração do link, resposta diferente para e-mail inexistente
Enumeração por tempo de resposta (timing attack na geração)
Token aparece na URL, fica exposto em logs do servidor, Referer headers e histórico do browser
Token aparece no headerRefererao navegar para outro site após o login
Rate limit na geração do link, possível flood de e-mails
Geração em massa causa DoS por e-mail na caixa do usuário
Ao encontrar token de uso múltiplo ou sem expiração, demonstre o impacto: gere um link, use uma vez, use novamente 30 minutos depois. O screenshot da segunda autenticação bem-sucedida é evidência suficiente.
Atualizado