Metodologia podatności w aplikacjach webowych
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
W każdym Web Pentest istnieje kilka ukrytych i oczywistych miejsc, które mogą być podatne. Ten dokument ma służyć jako lista kontrolna, aby potwierdzić, że przeszukałeś wszystkie możliwe miejsca pod kątem podatności.
Proxy
Tip
Obecnie aplikacje webowe zwykle używają pewnego rodzaju pośredniczących proxy, które mogą być (nadużywane) wykorzystane do eksploatacji podatności. Te podatności wymagają istnienia podatnego proxy, ale zazwyczaj potrzebują też dodatkowej podatności w backendzie.
- Abusing hop-by-hop headers
- Cache Poisoning/Cache Deception
- HTTP Connection Contamination
- HTTP Connection Request Smuggling
- HTTP Request Smuggling
- HTTP Response Smuggling / Desync
- H2C Smuggling
- Server Side Inclusion/Edge Side Inclusion
- Uncovering Cloudflare
- XSLT Server Side Injection
- Proxy / WAF Protections Bypass
Wejście użytkownika
Tip
Większość aplikacji webowych będzie pozwalać użytkownikom na wprowadzenie danych, które będą przetwarzane później.
W zależności od struktury danych, których oczekuje serwer, niektóre podatności mogą mieć zastosowanie, inne nie.
Wartości odzwierciedlone
Jeśli wprowadzone dane mogą w jakiś sposób zostać odzwierciedlone w odpowiedzi, strona może być podatna na kilka problemów.
- Client Side Path Traversal
- Client Side Template Injection
- Command Injection
- CRLF
- Dangling Markup
- File Inclusion/Path Traversal
- Open Redirect
- Prototype Pollution to XSS
- Server Side Inclusion/Edge Side Inclusion
- Server Side Request Forgery
- Server Side Template Injection
- Reverse Tab Nabbing
- XSLT Server Side Injection
- XSS
- XSSI
- XS-Search
Niektóre z wymienionych podatności wymagają specjalnych warunków, inne po prostu wymagają odzwierciedlenia treści. Możesz znaleźć kilka interesujących polyglotów do szybkiego testowania podatności w:
Reflecting Techniques - PoCs and Polygloths CheatSheet
Funkcje wyszukiwania
Jeśli funkcja może być użyta do przeszukiwania danych w backendzie, być może możesz ją (nadużyć) wykorzystać do wyszukania dowolnych danych.
- File Inclusion/Path Traversal
- NoSQL Injection
- LDAP Injection
- ReDoS
- SQL Injection
- ORM Injection
- RSQL Injection
- XPATH Injection
Formularze, WebSockets i PostMsgs
Gdy websocket wysyła wiadomość lub formularz pozwalający użytkownikom na wykonywanie akcji, mogą pojawić się podatności.
- Cross Site Request Forgery
- Cross-site WebSocket hijacking (CSWSH)
- Phone Number Injections
- PostMessage Vulnerabilities
Nagłówki HTTP
W zależności od nagłówków HTTP zwracanych przez serwer, mogą występować różne podatności.
- Clickjacking
- Iframe Traps / Click Isolation
- Content Security Policy bypass
- Cookies Hacking
- CORS - Misconfigurations & Bypass
Omięcia
Istnieje kilka specyficznych funkcji, gdzie przydatne mogą być obejścia umożliwiające ich ominięcie
- 2FA/OTP Bypass
- Bypass Payment Process
- Captcha Bypass
- Account Takeover Playbooks
- Login Bypass
- Race Condition
- Rate Limit Bypass
- Reset Forgotten Password Bypass
- Registration Vulnerabilities
Strukturalne obiekty / Specyficzne funkcje
Niektóre funkcje będą wymagać, aby dane były sformatowane w bardzo specyficzny sposób (np. zserializowany obiekt języka lub XML). Dzięki temu łatwiej jest ustalić, czy aplikacja może być podatna, ponieważ musi przetwarzać tego typu dane.
Niektóre specyficzne funkcje mogą być także podatne, jeśli użyty zostanie konkretny format wejścia (np. Email Header Injections).
- Deserialization
- Email Header Injection
- JWT Vulnerabilities
- JSON / XML / YAML Hacking
- XML External Entity
- GraphQL Attacks
- gRPC-Web Attacks
Pliki
Funkcje pozwalające na przesyłanie plików mogą być podatne na różne problemy.
Funkcje generujące pliki zawierające dane wejściowe od użytkownika mogą wykonać nieoczekiwany kod.
Użytkownicy, którzy otwierają pliki przesłane przez innych użytkowników lub automatycznie generowane z danymi wejściowymi użytkownika, mogą zostać skompromitowani.
Zewnętrzne zarządzanie tożsamością
Inne przydatne podatności
Te podatności mogą pomóc w eksploatacji innych luk.
- Domain/Subdomain takeover
- IDOR
- Mass Assignment (CWE-915)
- Parameter Pollution
- Unicode Normalization vulnerability
Serwery WWW i middleware
Błędne konfiguracje na warstwie edge często odblokowują bardziej poważne błędy w warstwie aplikacji.
- Apache
- Nginx
- IIS
- Tomcat
- Spring Actuators
- PUT Method / WebDAV
- Special HTTP Headers
- WSGI Deployment
- Werkzeug Debug Exposure
Frameworki i stacki aplikacyjne
Specyficzne dla frameworków elementy często ujawniają gadżety, niebezpieczne ustawienia domyślne lub końcówki należące do frameworka.
CMS, SaaS & platformy zarządzane
Produkty o dużej powierzchni ataku często zawierają znane exploity, słabe wtyczki lub uprzywilejowane endpointy administracyjne.
- WordPress
- Joomla
- Drupal
- Moodle
- Prestashop
- Atlassian Jira
- Grafana
- Rocket.Chat
- Zabbix
- Microsoft SharePoint
- Sitecore
APIs, Buckets & integracje
Pomocniki po stronie serwera i integracje stron trzecich mogą ujawniać słabości w parserach plików lub warstwie przechowywania.
- Web API Pentesting
- Storage Buckets & Firebase
- Imagemagick Security
- Artifactory & Package Registries
- Code Review Tooling
Supply Chain & nadużycia identyfikatorów
Ataki wymierzone w pipeline’y buildów lub przewidywalne identyfikatory mogą stać się początkowym punktem zaczepienia przed wykorzystaniem tradycyjnych błędów.
Web3, rozszerzenia i narzędzia
Nowoczesne aplikacje rozszerzają się na przeglądarki, portfele i pipeline’y automatyzacji — miej te wektory w zakresie testów.
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
HackTricks

