Content area
O aumento de aplicações web em tempo real estabeleceu o protocolo WebSocket como uma tecnologia de comunicação fundamental. No entanto, a sua natureza assíncrona e ”stateful”apresenta desafios de segurança que as metodologias de teste tradicionais, baseadas em HTTP, não conseguem abordar. O panorama atual das ferramentas de segurança para WebSockets é dominado por abordagens manuais ou semi-automatizadas, que não têm sofisticação suficiente para detetar de forma dinâmica e eficiente vulnerabilidades do lado do servidor, deixando uma superfície de ataque por explorar.
Esta dissertação aborda esta lacuna através do desenvolvimento de uma framework de fuzzing automatizada para deteção de vulnerabilidades do lado do servidor em várias implementações de WebSocket. A principal contribuição consiste na melhoria do extensão Backslash Powered Scanner (BPS) do Burp Suite, originalmente destinada a HTTP, para o domínio dos WebSockets. A solução envolveu a introdução de uma abordagem inovadora para o fuzzing de mensagens WebSocket, desde o estabelecimento da ligação até à recolha de respostas. A lógica de deteção principal do scanner foi adaptada com novos critérios de comparação ajustados ao protocolo, o que permite uma análise detalhada do comportamento do servidor sem depender da semântica tradicional de HTTP.
A eficácia da framework foi validada em dois ambientes distintos: a aplicação Damn Vulnerable Web Sockets (DVWS) e um laboratório personalizado com uma implementação complexa de Socket.IO. A avaliação demonstrou que a framework identificou com sucesso e de forma automática uma série de vulnerabilidades de alto impacto do lado do servidor, incluindo SQL Injection, Server-Side Template Injection, PHP Code Injection, e File Inclusion. Em testes comparativos, a framework superou consistentemente as ferramentas existentes, que exigiam uma intervenção manual significativa e falhavam frequentemente em cenários com handshakes complexos.
Esta investigação fornece uma ferramenta prática e robusta que preenche uma lacuna na segurança de aplicações web modernas. Ao adaptar com sucesso a lógica de análise do BPS ao protocolo WebSocket, este trabalho oferece uma solução eficaz para profissionais de segurança e contribui com melhorias valiosas e open-source para a comunidade.