2
respostas

Mass Assignment Attack - Duvida sobre o ID

Gostaria de saber como tratar esse update por exemplo, pois se o usuário final pegar a requisição que é feita verificar que passamos um Id no momento do update, como podemos previnir que ele não passe um id indevido?

2 respostas

OII, Wesley! Tudo bem?

Obrigada por trazer esse ponto para o fórum, pois é uma preocupação super válida se tratando de segurança de APIs.

No caso de um update, assim como no exemplo de cadastro que foi apresentado, a solução mais comum é utilizar o padrão DTO (Data Transfer Object). Com ele, é possível definir quais campos podem ser alterados pelo usuário final, mantendo assim a segurança.

Nesse artigo disponibilizado abaixo, você pode entender melhor como funciona na prática a aplicação. Vai ser útil para aprofundar os seus conhecimentos.

Espero ter ajudado. Continue interagindo no fórum compartilhando suas dúvidas, sugestões e projetos.

Bons estudos, Wesley!

Olá, tudo bem e vc?

Eu entendi um pouco sobre o conceito do DTO. Mas minha dúvida em sí seria quanto ao ID. Por exemplo, o DTO serve para tratar os dados que podem ser alterados, porém para iniciar a alteração é necessário saber o id daquilo que vai ser alterado.

Por exemplo, digamos que tenhamos dois usuários, um com id 1 e o outro com id 2. Neste cenário se um atacante souber que o usuário de id 2 por exemplo é um admin e quiser alterar a senha dele através do número do id ele irá conseguir, pois ele sabe que passando o id correto ele irá conseguir mandar o body com as alterações desejadas.