Era uma vez, eu sonhava em me tornar um especialista em segurança da informação e diligentemente vasculhei vários sites em busca de vulnerabilidades. Minha maior vitória foi encontrar uma vulnerabilidade no sistema de pagamento QIWI, pelo qual bons desenvolvedores me deram $ 200. Com isso, o problema descoberto foi resolvido apenas 3,5 anos após a denúncia, e a partir daí foi possível contar ao Universo sobre ele. O engraçado é que descobri essa vulnerabilidade completamente por acidente e você poderia facilmente estar no meu lugar.
Em 2015, usei os cartões de débito virtuais QIWI para pedir guloseimas para minha irmãzinha no AliExpress. O sistema era simples: você tem algum valor em dinheiro na sua conta QIWI, clica no botão "Emitir um cartão virtual" e recebe informações para pagamentos na Internet. Você consegue de uma maneira complicada: você pode ver algo na interface da web (os primeiros e últimos 4 dígitos do número do cartão, data de validade), mas a coisa mais interessante chega até você via SMS (8 dígitos do meio do número do cartão, CVV2). Assim que algo deu errado: os primeiros e últimos 4 dígitos do número do cartão ainda eram exibidos na interface da web, de repente eles começaram a vir para SMS. Os 8 números restantes, aparentemente, tiveram que ser descobertos telepaticamente.
Sou uma pessoa simples: vejo um problema - reclamo ao suporte técnico. A resposta veio a mim muito rapidamente: “Este é um erro temporário, os especialistas estão lidando com esta situação. Pedimos desculpas por qualquer inconveniente causado." OK!
Depois de alguns dias, tudo funcionou, mas não da mesma maneira que antes. Os primeiros e últimos 4 dígitos do número do cartão ainda eram enviados para SMS, e o site agora exibia os 8 dígitos do meio.
Espere um minuto, e se houver um problema de segurança, pensei. Como qualquer pessoa de uma cidade grande, vi todos os tipos de cheques na minha vida. Geralmente indicam os últimos 4 dígitos do número do cartão, o que significa que esses dados não são secretos. Eles também são frequentemente vistos em sites onde você insere e salva os detalhes do seu cartão. Algumas vezes vi recibos de caixa, onde os primeiros 4 dígitos também estavam indicados. Olhando para os cartões bancários da minha família, descobri que todos tinham o mesmo prefixo. Também tão secreto, então. Portanto, os dados secretos anteriores vinham via SMS, o site exibia dados públicos, mas agora tudo mudou ao contrário!
Sentei-me em frente ao computador e escrevi um relatório de bug detalhado para o programa de pesquisa de vulnerabilidade, pesquisando no Google todos os tipos de coisas interessantes sobre números de cartões bancários. Meu pensamento principal era: "Tudo estava bem, mas ficou ruim." Após 9 meses eles me deram dinheiro para isso, e depois de mais 2,5 anos eles consertaram o erro e permitiram a divulgação da história. O que você pode fazer, às vezes você precisa ser capaz de esperar! Na próxima iteração, a QIWI aplicou um conceito diferente, que me parece mais conveniente e seguro: para ver todos os detalhes do site, é necessário inserir o código de confirmação do SMS nele.
Qualquer um pode ter notado e reclamado desse bug, inclusive você, caro amigo. Como você pode ver, isso não exigiu nenhum conhecimento específico de segurança da informação e até mesmo uma busca especial pelo problema, tudo acontecia quase que por si só.
Sejam gatos, reclamem com os desenvolvedores sobre vulnerabilidades e bugs, e tudo ficará bem para todos!
O original foi publicado em meu blog em 23/03/19.