mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-18 09:03:30 +00:00
157 lines
9.2 KiB
Markdown
157 lines
9.2 KiB
Markdown
# Metodologia de Vulnerabilidades Web
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Suporte ao HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
Em cada Pentest Web, existem **vários lugares ocultos e óbvios que podem ser vulneráveis**. Este post tem como objetivo ser uma lista de verificação para confirmar que você pesquisou vulnerabilidades em todos os lugares possíveis.
|
|
|
|
## Proxies
|
|
|
|
{% hint style="info" %}
|
|
Hoje em dia, **aplicações** **web** geralmente **usam** algum tipo de **proxies intermediários**, que podem ser (mal) utilizados para explorar vulnerabilidades. Essas vulnerabilidades precisam de um proxy vulnerável para estar em vigor, mas geralmente também precisam de alguma vulnerabilidade extra no backend.
|
|
{% endhint %}
|
|
|
|
* [ ] [**Abusando cabeçalhos hop-by-hop**](abusing-hop-by-hop-headers.md)
|
|
* [ ] [**Envenenamento de Cache/Decepção de Cache**](cache-deception/)
|
|
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
|
|
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
|
|
* [ ] [**Inclusão do Lado do Servidor/Injeção do Lado da Edge**](server-side-inclusion-edge-side-inclusion-injection.md)
|
|
* [ ] [**Descobrindo Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
|
* [ ] [**Injeção de XSLT do Lado do Servidor**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
|
* [ ] [**Bypass de Proteções de Proxy / WAF**](proxy-waf-protections-bypass.md)
|
|
|
|
## **Entrada do usuário**
|
|
|
|
{% hint style="info" %}
|
|
A maioria das aplicações web **permitem que os usuários insiram alguns dados que serão processados posteriormente.**\
|
|
Dependendo da estrutura dos dados que o servidor está esperando, algumas vulnerabilidades podem ou não se aplicar.
|
|
{% endhint %}
|
|
|
|
### **Valores Refletidos**
|
|
|
|
Se os dados introduzidos podem de alguma forma 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)
|
|
* [ ] [**Markup Pendurado**](dangling-markup-html-scriptless-injection/)
|
|
* [ ] [**Inclusão de Arquivo/Traversal 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/Injeção do Lado da Edge**](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/)
|
|
* [ ] [**Reverse Tab Nabbing**](reverse-tab-nabbing.md)
|
|
* [ ] [**Injeção de XSLT do Lado do Servidor**](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/)
|
|
|
|
Algumas das vulnerabilidades mencionadas requerem condições especiais, outras apenas requerem que o conteúdo seja refletido. Você pode encontrar alguns polygloths 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 buscar algum tipo de dado no backend, talvez você possa (mal) utilizá-la para buscar dados arbitrários.
|
|
|
|
* [ ] [**Inclusão de Arquivo/Traversal 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 permitindo que os usuários realizem ações, vulnerabilidades podem surgir.
|
|
|
|
* [ ] [**Falsificação de Requisição entre Sites**](csrf-cross-site-request-forgery.md)
|
|
* [ ] [**Sequestro 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)
|
|
* [ ] [**Bypass de Política de Segurança de Conteúdo**](content-security-policy-csp-bypass/)
|
|
* [ ] [**Hacking de Cookies**](hacking-with-cookies/)
|
|
* [ ] [**CORS - Configurações Incorretas & Bypass**](cors-bypass.md)
|
|
|
|
### **Bypasses**
|
|
|
|
Existem várias funcionalidades específicas onde algumas soluções alternativas podem ser úteis para contorná-las.
|
|
|
|
* [ ] [**Bypass de 2FA/OTP**](2fa-bypass.md)
|
|
* [ ] [**Bypass do Processo de Pagamento**](bypass-payment-process.md)
|
|
* [ ] [**Bypass de Captcha**](captcha-bypass.md)
|
|
* [ ] [**Bypass de Login**](login-bypass/)
|
|
* [ ] [**Condição de Corrida**](race-condition.md)
|
|
* [ ] [**Bypass de Limite de Taxa**](rate-limit-bypass.md)
|
|
* [ ] [**Bypass 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 estejam 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 ser vulnerável, pois precisa processar esse tipo de dado.\
|
|
Algumas **funcionalidades específicas** também podem ser vulneráveis se um **formato específico da entrada for usado** (como Injeções de Cabeçalho de Email).
|
|
|
|
* [ ] [**Desserialização**](deserialization/)
|
|
* [ ] [**Injeção de Cabeçalho de Email**](email-injections.md)
|
|
* [ ] [**Vulnerabilidades de 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ários problemas.\
|
|
Funcionalidades que geram arquivos incluindo entrada do usuário podem executar código inesperado.\
|
|
Usuários que abrem arquivos enviados por outros 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 Tomada de Conta**](oauth-to-account-takeover.md)
|
|
* [ ] [**Ataques SAML**](saml-attacks/)
|
|
|
|
### **Outras Vulnerabilidades Úteis**
|
|
|
|
Essas vulnerabilidades podem ajudar a explorar outras vulnerabilidades.
|
|
|
|
* [ ] [**Tomada de Domínio/Subdomínio**](domain-subdomain-takeover.md)
|
|
* [ ] [**IDOR**](idor.md)
|
|
* [ ] [**Poluição de Parâmetro**](parameter-pollution.md)
|
|
* [ ] [**Vulnerabilidade de Normalização Unicode**](unicode-injection/)
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Suporte ao HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
{% endhint %}
|