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

154 lines
8.9 KiB
Markdown

# Metodologija ranjivosti veb sajtova
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
U svakom Web Pentestu, postoje **skrivena i očigledna mesta koja mogu biti ranjiva**. Ovaj post treba da bude lista za potvrdu da ste pretražili ranjivosti na svim mogućim mestima.
## Proksi
{% hint style="info" %}
Danas **veb aplikacije obično koriste neku vrstu posredničkih proksija**, koji se mogu (zlo)upotrebiti za eksploataciju ranjivosti. Ove ranjivosti zahtevaju ranjiv proksi da bi bile prisutne, ali obično takođe zahtevaju dodatnu ranjivost na serverskoj strani.
{% endhint %}
* [ ] [**Zloupotreba hop-by-hop zaglavlja**](abusing-hop-by-hop-headers.md)
* [ ] [**Trovanje keša/Trovanje keširanja**](cache-deception/)
* [ ] [**HTTP zahtevno krijumčarenje**](http-request-smuggling/)
* [ ] [**H2C krijumčarenje**](h2c-smuggling.md)
* [ ] [**Uključivanje serverske strane/Uključivanje ivične strane**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Otkrivanje Cloudflare-a**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**XSLT Uključivanje serverske strane**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Bajpasovanje Proksija / WAF zaštite**](proxy-waf-protections-bypass.md)
## **Korisnički unos**
{% hint style="info" %}
Većina veb aplikacija će **dozvoliti korisnicima da unesu neke podatke koji će biti kasnije obrađeni.**\
Zavisno o strukturi podataka koje server očekuje, neke ranjivosti mogu ili ne moraju da se primene.
{% endhint %}
### **Reflektovane vrednosti**
Ako uneti podaci na neki način mogu biti reflektovani u odgovoru, stranica može biti ranjiva na nekoliko problema.
* [ ] [**Ubacivanje koda na klijentskoj strani**](client-side-template-injection-csti.md)
* [ ] [**Ubacivanje komandi**](command-injection.md)
* [ ] [**CRLF**](crlf-0d-0a.md)
* [ ] [**Dangling Markup**](dangling-markup-html-scriptless-injection/)
* [ ] [**Uključivanje fajla/Pretraga putanje**](file-inclusion/)
* [ ] [**Otvoreno preusmeravanje**](open-redirect.md)
* [ ] [**Prototip zagađenja za XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Uključivanje serverske strane/Uključivanje ivične strane**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Forgiranje zahteva serverske strane**](ssrf-server-side-request-forgery/)
* [ ] [**Uključivanje šablona serverske strane**](ssti-server-side-template-injection/)
* [ ] [**Obrnuti Tab Nabbing**](reverse-tab-nabbing.md)
* [ ] [**XSLT Uključivanje serverske strane**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**XSS**](xss-cross-site-scripting/)
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Pretraga**](xs-search/)
Neke od pomenutih ranjivosti zahtevaju posebne uslove, dok druge zahtevaju samo reflektovan sadržaj. Možete pronaći neke zanimljive poliglote za brzo testiranje ranjivosti u:
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **Funkcionalnosti pretrage**
Ako funkcionalnost može biti korišćena za pretragu neke vrste podataka unutar serverske strane, možda je moguće (zlo)upotrebiti je za pretragu proizvoljnih podataka.
* [ ] [**Uključivanje fajla/Pretraga putanje**](file-inclusion/)
* [ ] [**NoSQL ubacivanje**](nosql-injection.md)
* [ ] [**LDAP ubacivanje**](ldap-injection.md)
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**SQL ubacivanje**](sql-injection/)
* [ ] [**XPATH ubacivanje**](xpath-injection.md)
### **Forme, WebSockets i PostMsgs**
Kada websocket pošalje poruku ili forma omogućava korisnicima da izvrše akcije, ranjivosti mogu nastati.
* [ ] [**CSRF - Cross Site Request Forgery**](csrf-cross-site-request-forgery.md)
* [ ] [**CSWSH - Cross-site WebSocket hijacking**](websocket-attacks.md)
* [ ] [**Ranjivosti PostMessage-a**](postmessage-vulnerabilities/)
### **HTTP zaglavlja**
Zavisno o HTTP zaglavljima koje daje veb server, neke ranjivosti mogu biti prisutne.
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Bajpasovanje politike bezbednosti sadržaja**](content-security-policy-csp-bypass/)
* [ ] [**Hakovanje sa kolačićima**](hacking-with-cookies/)
* [ ] [**CORS - Greške u konfiguraciji i Bajpasovanje**](cors-bypass.md)
### **Bajpasovi**
Postoje nekoliko specifičnih funkcionalnosti gde neki zaobilazni putevi mogu biti korisni za njihovo zaobilaženje.
* [ ] [**Bajpasovanje 2FA/OTP-a**](2fa-bypass.md)
* [ ] [**Bajpasovanje procesa plaćanja**](bypass-payment-process.md)
* [ ] [**Bajpasovanje Captche**](captcha-bypass.md)
* [ ] [**Bajpasovanje prijave**](login-bypass/)
* [ ] [**Trkački uslovi**](race-condition.md)
* [ ] [**Bajpasovanje ograničenja brzine**](rate-limit-bypass.md)
* [ ] [**Bajpasovanje resetovanja zaboravljene lozinke**](reset-password.md)
* [ ] [**Ranjivosti registracije**](registration-vulnerabilities.md)
### **Strukturisani objekti / Specifične funkcionalnosti**
Neke funkcionalnosti će zahtevati da **podaci budu strukturisani u veoma specifičnom formatu** (kao što je jezik serializovanog objekta ili XML). Stoga, lakše je identifikovati da li aplikacija može biti ranjiva jer mora da obrađuje takav tip podataka.\
Neke **specifične funkcionalnosti** takođe mogu biti ranjive ako se koristi **specifičan format unosa** (kao što su ubacivanja zaglavlja e-pošte).
* [ ] [**Deserijalizacija**](deserialization/)
* [ ] [**Ubacivanje zaglavlja e-pošte**](email-injections.md)
* [ ] [**JWT Ranjivosti**](hacking-jwt-json-web-tokens.md)
* [ ] [**XML Spoljne Entitete**](xxe-xee-xml-external-entity.md)
### Fajlovi
Funkcionalnosti koje omogućavaju otpremanje fajlova mogu biti ranjive na nekoliko problema.\
Funkcionalnosti koje generišu fajlove uključujući korisnički unos mogu izvršiti neočekivan kod.\
Korisnici koji otvaraju fajlove otpremljene od strane korisnika ili automatski generisane uključujući korisnički unos mogu biti kompromitovani.
* [ ] [**Otpremanje fajlova**](file-upload/)
* [ ] [**Injekcija formula**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF Injekcija**](xss-cross-site-scripting/pdf-injection.md)
* [ ] [**XSS na serverskoj strani**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Spoljni Menadžment Identiteta**
* [ ] [**OAUTH za preuzimanje naloga**](oauth-to-account-takeover.md)
* [ ] [**SAML Napadi**](saml-attacks/)
### **Ostale Korisne Ranjivosti**
Ove ranjivosti mogu pomoći u eksploataciji drugih ranjivosti.
* [ ] [**Preuzimanje domena/poddomena**](domain-subdomain-takeover.md)
* [ ] [**IDOR**](idor.md)
* [ ] [**Zagađenje parametara**](parameter-pollution.md)
* [ ] [**Ranjivost normalizacije Unicode-a**](unicode-injection/)
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>