hacktricks/pentesting-web/web-vulnerabilities-methodology/README.md

155 lines
9.4 KiB
Markdown

# Metodologia de Vulnerabilidades Web
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
Em cada Pentest Web, existem **vários lugares ocultos e óbvios que podem estar vulneráveis**. Este post é uma lista de verificação para confirmar que você procurou por vulnerabilidades em todos os lugares possíveis.
## Proxies
{% hint style="info" %}
Atualmente, **aplicações web** geralmente **usam** algum tipo de **proxies intermediários**, que podem ser (abusados) para explorar vulnerabilidades. Essas vulnerabilidades precisam de um proxy vulnerável em funcionamento, mas geralmente também precisam de alguma vulnerabilidade adicional no backend.
{% endhint %}
* [ ] [**Abusando de cabeçalhos hop-by-hop**](../abusing-hop-by-hop-headers.md)
* [ ] [**Envenenamento de Cache/Decepção de Cache**](../cache-deception.md)
* [ ] [**Contrabando de Requisição HTTP**](../http-request-smuggling/)
* [ ] [**Contrabando H2C**](../h2c-smuggling.md)
* [ ] [**Inclusão do Lado do Servidor/Inclusão do Lado da Borda**](../server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Descobrindo o Cloudflare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**Injeção de Lado do Servidor XSLT**](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Burla de Proteções de Proxy / WAF**](../proxy-waf-protections-bypass.md)
## **Entrada do Usuário**
{% hint style="info" %}
A maioria das aplicações web permitirá que os usuários **insiram alguns dados que serão processados posteriormente**.\
Dependendo da estrutura dos dados que o servidor espera, algumas vulnerabilidades podem ou não se aplicar.
{% endhint %}
### **Valores Refletidos**
Se os dados introduzidos de alguma forma podem ser refletidos na resposta, a página pode ser vulnerável a vários problemas.
* [ ] [**Injeção de Template do Lado do Cliente**](../client-side-template-injection-csti.md)
* [ ] [**Injeção de Comando**](../command-injection.md)
* [ ] [**CRLF**](../crlf-0d-0a.md)
* [ ] [**Marcação Pendente**](../dangling-markup-html-scriptless-injection/)
* [ ] [**Inclusão de Arquivo/Travessia de Caminho**](../file-inclusion/)
* [ ] [**Redirecionamento Aberto**](../open-redirect.md)
* [ ] [**Poluição de Protótipo para XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Inclusão do Lado do Servidor/Inclusão do Lado da Borda**](../server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Falsificação de Requisição do Lado do Servidor**](../ssrf-server-side-request-forgery/)
* [ ] [**Injeção de Template do Lado do Servidor**](../ssti-server-side-template-injection/)
* [ ] [**Roubo de Guia Reverso**](../reverse-tab-nabbing.md)
* [ ] [**Injeção de Lado do Servidor XSLT**](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**XSS**](../xss-cross-site-scripting/)
* [ ] [**XSSI**](../xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](../xs-search.md)
Algumas das vulnerabilidades mencionadas requerem condições especiais, outras apenas exigem que o conteúdo seja refletido. Você pode encontrar alguns poliglotas interessantes para testar rapidamente as vulnerabilidades em:
{% content-ref url="../pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](../pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **Funcionalidades de Busca**
Se a funcionalidade pode ser usada para pesquisar algum tipo de dados no backend, talvez você possa (abusar) para pesquisar dados arbitrários.
* [ ] [**Inclusão de Arquivo/Travessia de Caminho**](../file-inclusion/)
* [ ] [**Injeção NoSQL**](../nosql-injection.md)
* [ ] [**Injeção LDAP**](../ldap-injection.md)
* [ ] [**ReDoS**](../regular-expression-denial-of-service-redos.md)
* [ ] [**Injeção SQL**](../sql-injection/)
* [ ] [**Injeção XPATH**](../xpath-injection.md)
### **Formulários, WebSockets e PostMsgs**
Quando um websocket envia uma mensagem ou um formulário permite que os usuários realizem ações, vulnerabilidades podem surgir.
* [ ] [**Falsificação de Solicitação entre Sites**](../csrf-cross-site-request-forgery.md)
* [ ] [**Roubo de WebSocket entre Sites (CSWSH)**](../websocket-attacks.md)
* [ ] [**Vulnerabilidades de PostMessage**](../postmessage-vulnerabilities/)
### **Cabeçalhos HTTP**
Dependendo dos cabeçalhos HTTP fornecidos pelo servidor web, algumas vulnerabilidades podem estar presentes.
* [ ] [**Clickjacking**](../clickjacking.md)
* [ ] [**Burla de Política de Segurança de Conteúdo**](../content-security-policy-csp-bypass/)
* [ ] [**Hacking com Cookies**](../hacking-with-cookies/)
* [ ] [**CORS - Configurações Incorretas e Burla**](../cors-bypass.md)
### **Burlas**
Existem várias funcionalidades específicas onde algumas soluções alternativas podem ser úteis para burlá-las.
* [ ] [**Burla de 2FA/OTP**](../2fa-bypass.md)
* [ ] [**Burla de Processo de Pagamento**](../bypass-payment-process.md)
* [ ] [**Burla de Captcha**](../captcha-bypass.md)
* [ ] [**Burla de Login**](../login-bypass/)
* [ ] [**Condição de Corrida**](../race-condition.md)
* [ ] [**Burla de Limite de Taxa**](../rate-limit-bypass.md)
* [ ] [**Burla de Redefinição de Senha Esquecida**](../reset-password.md)
* [ ] [**Vulnerabilidades de Registro**](../registration-vulnerabilities.md)
### **Objetos Estruturados / Funcionalidades Específicas**
Algumas funcionalidades exigirão que os **dados sejam estruturados em um formato muito específico** (como um objeto serializado de linguagem ou XML). Portanto, é mais fácil identificar se a aplicação pode estar vulnerável, pois precisa estar processando esse tipo de dados.\
Algumas **funcionalidades específicas** também podem ser vulneráveis se um **formato específico de entrada for usado** (como Injeções de Cabeçalho de Email).
* [ ] [**Deserialização**](../deserialization/)
* [ ] [**Injeção de Cabeçalho de Email**](../email-injections.md)
* [ ] [**Vulnerabilidades JWT**](../hacking-jwt-json-web-tokens.md)
* [ ] [**Entidade Externa XML**](../xxe-xee-xml-external-entity.md)
### Arquivos
Funcionalidades que permitem o upload de arquivos podem ser vulneráveis a várias questões.\
Funcionalidades que geram arquivos incluindo entrada do usuário podem executar código inesperado.\
Usuários que abrem arquivos enviados por usuários ou gerados automaticamente incluindo entrada do usuário podem ser comprometidos.
* [ ] [**Upload de Arquivo**](../file-upload/)
* [ ] [**Injeção de Fórmula**](../formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**Injeção de PDF**](../xss-cross-site-scripting/pdf-injection.md)
* [ ] [**XSS do Lado do Servidor**](../xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Gerenciamento de Identidade Externa**
* [ ] [**OAUTH para Assumir Conta**](../oauth-to-account-takeover.md)
* [ ] [**Ataques SAML**](../saml-attacks/)
### **Outras Vulnerabilidades Úteis**
Essas vulnerabilidades podem ajudar a explorar outras vulnerabilidades.
* [ ] [**Assumir Domínio/Subdomínio**](../domain-subdomain-takeover.md)
* [ ] [**IDOR**](../idor.md)
* [ ] [**Poluição de Parâmetros**](../parameter-pollution.md)
* [ ] [**Vulnerabilidade de Normalização Unicode**](../unicode-injection/)
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>