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

157 lines
8.8 KiB
Markdown

# Web Vulnerabilities Methodology
{% hint style="success" %}
Impara e pratica l'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">\
Impara e pratica l'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>Supporta HackTricks</summary>
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
</details>
{% endhint %}
In ogni Pentest Web, ci sono **diversi luoghi nascosti e ovvi che potrebbero essere vulnerabili**. Questo post è pensato come una checklist per confermare che hai cercato vulnerabilità in tutti i possibili luoghi.
## Proxies
{% hint style="info" %}
Oggigiorno le **applicazioni** **web** di solito **utilizzano** qualche tipo di **proxy** **intermediario**, che possono essere (ab)usati per sfruttare vulnerabilità. Queste vulnerabilità necessitano di un proxy vulnerabile per essere presenti, ma di solito richiedono anche qualche vulnerabilità extra nel backend.
{% endhint %}
* [ ] [**Abusing hop-by-hop headers**](abusing-hop-by-hop-headers.md)
* [ ] [**Cache Poisoning/Cache Deception**](cache-deception/)
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
* [ ] [**Server Side Inclusion/Edge Side Inclusion**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Uncovering Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**XSLT Server Side Injection**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Proxy / WAF Protections Bypass**](proxy-waf-protections-bypass.md)
## **Input dell'utente**
{% hint style="info" %}
La maggior parte delle applicazioni web **consentirà agli utenti di inserire alcuni dati che verranno elaborati successivamente.**\
A seconda della struttura dei dati che il server si aspetta, alcune vulnerabilità potrebbero o meno applicarsi.
{% endhint %}
### **Valori Riflessi**
Se i dati introdotti possono in qualche modo essere riflessi nella risposta, la pagina potrebbe essere vulnerabile a diversi problemi.
* [ ] [**Client Side Template Injection**](client-side-template-injection-csti.md)
* [ ] [**Command Injection**](command-injection.md)
* [ ] [**CRLF**](crlf-0d-0a.md)
* [ ] [**Dangling Markup**](dangling-markup-html-scriptless-injection/)
* [ ] [**File Inclusion/Path Traversal**](file-inclusion/)
* [ ] [**Open Redirect**](open-redirect.md)
* [ ] [**Prototype Pollution to XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Server Side Inclusion/Edge Side Inclusion**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Server Side Request Forgery**](ssrf-server-side-request-forgery/)
* [ ] [**Server Side Template Injection**](ssti-server-side-template-injection/)
* [ ] [**Reverse Tab Nabbing**](reverse-tab-nabbing.md)
* [ ] [**XSLT Server Side Injection**](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/)
Alcune delle vulnerabilità menzionate richiedono condizioni speciali, altre richiedono solo che il contenuto venga riflesso. Puoi trovare alcuni interessanti polygloths per testare rapidamente le vulnerabilità in:
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **Funzionalità di ricerca**
Se la funzionalità può essere utilizzata per cercare qualche tipo di dati all'interno del backend, forse puoi (ab)usarla per cercare dati arbitrari.
* [ ] [**File Inclusion/Path Traversal**](file-inclusion/)
* [ ] [**NoSQL Injection**](nosql-injection.md)
* [ ] [**LDAP Injection**](ldap-injection.md)
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**SQL Injection**](sql-injection/)
* [ ] [**XPATH Injection**](xpath-injection.md)
### **Form, WebSockets e PostMsgs**
Quando un websocket invia un messaggio o un modulo che consente agli utenti di eseguire azioni, possono sorgere vulnerabilità.
* [ ] [**Cross Site Request Forgery**](csrf-cross-site-request-forgery.md)
* [ ] [**Cross-site WebSocket hijacking (CSWSH)**](websocket-attacks.md)
* [ ] [**PostMessage Vulnerabilities**](postmessage-vulnerabilities/)
### **Intestazioni HTTP**
A seconda delle intestazioni HTTP fornite dal server web, alcune vulnerabilità potrebbero essere presenti.
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Content Security Policy bypass**](content-security-policy-csp-bypass/)
* [ ] [**Cookies Hacking**](hacking-with-cookies/)
* [ ] [**CORS - Misconfigurations & Bypass**](cors-bypass.md)
### **Bypass**
Ci sono diverse funzionalità specifiche dove alcune soluzioni alternative potrebbero essere utili per bypassarle.
* [ ] [**2FA/OTP Bypass**](2fa-bypass.md)
* [ ] [**Bypass Payment Process**](bypass-payment-process.md)
* [ ] [**Captcha Bypass**](captcha-bypass.md)
* [ ] [**Login Bypass**](login-bypass/)
* [ ] [**Race Condition**](race-condition.md)
* [ ] [**Rate Limit Bypass**](rate-limit-bypass.md)
* [ ] [**Reset Forgotten Password Bypass**](reset-password.md)
* [ ] [**Registration Vulnerabilities**](registration-vulnerabilities.md)
### **Oggetti strutturati / Funzionalità specifiche**
Alcune funzionalità richiederanno che i **dati siano strutturati in un formato molto specifico** (come un oggetto serializzato in linguaggio o XML). Pertanto, è più facile identificare se l'applicazione potrebbe essere vulnerabile poiché deve elaborare quel tipo di dati.\
Alcune **funzionalità specifiche** potrebbero essere vulnerabili se viene utilizzato un **formato specifico dell'input** (come le Iniezioni di Header Email).
* [ ] [**Deserialization**](deserialization/)
* [ ] [**Email Header Injection**](email-injections.md)
* [ ] [**JWT Vulnerabilities**](hacking-jwt-json-web-tokens.md)
* [ ] [**XML External Entity**](xxe-xee-xml-external-entity.md)
### File
Le funzionalità che consentono il caricamento di file potrebbero essere vulnerabili a diversi problemi.\
Le funzionalità che generano file includendo input dell'utente potrebbero eseguire codice imprevisto.\
Gli utenti che aprono file caricati da altri utenti o generati automaticamente includendo input dell'utente potrebbero essere compromessi.
* [ ] [**File Upload**](file-upload/)
* [ ] [**Formula Injection**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF Injection**](xss-cross-site-scripting/pdf-injection.md)
* [ ] [**Server Side XSS**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Gestione dell'identità esterna**
* [ ] [**OAUTH to Account takeover**](oauth-to-account-takeover.md)
* [ ] [**SAML Attacks**](saml-attacks/)
### **Altre vulnerabilità utili**
Queste vulnerabilità potrebbero aiutare a sfruttare altre vulnerabilità.
* [ ] [**Domain/Subdomain takeover**](domain-subdomain-takeover.md)
* [ ] [**IDOR**](idor.md)
* [ ] [**Parameter Pollution**](parameter-pollution.md)
* [ ] [**Unicode Normalization vulnerability**](unicode-injection/)
{% hint style="success" %}
Impara e pratica l'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">\
Impara e pratica l'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>Supporta HackTricks</summary>
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
</details>
{% endhint %}