top of page

OWASP TOP 10

owasp-100709974-large.jpg

É a framework pela qual, normalmente, tanto pentesters como gestores de vulnerabilidades se guiam para testar falhas que possam eventualmente existir em aplicações web. São enumeradas, de seguida, as diversas categorias que compõem esta framework

Injeção

Diferentes tipos de injeção como SQL, NoSQL, OS e LDAP injection. Podem ocorrer quando dados são enviados a um interpretador como parte de um comando ou query; estes dados podem "enganar" esse interpretador para que o mesmo execute comandos e, dessa forma, o atacante consiga aceder a dados sem a devida autorização

Broken Authentication - Autenticação partida

Tem a ver com situações em que funções de uma aplicação relacionadas com a gestão de autenticação e da sessão estão desconfiguradas; dessa forma, um atacante consegue obter palavras-chave, tokens de sessão ou mesmo passarem-se por alguém de forma temporária ou permanente

Exposição de dados sensíveis  - acesso a informação sensível

Existem muitas aplicações web e mesmo API's (Aplication Programming Interface) que não protegem dados sensíveis;  se não houver uma camada extra de proteção, como a encriptação, os atacantes podem aceder a dados que deviam estar protegidos

XML External Entities (XXE - Entidades externas de XML)

Estas falhas provêm de processadores de XML desconfigurados, e esta falha pode levar a que ficheiros internos estejam expostos. Mais especificamente, com esta falha, os atacantes podem proceder à análise de portas existentes, execução de código remota, negação de serviço e aceder a partilhas de ficheiros internos

Broken Access Control - Controlo de acesso desconfigurado

É uma falha existente nos acessos por parte dos utilizadores autenticados, que por vezes não são configurados da forma mais assertiva o reforçada. Na presença desta falha, o atacante consegue chegar à informação de outra pessoa

Security Misconfiguration - Desconfiguração de segurança

É a falha mais comum, porque é o resultado de diversas situações. Pode surgir de um sistema ou tecnologia que o site usa e que não está na versão mais recente, o que facilita a exploração de vulnerabilidades porventura existentes; bastante frequente é a utilização de uma falha nos headers de HTTP, que podem vazar alguma versão existente do lado do servidor, por exemplo, e o atacante usar essa informação para ir procurar exploits ou meios de exploração de servidores com essa mesma versão

Cross-Site scripting (XSS)

É outra falha que surge derivado da falta de validação do input de um utilizador através de uma API, e que consegue criar ou HTML ou javascript. Este problema permite aos atacantes executar scripts no browser da vítima, o que significa que, se a exploração da falha for bem sucedida, o atacante pode roubar a sessão do utilizador, desconfigurar sites alterando o visual e redirecionar o utilizador para sites maliciosos.

Sem entrar em grandes pormenores, o XSS pode ser refletido quando o browser responde a um pedido da mesma forma que o pedido chega ao site; persistente - mais grave, porque qualquer pessoa que entre numa página com esse script irá ser vítima; e DOM (Relação com o Modelo de Objeto do Documento)

Des-serialização insegura

A consequência mais direta se um atacante conseguir explorar esta falha é a possibilidade de execução de código remota. A ação mais direta da desserialização é recuperar dados a partir de um conjunto de bytes, garantindo que correspondem às mesmas informações

Uso de componentes com falhas conhecidas

Quando se fala em componentes, fala-se por exemplo de frameworks, livrarias, módulos de software, que correm com os mesmos privilégios que os da aplicação em si. Caso um componente seja explorado com sucesso, esse ataque pode levar à perda de dados ou mesmo a indisponibilidade do servidor

Logs insuficientes e Monitorização

O facto de não haver logs do que acontece numa aplicação, isto é, os pedidos que lhe chegam e as devidas respostas, faz com que seja bastante mais complicado responder em caso de incidente e, mais grave ainda, que um atacante consiga persistência no sistema, podendo depois escalar para outros sistemas, destruir dados, etc.

bottom of page