BLOG IBSEC

Para facilitar o salvamento de dados enviados por meio de um formulário HTML em um banco de dados ou objeto, muitas estruturas de aplicativos da Web incluíram bibliotecas para vincular automaticamente parâmetros de solicitação HTTP (normalmente enviados por meio de formulários) aos campos de modelos de banco de dados ou membros de um objeto, exigindo apenas codificação mínima.

Digamos que temos um formulário HTML (muito simples):

    1    <form action=”/register” method=”POST”>

     2   <input type=”text” name=”username” value=””>

     3   <input type=”password” name=”password” value=””>

     4   <input type=”text” name=”email” value=””>

     5    <button type=”submit”>Register</button>

     6    </form>

Quando o formulário for enviado ao aplicativo web, ele enviará os dados do formulário como parâmetros de solicitação HTTP, e o código backend terá que ler cada parâmetro individualmente em uma variável correspondente. Então, depois que todos os campos forem lidos, o aplicativo normalmente executará uma atualização do banco de dados ou uma operação de inserção para salvar os dados.

O Mass Assignment possibilita escrever menos código para lidar com esse processo – pense em quanta codificação essa técnica poderia economizar se fosse um objeto que tivesse dezenas de campos, e multiplique isso por uma aplicação complexa que tenha muitos desses objetos em seu banco de dados.

Vulnerabilidades de mass assignment ocorrem quando o modelo de banco de dados que está sendo atribuído contém campos relevantes para a segurança e o usuário do aplicativo pode fornecer valores na solicitação POST que são salvos nesses campos, mesmo que não estejam presentes no formulário HTML.

Por exemplo, se o modelo User contivesse um campo isAdmin: Boolean, o usuário poderia adicionar o parâmetro de corpo POST isAdmin=true e tornar-se um administrador.

Para que isso ocorra, um invasor precisaria adivinhar os nomes dos campos confidenciais ou o código-fonte do aplicativo vulnerável teria que estar disponível para o invasor (permitindo-lhe ver quais campos confidenciais estão presentes no modelo de dados).

Os impactos deste ataque podem incluir ignorar a lógica de autenticação ou autorização ou elevação de privilégios. Isso poderia resultar na destruição ou divulgação de dados dentro do aplicativo.

Confira também: Segurança da informação: o que é ransomware?

Aprenda Mais sobre Cibersegurança e Mantenha-se Seguro com a IBSEC

Se você achou interessante o que leu sobre o conceito de mass assignment e quer aprofundar seus conhecimentos em cibersegurança, a IBSEC oferece uma variedade de cursos especializados para ajudá-lo a aprimorar suas habilidades na área. Nossos cursos são projetados para oferecer conhecimento prático e teórico para todos os níveis de experiência, desde iniciantes até profissionais experientes.

Inscreva-se em nossos cursos hoje mesmo e invista em uma carreira de sucesso em cibersegurança. Clique aqui e confira.

Rua Conceição de Monte Alegre, 107 - Bloco B
10º andar, Brooklin - São Paulo, SP - Brasil | CEP: 04563-060

contato @ ibsec.com.br

© 2024 Por IBSEC - Instituto Brasileiro de Cibersegurança | CNPJ: 07.697.729/0001-08

Todos os diretos reservados. | Termos | Privacidade