mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-24 20:13:37 +00:00
157 lines
9.4 KiB
Markdown
157 lines
9.4 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 serve como uma lista de verificação para confirmar que você pesquisou vulnerabilidades em todos os possíveis lugares.
|
|
|
|
## 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/Engano de Cache**](../cache-deception.md)
|
|
* [ ] [**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.md)
|
|
|
|
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 %}
|