Avaliação técnica de vulnerabilidades no código do Skala
Data de elaboração |
05/04/2023 |
---|---|
Responsável pelo estudo |
José Lucas da Silva Costa |
Equipe do estudo |
|
Alvo | Sistema Skala |
Origem |
Falhas de segurança |
Objetivo |
Avaliar falhas de segurança no sistema Skala |
Documentação Correlata |
|
Observações |
Sem observações. |
1. Glossário de Termos
2. Introdução
3. Grupos de políticas de autorizações
O sistema de permissões do Skala é definido da seguinte forma:
Grupo | Perfis unitários |
RHGerente | RH@skala, Gerente@skala |
Nafas | Nafas@skala |
Auditor | Auditor@skala |
AUDITOR || NAFES | Auditor@skala, Nafas@skala |
NAFAS || GERENTE || RH | Nafas@skala, RH@skala, Gerente@skala |
4. Análise/Checklist na primeira camada (proteção das rotas)
4.1 Pacote MVC (Equipe)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.2 Pacote MVC (Escala)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.3 Pacote MVC (Home)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.4 Pacote MVC (Mapa)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.5 Pacote MVC (Padrao)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.6 Pacote MVC (Plantao)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.7 Pacote MVC (Relatorio)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.8 Pacote MVC (Servidor)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.9 Pacote MVC (ServidorEquipe)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
4.10 Pacote MVC (Solicitacao)
Checklist de avaliação | |
Authorize está presente na controller? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller sem autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Foi testado no navegador o acesso direto a controller com autenticação diferente? | [ ] Sim - [ ] Não - [ ] Não se aplica |
ValidateAntiForgeryToken está presente em todas as ActionResult's com o método POST? | [ ] Sim - [ ] Não - [ ] Não se aplica |
As Authorize's específicas nas rotas estão de acordo com a regra de negócio do sistema? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum uso indiscriminado do recurso AllowAnonymous nas ActionResult's? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum alguma serialização que seja acessível pelo usuário na camada de front-end? | [ ] Sim - [ ] Não - [ ] Não se aplica |
No ORM utilizado existe alguma consulta que esteja em SQL puro? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Caso sim para a pergunta anterior, está havendo algum tratamento para SQL Injection? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Existe algum cookie com informações expostas de autenticação? | [ ] Sim - [ ] Não - [ ] Não se aplica |
Laudo técnico:
Descrever aqui |
5. Análise da segunda camada de proteção (Permissão por perfil)