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

155 lines
9.1 KiB
Markdown
Raw Normal View History

# Metodologia podatności sieci Web
2024-04-06 19:35:05 +00:00
<details>
<summary><strong>Nauka hakowania 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>
2024-04-06 19:35:05 +00:00
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
2024-04-06 19:35:05 +00:00
* 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 hakowania, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
2024-04-06 19:35:05 +00:00
</details>
Podczas każdego testu penetracyjnego sieci Web istnieje **kilka ukrytych i oczywistych miejsc, które mogą być podatne**. Ten post ma być listą kontrolną, aby potwierdzić, że przeszukałeś miejsca pod kątem podatności.
2024-04-06 19:35:05 +00:00
## Proksy
{% hint style="info" %}
Obecnie **aplikacje internetowe** zazwyczaj **korzystają** z pewnego rodzaju **pośrednich proksów**, które mogą być (wy)korzystane do eksploatacji podatności. Te podatności wymagają obecnego podatnego proksa, ale zazwyczaj wymagają również dodatkowej podatności w backendzie.
2024-04-06 19:35:05 +00:00
{% endhint %}
* [ ] [**Wykorzystywanie nagłówków hop-by-hop**](abusing-hop-by-hop-headers.md)
* [ ] [**Zatrucie pamięci podręcznej/Decepcja pamięci podręcznej**](cache-deception/)
* [ ] [**Przemyt żądania HTTP**](http-request-smuggling/)
2024-04-06 19:35:05 +00:00
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
* [ ] [**Włączenie serwera/Inkluzja Edge Side**](server-side-inclusion-edge-side-inclusion-injection.md)
2024-04-06 19:35:05 +00:00
* [ ] [**Odkrywanie Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**Wstrzykiwanie serwerowe XSLT**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Ominiecie zabezpieczeń Proxy / WAF**](proxy-waf-protections-bypass.md)
2024-04-06 19:35:05 +00:00
## **Wejście użytkownika**
{% hint style="info" %}
Większość aplikacji internetowych **pozwoli użytkownikom wprowadzić pewne dane, które zostaną później przetworzone.**\
W zależności od struktury danych, które serwer oczekuje, niektóre podatności mogą mieć zastosowanie lub nie.
2024-04-06 19:35:05 +00:00
{% 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)
* [ ] [**Zawieszone znaczniki**](dangling-markup-html-scriptless-injection/)
* [ ] [**Włączenie pliku/Przechodzenie ścieżką**](file-inclusion/)
2024-04-06 19:35:05 +00:00
* [ ] [**Przekierowanie otwarte**](open-redirect.md)
* [ ] [**Zanieczyszczenie prototypu do XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Włączenie serwera/Inkluzja Edge Side**](server-side-inclusion-edge-side-inclusion-injection.md)
2024-04-06 19:35:05 +00:00
* [ ] [**Podrobienie żądania serwera**](ssrf-server-side-request-forgery/)
* [ ] [**Wstrzykiwanie szablonów po stronie serwera**](ssti-server-side-template-injection/)
* [ ] [**Odwrócenie Tab Nabbing**](reverse-tab-nabbing.md)
* [ ] [**Wstrzykiwanie serwerowe XSLT**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
2024-04-06 19:35:05 +00:00
* [ ] [**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 zawartości. Możesz znaleźć kilka interesujących poliglotów do szybkiego testowania podatności w:
2024-04-06 19:35:05 +00:00
{% 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żyta do wyszukiwania pewnego rodzaju danych w backendzie, być może można (wy)korzystać ją do wyszukiwania dowolnych danych.
2024-04-06 19:35:05 +00:00
* [ ] [**Włączenie pliku/Przechodzenie ścieżką**](file-inclusion/)
2024-04-06 19:35:05 +00:00
* [ ] [**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, WebSockety i PostMsgs**
2024-04-06 19:35:05 +00:00
Kiedy websocket wysyła wiadomość lub formularz umożliwia użytkownikom wykonywanie działań, mogą pojawić się podatności.
* [ ] [**Podrobienie żądania Cross Site**](csrf-cross-site-request-forgery.md)
* [ ] [**Podrobienie WebSocket Cross-site (CSWSH)**](websocket-attacks.md)
2024-04-06 19:35:05 +00:00
* [ ] [**Podatności PostMessage**](postmessage-vulnerabilities/)
### **Nagłówki HTTP**
W zależności od nagłówków HTTP dostarczanych przez serwer WWW, mogą występować pewne podatności.
2024-04-06 19:35:05 +00:00
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Ominiecie polityki bezpieczeństwa zawartości**](content-security-policy-csp-bypass/)
* [ ] [**Hakowanie z ciasteczkami**](hacking-with-cookies/)
* [ ] [**CORS - Błędy konfiguracji i omijanie**](cors-bypass.md)
2024-04-06 19:35:05 +00:00
### **Ominiecia**
2024-04-06 19:35:05 +00:00
Istnieje kilka konkretnych funkcji, gdzie pewne obejścia mogą być przydatne do ich ominięcia.
2024-04-06 19:35:05 +00:00
* [ ] [**Ominiecie 2FA/OTP**](2fa-bypass.md)
* [ ] [**Ominiecie procesu płatności**](bypass-payment-process.md)
* [ ] [**Ominiecie Captcha**](captcha-bypass.md)
* [ ] [**Ominiecie logowania**](login-bypass/)
2024-04-06 19:35:05 +00:00
* [ ] [**Warunek wyścigu**](race-condition.md)
* [ ] [**Ominiecie limitu szybkości**](rate-limit-bypass.md)
* [ ] [**Ominiecie resetowania zapomnianego hasła**](reset-password.md)
2024-04-06 19:35:05 +00:00
* [ ] [**Podatności rejestracji**](registration-vulnerabilities.md)
### **Obiekty strukturalne / Konkretne funkcje**
2024-04-06 19:35:05 +00:00
Niektóre funkcje będą wymagać, aby **dane były strukturalnie w bardzo konkretnym formacie** (jak zserializowany obiekt języka lub XML). Dlatego łatwiej jest zidentyfikować, czy aplikacja może być podatna, ponieważ musi przetwarzać ten rodzaj danych.\
Niektóre **konkretne funkcje** mogą być również podatne, jeśli używany jest **konkretny format wejścia** (jak Wstrzyknięcia Nagłówków Email).
2024-04-06 19:35:05 +00:00
* [ ] [**Deserializacja**](deserialization/)
* [ ] [**Wstrzykiwanie Nagłówków Email**](email-injections.md)
2024-04-06 19:35:05 +00:00
* [ ] [**Podatności JWT**](hacking-jwt-json-web-tokens.md)
* [ ] [**Zewnętrzna Jednostka XML**](xxe-xee-xml-external-entity.md)
2024-04-06 19:35:05 +00:00
### Pliki
Funkcjonalności umożliwiające przesyłanie plików mogą być podatne na kilka problemów.\
Funkcjonalności generujące pliki zawierające dane wprowadzone przez użytkownika mogą wykonywać nieoczekiwany kod.\
Użytkownicy otwierający pliki przesłane przez innych użytkowników lub automatycznie generowane, zawierające dane wprowadzone przez użytkownika, mogą zostać skompromitowani.
2024-04-06 19:35:05 +00:00
* [ ] [**Przesyłanie plików**](file-upload/)
* [ ] [**Wstrzykiwanie formuł**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**Wstrzykiwanie PDF**](xss-cross-site-scripting/pdf-injection.md)
2024-04-06 19:35:05 +00:00
* [ ] [**XSS po stronie serwera**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Zewnętrzne zarządzanie tożsamością**
2024-04-06 19:35:05 +00:00
* [ ] [**OAUTH do przejęcia konta**](oauth-to-account-takeover.md)
2024-04-06 19:35:05 +00:00
* [ ] [**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>Dowiedz się, jak 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>
2024-04-06 19:35:05 +00:00
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
2024-04-06 19:35:05 +00:00
* 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>