Este projeto vamos explorar alguns comuns ataques em aplicações web, mapear 5 dos 10 riscos de segurança usando o OWASP Top 10 2025 e entender na prática como a detecção funciona.
Status
Doing
User Name
Naftali da Costa
Overview
A segurança de aplicações web é essencial, pois sites e sistemas expostos à internet representam uma porta de entrada frequente para ataques cibernéticos. Uma vulnerabilidade pode comprometer dados, serviços e recursos internos ligados à aplicação. O projeto tem como foco o estudo da detecção de ataques web. A proposta é compreender como comportamentos suspeitos podem ser identificados por meio da análise de logs, do monitoramento do tráfego de rede e do uso de Web Application Firewalls. Com uma abordagem prática, o conteúdo ajuda a desenvolver uma visão mais clara sobre ameaças comuns e medidas importantes para proteger aplicações web expostas na internet.
Antes de começar a mexer com ferramentas precisamos entender que tipos de ataques são usados para comprometer sites e as suas classificações.
Ataques do lado do cliente
Os ataques do lado do cliente exploram falhas no comportamento do usuário ou vulnerabilidades presentes em seu dispositivo. Em muitos casos, eles aproveitam brechas nos navegadores ou induzem a vítima a realizar ações inseguras, permitindo o acesso indevido a contas e o roubo de informações sensíveis.
Como dispositivos pessoais podem armazenar dados importantes, um ataque bem-sucedido pode causar perda ou exposição de informações. Com o crescimento da procura por aplicações web mais dinâmicas e completas, muitas empresas passaram a integrar plugins e serviços de terceiros. Embora isso amplie as funcionalidades dos sistemas, também aumenta a superfície de ataque nos navegadores e cria novas oportunidades para ameaças desse tipo.
Imagine que você está navegando em uma loja virtual e clica na imagem de um produto que despertou seu interesse. Sem perceber, um cracker inseriu uma janela invisível e maliciosa na página, capaz de carregar outro site em segundo plano. Esse site oculto executa um código que captura os cookies da sua sessão de acesso. Tudo aparenta estar normal, mas o atacante pode usar esses dados para se passar por você e acessar sua conta.
Limitações de um SOC
As ferramentas utilizadas por um analista de cyber, como registros do servidor e capturas de tráfego de rede, oferecem pouca ou nenhuma visibilidade sobre o que ocorre dentro do navegador do usuário. Como os ataques do lado do cliente acontecem diretamente no sistema da vítima, eles podem executar códigos maliciosos, coletar informações ou modificar o ambiente sem necessariamente gerar requisições HTTP suspeitas ou tráfego de rede visível para o SOC.
Por esse motivo, identificar esse tipo de ameaça apenas pela perspectiva de um Centro de Operações de Segurança pode ser uma tarefa difícil, ou até impossível, sem controles adicionais no navegador ou mecanismos de monitoramento nos dispositivos dos usuários.
Um dos ataques mais frequentes do lado do cliente é o Cross-Site Scripting (XSS ). Ele acontece quando scripts maliciosos são inseridos em um site confiável e executados no navegador da vítima. Por exemplo, se uma página possuir uma área de comentários sem validação adequada, um invasor pode publicar algo como Olá (<>script>alert('Você foi invadido');) Ao abrir a página, o navegador executa o código e exibe uma mensagem na tela. Em uma situação real, o script poderia ser usado para roubar cookies ou dados da sessão. No OWASP Top 10:2025, o XSS é classificado como A05:2025 Injection, especificamente relacionado à CWE-79: Improper Neutralization of Input During Web Page Generation.
A causa técnica mais comum do XSS é a aplicação aceitar dados controlados pelo usuário sem validá-los, filtrá-los ou escapá-los corretamente antes de inseri-los em uma página. Por isso, o ataque se enquadra em Injection.
O diagrama abaixo mostra como funciona esse tipo de ataque.
No ataque Cross-Site Request Forgery (CSRF), o navegador é induzido a realizar solicitações não autorizadas em nome de um usuário que já possui uma sessão ativa e confiável. A imagem abaixo explica como funciona um ataque de CSRF. As consequências dependem da funcionalidade vulnerável. Um atacante pode induzir o navegador da vítima a enviar uma solicitação não intencional ao servidor, por meio de uma URL, do carregamento de uma imagem ou de uma requisição JavaScript. O servidor pode tratar essa solicitação como legítima porque ela contém a sessão autenticada da vítima. Assim, o atacante pode executar ações dentro dos limites das permissões dessa conta, como adicionar, alterar, excluir ou visualizar dados. Se a vítima for uma administradora, o impacto poderá incluir a alteração das configurações da aplicação, o gerenciamento de usuários ou até a desativação de recursos, caso essas funções estejam disponíveis. O CSRF não aumenta os privilégios do atacante; ele utiliza os privilégios que a vítima já possui.
No Clickjacking (A06:2025) os crackers sobrepõem elementos invisíveis ao conteúdo legítimo de uma página. Assim, a vítima acredita estar clicando em uma opção segura, quando na verdade está executando uma ação diferente da esperada.
Essa falha ocorre quando a aplicação permite que sua interface seja incorporada ou manipulada visualmente em frames, enganando o usuário para clicar em algo diferente do que imagina.
Ataques do lado do servidor
Ataques do lado do servidor exploram vulnerabilidades presentes no servidor web, no código da aplicação ou na infraestrutura de backend que sustenta um site ou sistema web. Enquanto ataques do lado do cliente manipulam a interação do usuário com a página, os ataques do lado do servidor têm como alvo os próprios sistemas que mantêm a aplicação em funcionamento.
Ao explorar falhas na lógica do servidor, configurações incorretas ou problemas no tratamento das informações enviadas pelos usuários, invasores podem obter acesso indevido, roubar dados e prejudicar serviços ativos. Provavelmente, os sites que utilizamos possuem diversos formulários para receber informações. Alguns permitem inserir usuário e senha durante o login, enquanto outros possibilitam pesquisar pedidos anteriores ou encontrar produtos específicos. Caso o site trate de forma errada os dados enviados em apenas um desses campos, um atacante pode aproveitar essa falha para acessar informações confidenciais de clientes ou dados financeiros armazenados no banco de dados.
Uma vantagem para os profissionais de defesa é que ataques do lado do servidor geralmente deixam rastros, desde que se saiba onde procurar. Toda solicitação feita a uma aplicação web é processada pelo servidor e pode ser registrada em logs ou em outras ferramentas de monitoramento. Essas solicitações também trafegam pela rede, permitindo que a análise do tráfego revele comportamentos suspeitos. Nas próximas atividades, serão identificados ataques do lado do servidor por meio de registros e do monitoramento de rede.
Uns dos tipos de ataques do lado do servidor é o ataque de força bruta que ocorre quando um invasor tenta repetidamente diferentes nomes de usuário e senhas para conseguir acesso não autorizado a uma conta. Ferramentas automatizadas costumam ser utilizadas para enviar essas tentativas rapidamente, permitindo testar grandes listas de credenciais e senhas conhecidas. Em 2021, a T-Mobile sofreu uma violação relacionada a um ataque de força bruta, que expôs informações pessoais identificáveis de mais de 50 milhões de clientes.
O outro tipo é o Injeção de SQL esse ataque tem como alvo o banco de dados que está por trás de um site. Ele acontece quando a aplicação cria consultas por meio da concatenação de textos, em vez de utilizar consultas parametrizadas. Dessa forma, o invasor pode alterar o comando SQL original para consultar, modificar ou manipular dados. Em 2023, uma vulnerabilidade desse tipo no MOVEit, software de transferência de arquivos, foi explorada e afetou mais de 2.700 organizações, incluindo órgãos do governo dos Estados Unidos, a BBC e a British Airways.
Por fim temos o ataque de Injeção de comandos que é um ataque comum que ocorre quando um site aceita uma entrada fornecida pelo usuário e a encaminha ao sistema sem realizar a validação adequada. O invasor pode inserir comandos maliciosos, fazendo com que o servidor os execute com as mesmas permissões da aplicação.
Detecção usando logs.
Quando se trata de detectar ataques temos dois tipos de detecção uma em tempo real e outra depois que o ataque aconteceu. O ideal é sempre detectar o ataque quando está acontecer. Vamos considerar primeiro uma situação em que o ataque já aconteceu, como o ataque deixou rastros devemos entender a linha do templo, classificar o ataque e coletar alguns IoCs. O primeiro passo é analisar o arquivo que aguarda a requisições que foram feitas ou seja os acessos. Geralmente, em servidores linux o nome desse arquivo é "access.log". A imagem abaixo explica o formato das entradas de logs no arquivo "access.log".
Com base na imagem, abaixo o ataque começou no dia 20 de agosto de 2025 às 07hh:37mm:38ss, essa informação corresponde a primeira requisição com o verbo http GET que foi enviada ao nosso servidor Web. Note que essaa requsição foi enviada para o caminho /login.php usando o user-agent é FFUF v2.1.0. Isso foi uma enumeração interativa de diretorios usando uma lista de palavras personalizada ou comum. O objetivo do cracker foi encontrar contéudos, páginas antigas ou portais administrativos, e não credencias.
Detectando ataques usando captura de redes
Web Application Firewall (WAF)
Os Web Application Firewalls (WAFs) costumam ser a primeira proteção de sites e aplicações web. Até agora, neste projeto, nós focamos em identificar e analisar atividades maliciosas. Agora, vamos mudar o foco para uma das ferramentas mais úteis para bloquear esse tipo de ameaça. Os WAFs funcionam como uma espécie de porteiro das aplicações web. Eles verificam os pedidos completos, de forma parecida com o Wireshark, mas também conseguem descriptografar o tráfego TLS e filtrar os dados antes que eles cheguem ao servidor.