Desafiei HACKERS a invadirem meu site! (Eles conseguiram 💀)

Desafiei HACKERS a invadirem meu site! (Eles conseguiram 💀)

Desafio de CTF: Encontrando Vulnerabilidades em um Site de Jogos

Introdução ao Desafio

  • O criador do site, inspirado na Steam, lançou um desafio para os inscritos encontrarem vulnerabilidades em sua plataforma.
  • Cada falha encontrada valia R$ 150, totalizando R$ 750 inicialmente, mas foram descobertas seis vulnerabilidades, aumentando o prêmio para R$ 900.
  • O patrocinador do CTF foi a Relaxpay, que será mencionada mais adiante.

Primeira Vulnerabilidade: Race Condition

  • A primeira vulnerabilidade reportada foi uma "race condition", identificada pelo usuário Aviator em apenas 3 minutos.
  • Para proteger contra essa falha, o criador utilizou transações do MongoDB e implementou um hash único para cada compra.
  • A verdadeira exploração da race condition ocorreu durante o reembolso, onde múltiplas requisições eram aceitas.

Segunda Vulnerabilidade: Misassignment nas Avaliações

  • A segunda vulnerabilidade foi descoberta por Javox em 20 minutos e envolveu a manipulação das avaliações dos jogos.
  • Ao interceptar a requisição de avaliação, era possível alterar o preço da compra original e obter dinheiro extra ao solicitar reembolso.

Terceira Vulnerabilidade: CVE nos Middlewares

  • Reportada pelo Nuo 28, esta vulnerabilidade estava relacionada a um CVE recente no Next.js sobre middlewares.
  • O problema permitia burlar autenticações usando sub-requisições através de headers específicos.
  • Uma dica foi dada durante o CTF para contornar as proteções da Versel que removiam esses headers.

Quarta Vulnerabilidade: IDOR no Reembolso

  • A quarta vulnerabilidade foi um IDOR (Insecure Direct Object Reference), reportado por Gome Zero após 43 minutos do início do desafio.
  • Durante o processo de reembolso, se enviássemos o ID da compra errada na requisição, poderíamos acessar compras não autorizadas.

Conclusão e Patrocinador

  • O vídeo destaca como essas vulnerabilidades são comuns em sistemas reais e enfatiza a importância da segurança cibernética.
  • A Relaxpay é apresentada como uma solução prática para integrar métodos de pagamento sem complicações burocráticas.

Vulnerabilidades em Sistema de Reembolso e XSS

Exploração da Vulnerabilidade de Reembolso

  • O sistema não valida se a compra que está sendo reembolsada pertence ao usuário, permitindo que um ID aleatório seja utilizado para solicitar o reembolso.
  • A vulnerabilidade foi reportada por Luiz Bagre, destacando a possibilidade de explorar um XSS (Cross-Site Scripting) em um código Next.js, algo raro em frameworks que utilizam JSX.

Detalhes sobre a Vulnerabilidade XSS

  • A vulnerabilidade estava presente na edição do perfil do usuário, onde apenas a descrição poderia ser alterada. O payload inicial testado foi um script simples.
  • O servidor bloqueava caracteres especiais, mas o código fonte revelou que a descrição era renderizada dentro de uma string com crases, permitindo manipulação via interpolação no JavaScript.
  • Ao inserir uma expressão como alert, o JavaScript avalia essa expressão durante a construção da string, resultando em um alerta exibido para todos os visitantes do perfil.

Denial of Service (DoS)

  • Uma vulnerabilidade adicional descoberta por Henry MataGi causou um ataque DoS, fazendo algumas páginas do site pararem de funcionar devido à forma como as estrelas eram processadas nas avaliações.
  • Embora o servidor aceitasse apenas valores entre 1 e 5 para as estrelas, inserir valores decimais como 1.1 causava erros de runtime ao tentar criar arrays com ponto flutuante no JavaScript.
  • Esse erro tornava o serviço indisponível para qualquer pessoa tentando acessar as páginas afetadas.

Conclusão e Reflexões Finais

  • O autor expressa satisfação com a experiência do CTF (Capture The Flag), indicando intenção de participar mais desses eventos no futuro e convida os espectadores a segui-lo nas redes sociais.
Video description

Nesse vídeo desafiei os meus inscritos a hackearem o meu site! Era pra ter 5 vulnerabilidades, só que eles eram bons e encontraram 6... Se vcs encontrarem mais, mandem aqui no comentario hehehe. 💜 Procurando um gateway de pagamento pro teu site? Acabou de achar! Acesse agora a RelaxPay, taxas baixas, documentação objetiva e muito mais! https://relaxpay.site/dashboard/register?ref=E628D9F4 👉 Servidor do Discord: https://discord.gg/UpYMbKsSX6 👨‍💻 Liberei o código do CTF pra quem quiser ver: https://github.com/YuriRDev/CTF-1