Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Querys vulneraveis a SLQ Injection

Nas querys ao banco o conteudo enviado pelo usuario é diretamente inserido na query pura do banco Por exemplo na função:

// em client.js
buscaPorId(res, id) {
const sql = `SELECT * FROM Clientes WHERE id=${id}`

executaQuery(res, sql)

Podendo se fazer coisas como:

curl http://localhost:4000/clientes/cliente/1%20UNION%20(SELECT%20TABLE_NAME,%20TABLE_SCHEMA,%203%20FROM%20information_schema.tables)
3 respostas

Fala ai Guilherme, tudo bem? Obrigado pelo feedback.

Acho que o foco do curso era mais mostrar como o GraphQL funciona e como começar a utilizá-lo. Então foi algo que passou despercebido.

Caso você ou algum outro aluno que veja essa dúvida, temos diversos cursos sobre segurança:

  • https://cursos.alura.com.br/course/seguranca-web-em-java-parte-1
  • https://cursos.alura.com.br/course/seguranca-web-em-java-parte-2

Ambos são voltados para o Java, mas, o conceito basicamente é o mesmo para se usar em Node, PHP, C#, Python, etc...

Espero ter ajudado e obrigado pelo aviso (muito bem observado).

solução!

Sim! Estendo completamente, mas ainda assim acho bom manter boas praticas de segurança sempre, embora possa soar um pouco repetitivo

Concordo contigo Guilherme, irei passar o feedback para o pessoal.

Abraços e bons estudos.