Insecure Direct Object References

Posted by : at

Category : segurança   owasp


Insecure Direct Object References (IDOR)

O que é

Vulnerabilidade bem comum em que o atacante manipula um dado em que originalmente ele não tem acesso. Alguns exemplos de como pode ser feito são:

  • Manipulação de URL no próprio navegador.
  • Chamadas em API rest alterando um path.
  • Alteração no body da request editando parâmetros que não são os que estavam na tela.

Normalmente o atacante vai se aproveitar de chamadas como:

GET recurso/{idRecurso}

Impactos do problema

Os impactos de um IDOR podem ser bem grandes e depende da funcionalidade. Cada feature tem que validar o que pode ser exposto, criado, editado, removido por um usuário qualquer.

Imagine uma funcionalidade, na qual, o saque de valores pode ter um parâmetro de qual a conta do vai o dinheiro não é validado, isso pode dar brecha para o usuário alterar para uma conta não disponível ou até lavagem de dinheiro que seria um caso mais grave.

Como Evitar

Atualmente a única forma de evitar o problema, é adicionando um controle de acesso para cada recurso. O problema pode ser mais difícil de ser encontrado caso não seja utilizado referências sequenciais, dessa forma, o atacante pode não fazer tentativas com a sequência.

Melhores praticas evitar a vulnerabilidade:

  • Usar hash para ID de cada recurso.
  • Validar escopo na query.
  • Garantir sempre que o dono do recurso que executa a ação.

Want to follow me?

You can get in contact me on this social media.

GitHub: luizleite-hotmart

Twitter: luizleite_

Twitch: coffee_and_code

Linkedin: luizleiteoliveira


About Luiz Leite
Luiz Leite

Oi Eu sou o Luiz, principal na Hotmart e tenho esse blog para contar o que eu aprendo diariamente.

Email : xp.luiz@gmail.com

Website : https://luizleiteoliveira.github.io

About Luiz Leite Oliveira

Hi, my name is Luiz Leite. This is the site where I share some things

Star -->
Useful Links