Μεθοδολογία Ευπαθειών Web

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Σε κάθε Web Pentest, υπάρχουν πολλά κρυφά και προφανή σημεία που μπορεί να είναι ευάλωτα. Αυτή η ανάρτηση προορίζεται να είναι μια λίστα ελέγχου για να επιβεβαιώσετε ότι έχετε ψάξει για ευπάθειες σε όλα τα πιθανά μέρη.

Διαμεσολαβητές

Tip

Σήμερα οι web εφαρμογές συνήθως χρησιμοποιούν κάποιο είδος ενδιάμεσων proxies, τα οποία μπορεί να (κακο)χρησιμοποιηθούν για να εκμεταλλευτούν ευπάθειες. Αυτές οι ευπάθειες χρειάζονται την παρουσία ενός ευάλωτου proxy, αλλά συνήθως απαιτούν και κάποια επιπλέον ευπάθεια στο backend.

User input

Tip

Οι περισσότερες web εφαρμογές θα επιτρέπουν στους χρήστες να εισάγουν κάποια δεδομένα που θα επεξεργαστούν αργότερα.
Ανάλογα με τη δομή των δεδομένων που αναμένει ο διακομιστής, κάποιες ευπάθειες μπορεί ή δεν μπορεί να ισχύουν.

Reflected Values

Εάν τα δεδομένα που εισάγονται αντανακλώνται με κάποιο τρόπο στην απάντηση, η σελίδα μπορεί να είναι ευάλωτη σε διάφορα προβλήματα.

Κάποιες από τις αναφερόμενες ευπάθειες απαιτούν ειδικές συνθήκες, άλλες απλά απαιτούν το περιεχόμενο να αντανακλάται. Μπορείτε να βρείτε μερικά ενδιαφέροντα polygloths για γρήγορο έλεγχο των ευπαθειών στο:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Search functionalities

Εάν η λειτουργία μπορεί να χρησιμοποιηθεί για αναζήτηση κάποιου είδους δεδομένων στο backend, ίσως μπορείτε να την (κακο)χρησιμοποιήσετε για να αναζητήσετε αυθαίρετα δεδομένα.

Forms, WebSockets and PostMsgs

Όταν ένα websocket στέλνει ένα μήνυμα ή μια φόρμα επιτρέπει στους χρήστες να εκτελούν ενέργειες, μπορεί να προκύψουν ευπάθειες.

Cross-site WebSocket hijacking & localhost abuse

Οι WebSocket αναβαθμίσεις προωθούν αυτόματα cookies και δεν μπλοκάρουν ws://127.0.0.1, οπότε οποιαδήποτε προέλευση web μπορεί να ελέγξει desktop IPC endpoints που παρακάμπτουν την επαλήθευση του Origin. Όταν εντοπίσετε έναν launcher που εκθέτει ένα JSON-RPC-like API μέσω ενός τοπικού agent:

  • Παρατηρήστε τα εκπέμποντα frames για να αναπαράγετε τα tuples type/name/args που απαιτούνται από κάθε μέθοδο.
  • Δοκιμάστε brute force στην πόρτα ακρόασης απευθείας από τον browser (το Chromium θα χειριστεί ~16k αποτυχημένων upgrades) μέχρι να απαντήσει μια loopback σύνδεση με το protocol banner — το Firefox τείνει να καταρρέει πιο γρήγορα υπό το ίδιο φορτίο.
  • Συνδυάστε ένα ζεύγος create → privileged action: π.χ., καλέστε μια μέθοδο create* που επιστρέφει ένα GUID και κατόπιν αμέσως καλέστε την αντίστοιχη *Launch* μέθοδο με payloads που ελέγχει ο επιτιθέμενος.

Εάν μπορείτε να περάσετε αυθαίρετες JVM flags (όπως AdditionalJavaArguments), προκαλέστε σφάλμα με -XX:MaxMetaspaceSize=<tiny> και προσθέστε -XX:OnOutOfMemoryError="<cmd>" για να τρέξετε εντολές OS χωρίς να αγγίξετε τη λογική της εφαρμογής. Δείτε WebSocket attacks για έναν οδηγό βήμα-βήμα.

HTTP Headers

Ανάλογα με τις κεφαλίδες HTTP που επιστρέφει ο web server, μπορεί να υπάρχουν κάποιες ευπάθειες.

Bypasses

Υπάρχουν αρκετές συγκεκριμένες λειτουργίες όπου κάποιες παράκαμψεις μπορεί να είναι χρήσιμες για να τις παρακάμψετε

Structured objects / Specific functionalities

Κάποιες λειτουργίες θα απαιτήσουν τα δεδομένα να είναι δομημένα σε πολύ συγκεκριμένη μορφή (όπως ένα serialized αντικείμενο γλώσσας ή XML). Επομένως, είναι πιο εύκολο να εντοπιστεί αν η εφαρμογή μπορεί να είναι ευάλωτη αφού πρέπει να επεξεργάζεται αυτό το είδος δεδομένων.
Κάποιες συγκεκριμένες λειτουργικότητες μπορεί επίσης να είναι ευάλωτες αν χρησιμοποιηθεί συγκεκριμένη μορφή εισόδου (π.χ. Email Header Injections).

Files

Λειτουργίες που επιτρέπουν το ανέβασμα αρχείων μπορεί να είναι ευάλωτες σε διάφορα προβλήματα.
Λειτουργίες που δημιουργούν αρχεία συμπεριλαμβάνοντας είσοδο χρήστη μπορεί να εκτελέσουν απρόβλεπτο κώδικα.
Χρήστες που ανοίγουν αρχεία ανεβασμένα από χρήστες ή αυτόματα δημιουργημένα που περιλαμβάνουν είσοδο χρήστη μπορεί να εκτεθούν.

External Identity Management

Other Helpful Vulnerabilities

Αυτές οι ευπάθειες μπορεί να βοηθήσουν στην εκμετάλλευση άλλων ευπαθειών.

Web Servers & Middleware

Οι λανθασμένες ρυθμίσεις στο edge stack συχνά ξεκλειδώνουν πιο σημαντικά σφάλματα στο επίπεδο εφαρμογής.

Application Frameworks & Stacks

Στοιχεία ειδικά του framework συχνά εκθέτουν gadgets, επικίνδυνα προεπιλεγμένα ή endpoints που ανήκουν στο framework.

CMS, SaaS & Managed Platforms

Προϊόντα με μεγάλη επιφάνεια συχνά συνοδεύονται από γνωστά exploits, ευπαθή plugins ή privileged admin endpoints.

APIs, Buckets & Integrations

Server-side helpers και third-party integrations μπορούν να εκθέσουν αδυναμίες στην επεξεργασία αρχείων ή στον layer αποθήκευσης.

Supply Chain & Identifier Abuse

Επιθέσεις που στοχεύουν pipelines build ή προβλέψιμα identifiers μπορούν να γίνουν το αρχικό foothold πριν την εκμετάλλευση παραδοσιακών σφαλμάτων.

Web3, Extensions & Tooling

Οι σύγχρονες εφαρμογές επεκτείνονται σε browsers, wallets και automation pipelines—κρατήστε αυτά τα vectors στο scope.

Αναφορές

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks