• escalação horizontal de privilégios; e
  • acesso direto e não autenticado.

Escalação Vertical de Privilégios

Este tipo de exploração ocorre quando um usuário com um nível de privilégio baixo pode executar ações previstas apenas para perfis de acesso mais elevados.

Figura 1 — Exemplo de requisição que consulta o número de celular do cliente a partir do CPF

Figura 2 — Exemplo de requisição com os parâmetros “cpf” e “all_data”

Escalação Horizontal de Privilégios

Este tipo de exploração acontece quando, por exemplo, um usuário consegue acessar as informações de outros usuários com o mesmo perfil de autorização.

Figura 3 — Exemplo da requisição da funcionalidade de Perfil

Acesso direto e não autenticado

Acessos diretos e não autenticados podem ocorrer devido a diversas implementações errôneas, por exemplo, quando considera-se páginas ou rotas que podem ser acessadas sem uma sessão válida. Isso pode acontecer em pontos afetados que seriam acessados de forma autenticada, de acordo com as regras de negócio em vigor no aplicativo, porém mesmo com a remoção dos tokens de sessão ainda é possível acessá-los normalmente.

Figura 4 — Exemplo de URLs que requerem autenticação

Impacto

Uma vez que ocorre a má implementação do controle de acesso, um eventual atacante poderá obter acesso irrestrito e privilegiado à aplicação alvo, como por exemplo: acessar áreas exclusivas, recuperar informações pessoais dos usuários e consultar funcionalidades que apenas um usuário autenticado deveria ter acesso.

Correção

A principal maneira de se resolver problemas da escalação de privilégios e do acesso direto e não autenticado é:

  • garantir que os usuários dos demais perfis executem apenas ações que estão dentro da sua autorização, de acordo com as regras de negócio do sistema.

Conclusão

Como pôde ser observado, o controle de acesso em aplicações web é um desafio, devido ao fato de haverem diversas vertentes que precisam ser analisadas. Todavia, existindo um bom planejamento e o devido conhecimento, toda preocupação proveniente da exploração dos respectivos problemas de segurança pode ser sanada ou evitada nas aplicações.

Referências