mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-30 16:39:32 +00:00
176 lines
11 KiB
Markdown
176 lines
11 KiB
Markdown
# Metodologia Wykrywania Wrażliwości w Aplikacjach Webowych
|
|
|
|
{% 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)
|
|
|
|
<details>
|
|
|
|
<summary>Wsparcie dla HackTricks</summary>
|
|
|
|
* 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.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<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" %}
|
|
|
|
|
|
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
|
|
|
|
{% 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.
|
|
{% 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)
|
|
* [ ] [**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)
|
|
|
|
## **Dane wejściowe użytkownika**
|
|
|
|
{% 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.
|
|
{% endhint %}
|
|
|
|
### **Wartości odzwierciedlone**
|
|
|
|
Jeśli wprowadzone dane mogą w jakiś sposób być odzwierciedlone w odpowiedzi, strona może być wrażliwa na kilka problemów.
|
|
|
|
* [ ] [**Iniekcja szablonów po stronie klienta**](client-side-template-injection-csti.md)
|
|
* [ ] [**Iniekcja poleceń**](command-injection.md)
|
|
* [ ] [**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)
|
|
* [ ] [**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:
|
|
|
|
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
|
|
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
|
|
{% endcontent-ref %}
|
|
|
|
### **Funkcjonalności wyszukiwania**
|
|
|
|
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.
|
|
|
|
* [ ] [**Inkluzja plików/Przechodzenie ścieżek**](file-inclusion/)
|
|
* [ ] [**Iniekcja NoSQL**](nosql-injection.md)
|
|
* [ ] [**Iniekcja LDAP**](ldap-injection.md)
|
|
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
|
|
* [ ] [**Iniekcja SQL**](sql-injection/)
|
|
* [ ] [**Iniekcja XPATH**](xpath-injection.md)
|
|
|
|
### **Formularze, WebSockety i PostMsgs**
|
|
|
|
Gdy websocket wysyła wiadomość lub formularz pozwalający użytkownikom na wykonywanie działań, mogą wystąpić wrażliwości.
|
|
|
|
* [ ] [**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/)
|
|
|
|
### **Nagłówki HTTP**
|
|
|
|
W zależności od nagłówków HTTP podawanych przez serwer webowy, mogą występować pewne wrażliwości.
|
|
|
|
* [ ] [**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)
|
|
|
|
### **Obejścia**
|
|
|
|
Istnieje kilka specyficznych funkcjonalności, w których pewne obejścia mogą być przydatne.
|
|
|
|
* [ ] [**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/)
|
|
* [ ] [**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)
|
|
|
|
### **Obiekty strukturalne / Specyficzne funkcjonalności**
|
|
|
|
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).
|
|
|
|
* [ ] [**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)
|
|
|
|
### 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.
|
|
|
|
* [ ] [**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)
|
|
* [ ] [**XSS po stronie serwera**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
|
|
|
|
### **Zarządzanie tożsamością zewnętrzną**
|
|
|
|
* [ ] [**OAUTH do przejęcia konta**](oauth-to-account-takeover.md)
|
|
* [ ] [**Ataki SAML**](saml-attacks/)
|
|
|
|
### **Inne pomocne wrażliwości**
|
|
|
|
Te wrażliwości mogą pomóc w eksploatacji innych wrażliwości.
|
|
|
|
* [ ] [**Przejęcie domeny/poddomeny**](domain-subdomain-takeover.md)
|
|
* [ ] [**IDOR**](idor.md)
|
|
* [ ] [**Zanieczyszczenie parametrów**](parameter-pollution.md)
|
|
* [ ] [**Wrażliwość normalizacji Unicode**](unicode-injection/)
|
|
|
|
|
|
<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)
|
|
|
|
<details>
|
|
|
|
<summary>Wsparcie dla HackTricks</summary>
|
|
|
|
* 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.
|
|
|
|
</details>
|
|
{% endhint %}
|