news

JWT security testing: alg:none, algorithm confusion και αδύναμα secrets

JWT Security Testing: Πώς να εντοπίσετε ευπάθειες alg:none, algorithm confusion και αδύναμα secrets

json web token

Το JWT (JSON Web Token) είναι ένα ανοιχτό πρότυπο (RFC 7519) που παρέχει έναν συμπαγή και ασφαλή τρόπο μετάδοσης πληροφοριών μεταξύ δύο μερών (συνήθως client και server) υπό μορφή αντικειμένου JSON.jwt

Τα JSON Web Tokens είναι παντού στα σύγχρονα APIs: ένα υπογεγραμμένο token που ο client κουβαλά σε κάθε αίτημα, και ο server το εμπιστεύεται χωρίς να κρατά session state. Ακριβώς επειδή ο server «εμπιστεύεται την υπογραφή», τα λάθη στην επαλήθευσή της είναι κρίσιμα: ένα κακώς ελεγμένο JWT σημαίνει πλαστοπροσωπία οποιουδήποτε χρήστη. Ακολουθεί η μεθοδολογία ελέγχου, πάντα σε συστήματα με γραπτή εξουσιοδότηση και δοκιμαστικούς λογαριασμούς.

Η ανατομία ενός JWT

Τρία μέρη χωρισμένα με τελείες, κωδικοποιημένα σε Base64URL: header (ο αλγόριθμος, π.χ. {“alg”:“HS256”,“typ”:“JWT”}), payload (τα claims: ποιος είναι ο χρήστης, πότε λήγει, τι ρόλο έχει) και signature. Σημαντικό: τα δύο πρώτα μέρη είναι απλώς κωδικοποιημένα, όχι κρυπτογραφημένα. Οποιοσδήποτε τα διαβάζει. Η ασφάλεια στηρίζεται αποκλειστικά στην υπογραφή.

Η συνέχεια στο /forum

0 σχόλια

iGuRu.gr

Συμμετέχετε στη συζήτηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:

  1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
  2. Προκαλεί βλάβη σε ανηλίκους.
  3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
  4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους.
  5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).