hacktricks/pentesting-web/abusing-hop-by-hop-headers.md

8 KiB
Raw Blame History

hop-by-hop headers

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Αυτή είναι μια περίληψη της ανάρτησης https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers

Τα hop-by-hop headers είναι συγκεκριμένα για μια μόνο σύνδεση επιπέδου μεταφοράς, χρησιμοποιούνται κυρίως στο HTTP/1.1 για τη διαχείριση δεδομένων μεταξύ δύο κόμβων (όπως client-proxy ή proxy-proxy) και δεν προορίζονται να προωθούνται. Τα τυπικά hop-by-hop headers περιλαμβάνουν τα Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade, Proxy-Authorization και Proxy-Authenticate, όπως ορίζεται στο RFC 2616. Επιπλέον headers μπορούν να χαρακτηριστούν ως hop-by-hop μέσω του header Connection.

Κατάχρηση Hop-by-Hop Headers

Η ακατάλληλη διαχείριση των hop-by-hop headers από τους proxies μπορεί να οδηγήσει σε προβλήματα ασφάλειας. Ενώ οι proxies αναμένονται να αφαιρούν αυτά τα headers, δεν το κάνουν όλοι, δημιουργώντας πιθανά κενά ασφαλείας.

Δοκιμή Διαχείρισης Hop-by-Hop Header

Η διαχείριση των hop-by-hop headers μπορεί να δοκιμαστεί παρατηρώντας τις αλλαγές στις απαντήσεις του διακομιστή όταν συγκεκριμένα headers χαρακτηρίζονται ως hop-by-hop. Εργαλεία και scripts μπορούν να αυτοματοποιήσουν αυτή τη διαδικασία, προσδιορίζοντας πώς οι proxies διαχειρίζονται αυτά τα headers και ενδεχομένως αποκαλύπτοντας κακές ρυθμίσεις ή συμπεριφορές proxy.

Η κατάχρηση των hop-by-hop headers μπορεί να οδηγήσει σε διάφορες επιπτώσεις ασφάλειας. Παρακάτω παρατίθενται μερικά παραδείγματα που δείχνουν πώς αυτά τα headers μπορούν να παραποιηθούν για πιθανούς επιθέσεις:

Παράκαμψη Ελέγχων Ασφαλείας με το X-Forwarded-For

Ένας επιτιθέμενος μπορεί να παραποιήσει το header X-Forwarded-For για να παρακάμψει τους ελέγχους πρόσβασης που βασίζονται σε IP. Αυτό το header χρησιμοποιείται συχνά από τους proxies για να παρακολουθούν τη διεύθυνση IP προέλευσης ενός πελάτη. Ωστόσο, αν ένας proxy αντιμετωπίζει αυτό το header ως hop-by-hop και το προωθεί χωρίς κατάλληλη επικύρωση, ένας επιτιθέμενος μπορεί να παραποιήσει τη διεύθυνση IP του.

Σενάριο Επίθεσης:

  1. Ο επιτιθέμενος στέλνει ένα HTTP αίτημα σε μια διαδικτυακή εφαρμογή πίσω από έναν proxy, συμπεριλαμβάνοντας μια ψεύτικη διεύθυνση IP στο header X-Forwarded-For.
  2. Ο επιτιθέμενος περιλαμβάνει επίσης το header Connection: close, X-Forwarded-For, προτρέποντας τον proxy να αντιμετωπίσει το X-Forwarded-For ως hop-by-hop.
  3. Ο κακώς ρυθμισμένος proxy προωθεί το αίτημα στην διαδικτυακή εφαρμογή χωρίς το παραποιημένο header X-Forwarded-For.
  4. Η διαδικτυακή εφαρμογή, μη βλέποντας το αρχικό header X-Forwarded-For, μπορεί να θεωρήσει το αίτημα ως προερχόμενο απευθείας από έναν αξιόπιστο proxy, επιτρέποντας ενδεχομένως μη εξουσιοδοτημένη πρόσβαση.

Μολυσματική Κρυφή Μνήμη μέσω Εισαγωγής Hop-by-Hop Header

Εάν ένας διακομιστής κρυφής μνήμης αποθηκεύει λανθασμένα περιεχόμενο με βάση τα hop-by-hop headers, ένας επιτιθέμενος θα μπορούσε να εισάγει κακόβουλα headers για να μολύνει την κρυφή μνήμη. Αυτό θα παρείχε λανθασμένο ή κακόβουλο περιεχόμενο στους χρήστες που ζητούν τον ίδιο πόρο.

Σενάριο Επίθεσης:

  1. Ένας επιτιθέμενος στέλνει ένα αίτημα σε μια διαδικτυακή εφαρμογή με ένα hop-by-hop header που δεν θα έπρεπε να αποθηκευτεί (π.χ., Connection: close, Cookie).
  2. Ο κακώς ρυθμισμένος διακομιστής κρυφής μνήμης δεν αφαιρεί το hop-by-hop header και αποθηκεύει την απάντηση συγκεκριμένα για τη συνεδρία του επιτιθέμενου.
  3. Μελλοντικοί χρήστες που ζητούν τον ίδιο πόρο λαμβάνουν την αποθηκευμένη απάντηση, η οποία είχε προσαρμοστεί για τον επιτιθέμενο, ενδεχομένως οδηγώντας σε κλοπή συνεδρίας ή έκθεση ευαίσθητων πληροφοριών.

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}