DEV Community

Cover image for Como evitar SQL Injection no MongoDB
William Koller
William Koller

Posted on • Edited on

12

Como evitar SQL Injection no MongoDB

O que é SQL Injection?

SQL Injection é um ataque no qual código malicioso é passado para um servidor SQL, que o executa. O ataque pode resultar em acesso não autorizado a dados confidenciais, ou destruição de dados críticos.

Como saber se uma query não previne SQL Injection?!

Neste exemplo estou usando CodeQL, o que é CodeQL?!

  • É um mecanismo de análise de código que descobre vulnerabilidades.

Nesse exemplo na aba de security do github:

Image description

O code sacanner nos avisa, que se uma consulta de banco de dados (como uma consulta SQL ou NoSQL) for criada a partir de dados fornecidos pelo usuário sem higienização suficiente, um usuário mal-intencionado poderá executar consultas de banco de dados mal-intencionadas.

Como recomendação para queries NoSQL, podemos usar um operador como $eq do MongoDB

Iremos fazer um refactor no UsersRepository para evitar SQL Injection:

Image description

Depois de rodar o Github Actions, notamos que não tem mais alerta na aba de security no github:

Image description

E assim não temos mais alerta de SQL Injection;

Repo de exemplo:

https://github.com/williamkoller/my-readings

Espero ter te ajudado de alguma maneira, pode comentar e compartilhar.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (1)

Collapse
 
renatoleal_dev profile image
Renato Marcondes Leal

Muito bom Will. Parabéns e obrigado por compartilhar!

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up