Browser HTTP Request Smuggling
Reading time: 3 minutes
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Η αποσυγχρονισμένη εκμετάλλευση που υποστηρίζεται από τον περιηγητή (γνωστή και ως client-side request smuggling) εκμεταλλεύεται τον περιηγητή του θύματος για να προσθέσει ένα κακώς διαμορφωμένο αίτημα σε μια κοινή σύνδεση, έτσι ώστε τα επόμενα αιτήματα να αναλύονται εκτός συγχρονισμού από ένα downstream component. Σε αντίθεση με την κλασική εκμετάλλευση FE↔BE, οι payloads περιορίζονται από το τι μπορεί νομίμως να στείλει ένας περιηγητής διασυνοριακά.
Βασικοί περιορισμοί και συμβουλές
- Χρησιμοποιείτε μόνο κεφαλίδες και σύνταξη που μπορεί να εκπέμψει ένας περιηγητής μέσω πλοήγησης, fetch ή υποβολής φόρμας. Οι παραποιήσεις κεφαλίδων (LWS tricks, duplicate TE, invalid CL) γενικά δεν θα σταλούν.
- Στοχεύστε endpoints και μεσάζοντες που ανακλούν εισόδους ή αποθηκεύουν απαντήσεις. Χρήσιμες επιπτώσεις περιλαμβάνουν την δηλητηρίαση cache, την διαρροή κεφαλίδων που έχουν εισαχθεί από το front-end ή την παράκαμψη ελέγχων διαδρομής/μεθόδου του front-end.
- Η επαναχρησιμοποίηση έχει σημασία: ευθυγραμμίστε το διαμορφωμένο αίτημα ώστε να μοιράζεται την ίδια σύνδεση HTTP/1.1 ή H2 με ένα αίτημα υψηλής αξίας του θύματος. Οι συμπεριφορές που είναι κλειδωμένες σε σύνδεση/καταστάσεις ενισχύουν την επίδραση.
- Προτιμήστε πρωτότυπα που δεν απαιτούν προσαρμοσμένες κεφαλίδες: σύγχυση διαδρομής, έγχυση query-string και διαμόρφωση σώματος μέσω POST με κωδικοποίηση φόρμας.
- Επικυρώστε την πραγματική αποσυγχρονισμένη κατάσταση του server έναντι απλών τεχνικών pipelining επαναδοκιμάζοντας χωρίς επαναχρησιμοποίηση ή χρησιμοποιώντας τον έλεγχο HTTP/2 nested-response.
Για τεχνικές end-to-end και PoCs δείτε:
- PortSwigger Research – Browser‑Powered Desync Attacks: https://portswigger.net/research/browser-powered-desync-attacks
- PortSwigger Academy – client‑side desync: https://portswigger.net/web-security/request-smuggling/browser/client-side-desync
References
- https://portswigger.net/research/browser-powered-desync-attacks
- https://portswigger.net/web-security/request-smuggling/browser/client-side-desync
- Distinguishing pipelining vs smuggling (background on reuse false-positives): https://portswigger.net/research/how-to-distinguish-http-pipelining-from-request-smuggling
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.