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

177 lines
11 KiB
Markdown
Raw Permalink Normal View History

# Metodologia Wykrywania Wrażliwości w Aplikacjach Webowych
2024-04-06 19:35:05 +00:00
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Szkolenie AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Szkolenie GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2024-04-06 19:35:05 +00:00
<details>
2024-04-06 19:35:05 +00:00
<summary>Wsparcie dla HackTricks</summary>
2024-04-06 19:35:05 +00:00
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
2024-04-06 19:35:05 +00:00
</details>
{% endhint %}
2024-04-06 19:35:05 +00:00
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
2024-04-06 19:35:05 +00:00
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
**Znajdź i zgłoś krytyczne, eksploatowalne wrażliwości mające realny wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
W każdym teście pentestingu webowego istnieje **kilka ukrytych i oczywistych miejsc, które mogą być wrażliwe**. Ten post ma być listą kontrolną, aby potwierdzić, że przeszukałeś wrażliwości we wszystkich możliwych miejscach.
## Proxies
2024-04-06 19:35:05 +00:00
{% hint style="info" %}
Obecnie **aplikacje webowe** zazwyczaj **używają** jakiegoś rodzaju **pośredniczących** **proxy**, które mogą być (nadużywane) do eksploatacji wrażliwości. Te wrażliwości potrzebują, aby wrażliwe proxy było na miejscu, ale zazwyczaj potrzebują również dodatkowej wrażliwości w backendzie.
2024-04-06 19:35:05 +00:00
{% endhint %}
* [ ] [**Nadużywanie nagłówków hop-by-hop**](abusing-hop-by-hop-headers.md)
* [ ] [**Zatrucie pamięci podręcznej/Oszustwo pamięci podręcznej**](cache-deception/)
* [ ] [**Smuggling żądań HTTP**](http-request-smuggling/)
* [ ] [**Smuggling H2C**](h2c-smuggling.md)
* [ ] [**Inkluzja po stronie serwera/Inkluzja po stronie krawędzi**](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)
* [ ] [**Iniekcja XSLT po stronie serwera**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Obejście ochrony Proxy/WAF**](proxy-waf-protections-bypass.md)
2024-04-06 19:35:05 +00:00
## **Dane wejściowe użytkownika**
2024-04-06 19:35:05 +00:00
{% hint style="info" %}
Większość aplikacji webowych **pozwala użytkownikom na wprowadzenie danych, które będą przetwarzane później.**\
W zależności od struktury danych, które serwer oczekuje, niektóre wrażliwości mogą, a niektóre mogą nie mieć zastosowania.
2024-04-06 19:35:05 +00:00
{% endhint %}
### **Wartości odzwierciedlone**
2024-04-06 19:35:05 +00:00
Jeśli wprowadzone dane mogą w jakiś sposób być odzwierciedlone w odpowiedzi, strona może być wrażliwa na kilka problemów.
2024-04-06 19:35:05 +00:00
* [ ] [**Iniekcja szablonów po stronie klienta**](client-side-template-injection-csti.md)
* [ ] [**Iniekcja poleceń**](command-injection.md)
2024-04-06 19:35:05 +00:00
* [ ] [**CRLF**](crlf-0d-0a.md)
* [ ] [**Zawieszone znaczniki**](dangling-markup-html-scriptless-injection/)
* [ ] [**Inkluzja plików/Przechodzenie ścieżek**](file-inclusion/)
* [ ] [**Otwarte przekierowanie**](open-redirect.md)
* [ ] [**Zanieczyszczenie prototypu do XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Inkluzja po stronie serwera/Inkluzja po stronie krawędzi**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Fałszywe żądanie po stronie serwera**](ssrf-server-side-request-forgery/)
* [ ] [**Iniekcja szablonów po stronie serwera**](ssti-server-side-template-injection/)
* [ ] [**Odwrócone przełączanie kart**](reverse-tab-nabbing.md)
* [ ] [**Iniekcja XSLT po stronie serwera**](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 wrażliwości wymagają specjalnych warunków, inne wymagają jedynie, aby treść była odzwierciedlona. Możesz znaleźć kilka interesujących poliglotów do szybkiego testowania wrażliwoś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 %}
### **Funkcjonalności wyszukiwania**
2024-04-06 19:35:05 +00:00
Jeśli funkcjonalność może być używana do wyszukiwania jakichkolwiek danych w backendzie, być może możesz (nadużyć) jej do wyszukiwania dowolnych danych.
2024-04-06 19:35:05 +00:00
* [ ] [**Inkluzja plików/Przechodzenie ścieżek**](file-inclusion/)
* [ ] [**Iniekcja NoSQL**](nosql-injection.md)
* [ ] [**Iniekcja LDAP**](ldap-injection.md)
2024-04-06 19:35:05 +00:00
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**Iniekcja SQL**](sql-injection/)
* [ ] [**Iniekcja XPATH**](xpath-injection.md)
2024-04-06 19:35:05 +00:00
### **Formularze, WebSockety i PostMsgs**
2024-04-06 19:35:05 +00:00
Gdy websocket wysyła wiadomość lub formularz pozwalający użytkownikom na wykonywanie działań, mogą wystąpić wrażliwości.
2024-04-06 19:35:05 +00:00
* [ ] [**Fałszywe żądanie między witrynami**](csrf-cross-site-request-forgery.md)
* [ ] [**Przechwytywanie WebSocketów między witrynami (CSWSH)**](websocket-attacks.md)
* [ ] [**Wrażliwości PostMessage**](postmessage-vulnerabilities/)
2024-04-06 19:35:05 +00:00
### **Nagłówki HTTP**
W zależności od nagłówków HTTP podawanych przez serwer webowy, mogą występować pewne wrażliwości.
2024-04-06 19:35:05 +00:00
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Obejście polityki bezpieczeństwa treści**](content-security-policy-csp-bypass/)
* [ ] [**Hacking ciasteczek**](hacking-with-cookies/)
* [ ] [**CORS - Błędy konfiguracyjne i obejścia**](cors-bypass.md)
2024-04-06 19:35:05 +00:00
### **Obejścia**
2024-04-06 19:35:05 +00:00
Istnieje kilka specyficznych funkcjonalności, w których pewne obejścia mogą być przydatne.
2024-04-06 19:35:05 +00:00
* [ ] [**Obejście 2FA/OTP**](2fa-bypass.md)
* [ ] [**Obejście procesu płatności**](bypass-payment-process.md)
* [ ] [**Obejście Captcha**](captcha-bypass.md)
* [ ] [**Obejście logowania**](login-bypass/)
2024-04-06 19:35:05 +00:00
* [ ] [**Warunek wyścigu**](race-condition.md)
* [ ] [**Obejście limitu szybkości**](rate-limit-bypass.md)
* [ ] [**Obejście resetowania zapomnianego hasła**](reset-password.md)
* [ ] [**Wrażliwości rejestracji**](registration-vulnerabilities.md)
2024-04-06 19:35:05 +00:00
### **Obiekty strukturalne / Specyficzne funkcjonalności**
2024-04-06 19:35:05 +00:00
Niektóre funkcjonalności będą wymagały, aby **dane były ustrukturyzowane w bardzo specyficznym formacie** (jak obiekt zserializowany w języku lub XML). Dlatego łatwiej jest zidentyfikować, czy aplikacja może być wrażliwa, ponieważ musi przetwarzać tego rodzaju dane.\
Niektóre **specyficzne funkcjonalności** mogą być również wrażliwe, jeśli użyty jest **specyficzny format wejścia** (jak Iniekcje Nagłówków Email).
2024-04-06 19:35:05 +00:00
* [ ] [**Deserializacja**](deserialization/)
* [ ] [**Iniekcja nagłówków email**](email-injections.md)
* [ ] [**Wrażliwoś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, które pozwalają na przesyłanie plików, mogą być wrażliwe na kilka problemów.\
Funkcjonalności, które generują pliki zawierające dane wejściowe użytkownika, mogą wykonywać nieoczekiwany kod.\
Użytkownicy, którzy otwierają pliki przesyłane przez użytkowników lub automatycznie generowane, w tym dane wejściowe użytkownika, mogą być narażeni na niebezpieczeństwo.
2024-04-06 19:35:05 +00:00
* [ ] [**Przesyłanie plików**](file-upload/)
* [ ] [**Iniekcja formuły**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**Iniekcja 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)
### **Zarządzanie tożsamością zewnętrzną**
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 pomocne wrażliwości**
2024-04-06 19:35:05 +00:00
Te wrażliwości mogą pomóc w eksploatacji innych wrażliwości.
2024-04-06 19:35:05 +00:00
* [ ] [**Przejęcie domeny/poddomeny**](domain-subdomain-takeover.md)
2024-04-06 19:35:05 +00:00
* [ ] [**IDOR**](idor.md)
* [ ] [**Zanieczyszczenie parametrów**](parameter-pollution.md)
* [ ] [**Wrażliwość normalizacji Unicode**](unicode-injection/)
2024-04-06 19:35:05 +00:00
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
**Znajdź i zgłoś krytyczne, eksploatowalne wrażliwości mające realny wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Szkolenie AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Szkolenie GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2024-04-06 19:35:05 +00:00
<details>
2024-04-06 19:35:05 +00:00
<summary>Wsparcie dla HackTricks</summary>
2024-04-06 19:35:05 +00:00
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
2024-04-06 19:35:05 +00:00
</details>
{% endhint %}