mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-29 16:10:54 +00:00
60 lines
8 KiB
Markdown
60 lines
8 KiB
Markdown
# hop-by-hop headers
|
||
|
||
{% hint style="success" %}
|
||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
**Αυτή είναι μια περίληψη της ανάρτησης [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](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](https://tools.ietf.org/html/rfc2616#section-13.5.1). Επιπλέον 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:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||
|
||
</details>
|
||
{% endhint %}
|