XSS (Cross-Site Scripting) vulnerability in a bug bounty program

n.njxxk
2 min readSep 7, 2024

--

Achei uma vulnerabilidade chamada Cross-Site Scripting em uma empresa conhecida mundialmente por suas bebidas com embalagem “vermelha” ( infelizmente não o programa não tem permissão de divulgação, então não posso falar qual é).

O que é essa falha e como acontece ?

Cross-Site Scripting (XSS) é uma falha de segurança em sites que permite que um hacker insira códigos maliciosos em páginas vistas por outros usuários, resultando em roubo de informações, redirecionamento para sites perigosos ou modificação do conteúdo da página. O XSS ocorre quando o site não verifica ou filtra corretamente as entradas dos usuários, permitindo a execução de códigos maliciosos.

Um exemplo real é quando um hacker insere um código JavaScript em um campo de comentários sem validação, como <script>alert('Seu site foi hackeado!');</script>. Quando outros usuários acessam a página e veem o comentário, o código é executado automaticamente no navegador deles. Em um ataque real, esse código poderia roubar cookies de sessão, redirecionar para sites maliciosos ou executar outras ações prejudiciais, comprometendo a segurança dos visitantes do site.

Imagem de exemplo abaixo.

Como eu encontrei

Identifiquei que no programa de recompensa por vulnerabilidade existiam varios domínios com “ * .exemplo.com” , isso indica que é permitido qualquel subdomínio. Logo coloquei várias ferramentas ( subfinder , httpx…) para tentar achar o máximo de URL’s, achei em média +400, infelizmente nem todas estavam ativas, algumas retornavam o status-code 404.

Finalmente encontrei !!!

Depois de um longo reconhecimento, tentei pegar vários parâmetros que possam refletir no código fonte da página, algo como: q= , search=, file= ou qualquer parâmetro que possa ter algum valor injetável. Felizmente, encontrei mais de 3,000 parâmetros em relação aos 97 URL’s válidas, injetei um payload ( carga útil / valor malicioso para teste ). Fiquei abrindo cada URL’s com o payload para ver se o script era executado no navegador, fiquei uns 5 minutos abrindo um por um até que ENCONTREI, eu abri um deles e apareceu o pop-up indicando que é vulnerável 😁

--

--