Metodologia de Vulnerabilidades Web

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

Em todo Web Pentest, existem vários lugares ocultos e óbvios que podem ser vulneráveis. Este post serve como um checklist para confirmar que você procurou por vulnerabilidades em todos os lugares possíveis.

Proxies

Tip

Hoje em dia web applications geralmente uses algum tipo de intermediary proxies; estes podem ser (ab)usados para explorar vulnerabilidades. Essas vulnerabilidades precisam que um proxy vulnerável esteja em operação, mas normalmente também exigem alguma vulnerabilidade extra no backend.

Entrada do usuário

Tip

A maioria das web applications irá permitir que usuários insiram dados que serão processados posteriormente.
Dependendo da estrutura dos dados que o servidor espera, algumas vulnerabilidades podem ou não se aplicar.

Reflected Values

Se os dados introduzidos puderem de alguma forma ser refletidos na resposta, a página pode estar vulnerável a vários problemas.

Algumas das vulnerabilidades mencionadas exigem condições especiais, outras apenas requerem que o conteúdo seja refletido. Você pode encontrar alguns polygloths interessantes para testar rapidamente as vulnerabilidades em:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Search functionalities

Se a funcionalidade puder ser usada para buscar algum tipo de dado no backend, talvez você possa (ab)usar ela para procurar dados arbitrários.

Forms, WebSockets and PostMsgs

Quando um websocket envia uma mensagem ou um formulário que permite aos usuários executar ações, podem surgir vulnerabilidades.

Cross-site WebSocket hijacking & localhost abuse

WebSocket upgrades encaminham cookies automaticamente e não bloqueiam ws://127.0.0.1, então any web origin can drive desktop IPC endpoints que ignoram a validação de Origin. Quando você identificar um launcher expondo uma API do tipo JSON-RPC através de um agente local:

  • Observe frames emitidos para clonar os tuplos type/name/args requeridos por cada método.
  • Bruteforce a porta de escuta diretamente pelo browser (Chromium lidará com ~16k upgrades falhos) até que um socket loopback responda com o banner do protocolo — o Firefox tende a travar rapidamente sob a mesma carga.
  • Encadeie um par create → privileged action: por exemplo, invoque um método create* que retorne um GUID e imediatamente chame o método correspondente *Launch* com payloads controlados pelo atacante.

Se você puder passar flags arbitrárias para a JVM (como AdditionalJavaArguments), force um erro com -XX:MaxMetaspaceSize=<tiny> e anexe -XX:OnOutOfMemoryError="<cmd>" para executar comandos do SO sem tocar na lógica da aplicação. Veja WebSocket attacks para um passo a passo.

HTTP Headers

Dependendo dos headers HTTP fornecidos pelo servidor web, algumas vulnerabilidades podem estar presentes.

Bypasses

Existem várias funcionalidades específicas onde alguns artifícios podem ser úteis para contorná-las

Structured objects / Specific functionalities

Algumas funcionalidades vão requerer que os dados sejam estruturados em um formato muito específico (como um objeto serializado de uma linguagem ou XML). Portanto, é mais fácil identificar se a aplicação pode ser vulnerável já que precisa processar esse tipo de dado.
Algumas funcionalidades específicas também podem ser vulneráveis se um formato específico de entrada for usado (como Email Header Injections).

Files

Funcionalidades que permitem upload de arquivos podem ser vulneráveis a vários problemas.
Funcionalidades que geram arquivos incluindo input do usuário podem executar código inesperado.
Usuários que abram arquivos enviados por outros usuários ou gerados automaticamente contendo input do usuário podem ser comprometidos.

External Identity Management

Other Helpful Vulnerabilities

Essas vulnerabilidades podem ajudar a explorar outras vulnerabilidades.

Web Servers & Middleware

Misconfigurações na edge stack frequentemente desbloqueiam bugs mais impactantes na camada de aplicação.

Application Frameworks & Stacks

Primitivas específicas de frameworks frequentemente expõem gadgets, defaults perigosos ou endpoints de administração controlados pelo framework.

CMS, SaaS & Managed Platforms

Produtos com grande superfície frequentemente vêm com exploits conhecidos, plugins fracos ou endpoints administrativos privilegiados.

APIs, Buckets & Integrations

Helpers do lado servidor e integrações de terceiros podem expor weaknesses no parsing de arquivos ou na camada de armazenamento.

Supply Chain & Identifier Abuse

Ataques que visam pipelines de build ou identificadores previsíveis podem se tornar o ponto de entrada inicial antes de explorar bugs tradicionais.

Web3, Extensions & Tooling

Aplicações modernas se estendem para browsers, wallets e pipelines de automação — mantenha esses vetores no escopo.

Referências

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks