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

156 lines
9.2 KiB
Markdown
Raw Normal View History

2024-04-06 19:35:05 +00:00
# Web Vulnerabilities Methodology
<details>
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
Podczas każdego testu penetracyjnego sieci webowej istnieje **kilka ukrytych i oczywistych miejsc, które mogą być podatne**. Ten post ma na celu dostarczenie listy kontrolnej, aby potwierdzić, że przeszukałeś miejsca pod kątem podatności.
## Proksy
{% hint style="info" %}
Obecnie **aplikacje webowe** zazwyczaj **korzystają** z pewnego rodzaju **pośrednich** **serwerów proxy**, które mogą być (nadużywane) do wykorzystania podatności. Te podatności wymagają podatnego serwera proxy, ale zazwyczaj wymagają również dodatkowej podatności w backendzie.
{% endhint %}
* [ ] [**Wykorzystywanie nagłówków hop-by-hop**](abusing-hop-by-hop-headers.md)
* [ ] [**Zatrucie pamięci podręcznej/Zwiedzenie pamięci podręcznej**](cache-deception.md)
* [ ] [**Przesyłanie żądań HTTP**](http-request-smuggling/)
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
* [ ] [**Włączanie serwera/Dołączanie do strony**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Odkrywanie Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**Wstrzykiwanie serwera XSLT**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Ominięcie zabezpieczeń serwera proxy/WAF**](proxy-waf-protections-bypass.md)
## **Wejście użytkownika**
{% hint style="info" %}
Większość aplikacji webowych **pozwala użytkownikom na wprowadzanie danych, które zostaną przetworzone później**.\
W zależności od struktury oczekiwanych danych serwera, niektóre podatności mogą mieć zastosowanie lub nie.
{% endhint %}
### **Odbite wartości**
Jeśli wprowadzone dane mogą w jakiś sposób być odbite w odpowiedzi, strona może być podatna na kilka problemów.
* [ ] [**Wstrzykiwanie szablonów po stronie klienta**](client-side-template-injection-csti.md)
* [ ] [**Wstrzykiwanie poleceń**](command-injection.md)
* [ ] [**CRLF**](crlf-0d-0a.md)
* [ ] [**Zawieszony znacznik**](dangling-markup-html-scriptless-injection/)
* [ ] [**Dołączanie plików/Przechodzenie ścieżek**](file-inclusion/)
* [ ] [**Przekierowanie otwarte**](open-redirect.md)
* [ ] [**Zanieczyszczenie prototypu na XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Wstrzykiwanie serwera dołączania/Dołączanie do strony**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Podrobienie żądania serwera**](ssrf-server-side-request-forgery/)
* [ ] [**Wstrzykiwanie szablonów po stronie serwera**](ssti-server-side-template-injection/)
* [ ] [**Odwrócenie porwania karty**](reverse-tab-nabbing.md)
* [ ] [**Wstrzykiwanie serwera 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/)
Niektóre z wymienionych podatności wymagają specjalnych warunków, inne wymagają tylko odbicia treści. Możesz znaleźć kilka interesujących poliglotów, aby szybko przetestować podatności w:
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **Funkcje wyszukiwania**
Jeśli funkcja może być używana do wyszukiwania pewnego rodzaju danych w backendzie, być może można jej (nadużyć), aby wyszukiwać dowolne dane.
* [ ] [**Dołączanie plików/Przechodzenie ścieżek**](file-inclusion/)
* [ ] [**Wstrzykiwanie NoSQL**](nosql-injection.md)
* [ ] [**Wstrzykiwanie LDAP**](ldap-injection.md)
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**Wstrzykiwanie SQL**](sql-injection/)
* [ ] [**Wstrzykiwanie XPATH**](xpath-injection.md)
### **Formularze, WebSockets i PostMsgs**
Kiedy websocket wysyła wiadomość lub formularz umożliwia użytkownikom wykonywanie działań, mogą pojawić się podatności.
* [ ] [**Podrobienie żądania między witrynami**](csrf-cross-site-request-forgery.md)
* [ ] [**Podstępne przejęcie WebSocket (CSWSH)**](websocket-attacks.md)
* [ ] [**Podatności PostMessage**](postmessage-vulnerabilities/)
### **Nagłówki HTTP**
W zależności od nagłówków HTTP dostarczanych przez serwer sieci webowej mogą występować pewne podatności.
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Ominięcie zasad bezpieczeństwa zawartości**](content-security-policy-csp-bypass/)
* [ ] [**Hakowanie ciasteczek**](hacking-with-cookies/)
* [ ] [**CORS - Błędy konfiguracji i ominięcie**](cors-bypass.md)
### **Ominięcia**
Istnieje kilka konkretnych funkcji, w których niektóre obejścia mogą być przydatne do ich ominięcia.
* [ ] [**Ominięcie 2FA/OTP**](2fa-bypass.md)
* [ ] [**Ominięcie procesu płatności**](bypass-payment-process.md)
* [ ] [**Ominięcie Captcha**](captcha-bypass.md)
* [ ] [**Ominięcie logowania**](login-bypass/)
* [ ] [**Warunek wyścigu**](race-condition.md)
* [ ] [**Ominięcie limitu szybkości**](rate-limit-bypass.md)
* [ ] [**Ominięcie resetowania zapomnianego hasła**](reset-password.md)
* [ ] [**Podatności rejestracji**](registration-vulnerabilities.md)
### **Strukturalne obiekty / Konkretne funkcje**
Niektóre funkcje wymagają, aby **dane były strukturalnie sformatowane w bardzo konkretny sposób** (np. jako obiekt zserializowany w języku lub XML). Dlatego łatwiej jest zidentyfikować, czy aplikacja może być podatna, ponieważ musi przetwarzać tego rodzaju dane.\
Niektóre **konkretne funkcje** mogą również być podatne, jeśli używany jest **konkretny format danych wejściowych** (np. Wstrzyknięcia nagłówków e-mail).
* [ ] [**Deserializacja**](deserialization/)
* [ ] [**Wstrzyknięcie nagłówka e-mail**](email-injections.md)
* [ ] [**Podatności JWT**](hacking-jwt-json-web-tokens.md)
* [ ] [**Zewnętrzne encje XML**](xxe-xee-xml-external-entity.md)
### Pliki
Funkcje umożliwiające przesyłanie plików mogą być podatne na wiele problemów.\
Funkcje generujące pliki, w tym dane wprowadzane przez użytkownika, mogą wykonywać nieoczekiwany kod.\
Użytkownicy, którzy otwierają pliki przesłane przez innych użytkowników lub automatycznie generowane, w tym dane wprowadzane przez użytkownika, mogą zostać zagrożeni.
* [ ] [**Przesyłanie plików**](file-upload/)
* [ ] [**Wstrzyknięcie formuły**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**Wstrzyknięcie PDF**](xss-cross-site-scripting/pdf-injection.md)
* [ ] [**XSS po stronie serwera**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Zarządzanie zewnętrzną tożsamością**
* [ ] [**OAUTH w celu przejęcia konta**](oauth-to-account-takeover.md)
* [ ] [**Ataki SAML**](saml-attacks/)
### **Inne przydatne podatności**
Te podatności mogą pomóc w eksploatacji innych podatności.
* [ ] [**Przejęcie domeny/poddomeny**](domain-subdomain-takeover.md)
* [ ] [**IDOR**](idor.md)
* [ ] [**Zanieczyszczenie parametrów**](parameter-pollution.md)
* [ ] [**Podatność na normalizację Unicode**](unicode-injection/)
<details>
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>