HTTP Connection Request Smuggling

Support HackTricks

Αυτό είναι μια περίληψη της ανάρτησης https://portswigger.net/research/browser-powered-desync-attacks

Connection State Attacks

First-request Validation

Όταν δρομολογούνται αιτήματα, οι αντίστροφοι διακομιστές μεσολάβησης μπορεί να εξαρτώνται από την κεφαλίδα Host για να προσδιορίσουν τον προορισμό διακομιστή back-end, συχνά βασιζόμενοι σε μια λευκή λίστα φιλοξενουμένων που επιτρέπεται η πρόσβαση. Ωστόσο, υπάρχει μια ευπάθεια σε ορισμένους διακομιστές μεσολάβησης όπου η λευκή λίστα επιβάλλεται μόνο στην αρχική αίτηση σε μια σύνδεση. Ως εκ τούτου, οι επιτιθέμενοι θα μπορούσαν να εκμεταλλευτούν αυτό κάνοντας πρώτα μια αίτηση σε έναν επιτρεπόμενο διακομιστή και στη συνέχεια ζητώντας έναν εσωτερικό ιστότοπο μέσω της ίδιας σύνδεσης:

GET / HTTP/1.1
Host: [allowed-external-host]

GET / HTTP/1.1
Host: [internal-host]

First-request Routing

Σε ορισμένες ρυθμίσεις, ένας διακομιστής front-end μπορεί να χρησιμοποιήσει το Host header της πρώτης αίτησης για να καθορίσει τη δρομολόγηση back-end για αυτή την αίτηση, και στη συνέχεια να δρομολογήσει μόνιμα όλες τις επόμενες αιτήσεις από την ίδια σύνδεση πελάτη στην ίδια σύνδεση back-end. Αυτό μπορεί να αποδειχθεί ως:

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

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

Για να εντοπιστούν αυτές οι ευπάθειες, μπορεί να χρησιμοποιηθεί η δυνατότητα 'connection-state probe' στο HTTP Request Smuggler.

Υποστήριξη HackTricks

Last updated