hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md

13 KiB
Raw Permalink Blame History

403 & 401 Bypasses

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστηρίξτε το HackTricks
{% endhint %}

Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές σας, το δίκτυο και το cloud

Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

HTTP Verbs/Methods Fuzzing

Δοκιμάστε να χρησιμοποιήσετε διαφορετικά ρήματα για να αποκτήσετε πρόσβαση στο αρχείο: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • Ελέγξτε τις κεφαλίδες απόκρισης, ίσως κάποιες πληροφορίες να μπορούν να δοθούν. Για παράδειγμα, μια απάντηση 200 σε HEAD με Content-Length: 55 σημαίνει ότι το ρήμα HEAD μπορεί να αποκτήσει πρόσβαση στις πληροφορίες. Αλλά πρέπει ακόμα να βρείτε έναν τρόπο να εξάγετε αυτές τις πληροφορίες.
  • Χρησιμοποιώντας μια HTTP κεφαλίδα όπως X-HTTP-Method-Override: PUT μπορεί να αντικαταστήσει το ρήμα που χρησιμοποιείται.
  • Χρησιμοποιήστε το TRACE ρήμα και αν είστε πολύ τυχεροί ίσως στην απάντηση να δείτε επίσης τις κεφαλίδες που προστέθηκαν από ενδιάμεσους διακομιστές που μπορεί να είναι χρήσιμες.

HTTP Headers Fuzzing

  • Αλλάξτε την κεφαλίδα Host σε κάποια αυθαίρετη τιμή (που λειτούργησε εδώ)

  • Δοκιμάστε να χρησιμοποιήσετε άλλους User Agents για να αποκτήσετε πρόσβαση στους πόρους.

  • Fuzz HTTP Headers: Δοκιμάστε να χρησιμοποιήσετε HTTP Proxy Headers, HTTP Authentication Basic και NTLM brute-force (με λίγους μόνο συνδυασμούς) και άλλες τεχνικές. Για να κάνω όλα αυτά έχω δημιουργήσει το εργαλείο fuzzhttpbypass.

  • X-Originating-IP: 127.0.0.1

  • X-Forwarded-For: 127.0.0.1

  • X-Forwarded: 127.0.0.1

  • Forwarded-For: 127.0.0.1

  • X-Remote-IP: 127.0.0.1

  • X-Remote-Addr: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • X-Original-URL: 127.0.0.1

  • Client-IP: 127.0.0.1

  • True-Client-IP: 127.0.0.1

  • Cluster-Client-IP: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • Host: localhost

Αν το μονοπάτι είναι προστατευμένο μπορείτε να προσπαθήσετε να παρακάμψετε την προστασία του μονοπατιού χρησιμοποιώντας αυτές τις άλλες κεφαλίδες:

  • X-Original-URL: /admin/console
  • X-Rewrite-URL: /admin/console
  • Αν η σελίδα είναι πίσω από έναν διακομιστή μεσολάβησης, ίσως ο διακομιστής μεσολάβησης να είναι αυτός που σας εμποδίζει να αποκτήσετε πρόσβαση στις ιδιωτικές πληροφορίες. Δοκιμάστε να εκμεταλλευτείτε HTTP Request Smuggling ή κεφαλίδες hop-by-hop.
  • Fuzz ειδικές HTTP κεφαλίδες αναζητώντας διαφορετική απόκριση.
  • Fuzz ειδικές HTTP κεφαλίδες ενώ κάνετε fuzzing HTTP Methods.
  • Αφαιρέστε την κεφαλίδα Host και ίσως μπορέσετε να παρακάμψετε την προστασία.

Path Fuzzing

Αν /path είναι μπλοκαρισμένο:

  • Δοκιμάστε να χρησιμοποιήσετε /%2e/path _(αν η πρόσβαση είναι μπλοκαρισμένη από έναν διακομιστή μεσολάβησης, αυτό θα μπορούσε να παρακάμψει την προστασία). Δοκιμάστε επίσης_** /%252e**/path (διπλή κωδικοποίηση URL)
  • Δοκιμάστε Unicode bypass: /%ef%bc%8fpath (Οι κωδικοποιημένοι χαρακτήρες URL είναι όπως το "/") έτσι όταν κωδικοποιηθούν ξανά θα είναι //path και ίσως έχετε ήδη παρακάμψει τον έλεγχο ονόματος /path
  • Άλλες παρακάμψεις μονοπατιών:
  • site.com/secret > HTTP 403 Forbidden
  • site.com/SECRET > HTTP 200 OK
  • site.com/secret/ > HTTP 200 OK
  • site.com/secret/. > HTTP 200 OK
  • site.com//secret// > HTTP 200 OK
  • site.com/./secret/.. > HTTP 200 OK
  • site.com/;/secret > HTTP 200 OK
  • site.com/.;/secret > HTTP 200 OK
  • site.com//;//secret > HTTP 200 OK
  • site.com/secret.json > HTTP 200 OK (ruby)
  • Χρησιμοποιήστε όλη αυτή τη λίστα στις παρακάτω καταστάσεις:
  • /FUZZsecret
  • /FUZZ/secret
  • /secretFUZZ
  • Άλλες παρακάμψεις API:
  • /v3/users_data/1234 --> 403 Forbidden
  • /v1/users_data/1234 --> 200 OK
  • {“id”:111} --> 401 Unauthriozied
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Unauthriozied
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON Parameter Pollution)
  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Parameter Pollution)

Parameter Manipulation

  • Αλλάξτε τιμή παραμέτρου: Από id=123 --> id=124
  • Προσθέστε επιπλέον παραμέτρους στη διεύθυνση URL: ?id=124 —-> id=124&isAdmin=true
  • Αφαιρέστε τις παραμέτρους
  • Αναδιατάξτε τις παραμέτρους
  • Χρησιμοποιήστε ειδικούς χαρακτήρες.
  • Εκτελέστε δοκιμές ορίων στις παραμέτρους — παρέχετε τιμές όπως -234 ή 0 ή 99999999 (μόνο μερικές παραδείγματα).

Protocol version

Αν χρησιμοποιείτε HTTP/1.1 δοκιμάστε να χρησιμοποιήσετε 1.0 ή ακόμα και να ελέγξετε αν υποστηρίζει 2.0.

Άλλες παρακάμψεις

  • Αποκτήστε το IP ή CNAME του τομέα και δοκιμάστε να επικοινωνήσετε απευθείας.
  • Δοκιμάστε να πιέσετε τον διακομιστή στέλνοντας κοινά GET αιτήματα (Λειτούργησε για αυτόν τον τύπο με το Facebook).
  • Αλλάξτε το πρωτόκολλο: από http σε https, ή για https σε http
  • Πηγαίνετε στο https://archive.org/web/ και ελέγξτε αν στο παρελθόν αυτό το αρχείο ήταν παγκοσμίως προσβάσιμο.

Brute Force

  • Μαντέψτε τον κωδικό πρόσβασης: Δοκιμάστε τα παρακάτω κοινά διαπιστευτήρια. Ξέρετε κάτι για το θύμα; Ή το όνομα της πρόκλησης CTF;
  • Brute force: Δοκιμάστε βασική, digest και NTLM αυθεντικοποίηση.

{% code title="Common creds" %}

admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

{% endcode %}

Αυτόματα Εργαλεία

Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud

Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστηρίξτε το HackTricks
{% endhint %}