Como conquistei meu primeiro Bug Bounty
Ocorreu em uma plataforma de contratações de terceirizados, não vou citar o nome por conta da privacidade. Conheci essa plataforma no Linkedin, o Dev que a criou é bem ativo por lá, postando atualizações, pedindo dicas e tudo mais.
Então, resolvi dar uma olhada no funcionamento, como funcionava o fluxo de requests e responses (usei Burp Suite para isso).
Quando o usuário criava a conta, recebia um código no e-mail, precisava coloca-lo pra poder validar sua conta (padrão em autenticação de 2 fatores).
Dando uma analisada em todo o sistema, percebi que quando batia na rota que trazia os dados do perfil (/perfil, por exemplo), trazia um campo chamado token, que era exatamente o código que eu havia passado pra validar meu e-mail. Vendo isso, notei uma possível falha.
Criei um novo usuário.
Ao criar, antes de passar o código que recebia no e-mail, eu já tinha o token de auth na rota anterior (usado para validar os request e identificar meu usuário). Então, fui testar se já conseguia bater na rota /perfil pra conseguir ver o campo token.
**E sim! Eu conseguia! **
Peguei o valor do campo token, passei para a rota de validação de 2 fatores e pronto, meu user está validado!.
Dessa forma, conseguia validar qualquer e-mail, sem ter acesso a ele.
Enviei o relatório ao dono da plataforma, que reconheceu a falha e me recompensou.
Embora já tivesse identificado vulnerabilidades em outros sistemas, foi minha primeira experiência sendo premiado por isso.