FixVibe
Covered by FixVibehigh

JWT Security: Ny loza ateraky ny mari-pamantarana tsy azo antoka sy ny fanamarinana ny fitakiana tsy hita

Ny JSON Web Tokens (JWTs) dia manome fenitra amin'ny famindrana fitakiana, saingy miankina amin'ny fanamarinana henjana ny fiarovana. Ny tsy fanamarinana ny sonia, ny fotoana lany daty, na ny mpihaino kendrena dia ahafahan'ny mpanafika handalo ny fanamarinana na mamerina ny famantarana.

CWE-347CWE-287CWE-613

Fiantraikan'ny mpanafika

Ny fanamarinana JWT tsy araka ny tokony ho izy dia ahafahan'ny mpanafika handalo ny rafitra fanamarinana amin'ny alàlan'ny fandokoana fitakiana na fampiasana indray ireo marika efa lany daty [S1]. Raha misy mpizara manaiky mari-pamantarana tsy misy sonia manan-kery, ny mpanafika dia afaka manova ny enta-mavesatra mba hampitombo ny tombontsoa na haka tahaka ny mpampiasa [S1]. Fanampin'izay, ny tsy fampiharana ny fitakiana lany daty (exp) dia ahafahan'ny mpanafika iray mampiasa marika marimaritra iraisana mandritra ny fotoana tsy voafetra [S1].

Antony fototra

Ny JSON Web Token (JWT) dia rafitra mifototra amin'ny JSON ampiasaina hanehoana ireo fanambarana izay nosoniavina nomerika na [S1]. Ny tsy fahombiazan'ny fiarovana dia matetika avy amin'ny hantsana roa voalohany amin'ny fampiharana:

  • Faneken'ny JWT tsy azo antoka: Raha toa ka tsy manery mafy ny fanamarinana sonia ny serivisy iray, dia mety hanao "JWT tsy azo antoka" izay tsy misy ny sonia ary apetraka amin'ny "tsy misy" ny algorithm [S1]. Amin'ity toe-javatra ity, ny mpizara dia matoky ny fitakiana amin'ny enta-mavesatra nefa tsy manamarina ny fahamarinany [S1].
  • Fanamarihana fitakiana tsy hita: Ny fitakiana exp (fotoana lany daty) dia mamaritra ny fotoana na aorian'ny tsy tokony ekena ny JWT amin'ny fanodinana [S1]. Ny fitakiana aud (mpihaino) dia manondro ireo mpandray ny token'ny [S1]. Raha tsy voamarika ireo dia mety hanaiky ireo mari-pamantarana lany daty na natao ho an'ny fampiharana hafa [S1] ny mpizara.

Fanamboarana simenitra

  • Ampiharo ny sonia kriptografika: Ampifanaraho ny fampiharana mba handà izay JWT izay tsy mampiasa algorithm sonia efa nankatoavina mialoha (toy ny RS256).
  • Hamarino ny lany daty: Manaova fanamarinana tsy maintsy atao mba hahazoana antoka fa ny daty sy ora ankehitriny dia alohan'ny fotoana voatondro ao amin'ny fitakiana exp [S1].
  • Hamarino ny mpihaino: Ataovy azo antoka fa misy sanda famantarana ny serivisy eo an-toerana ny fitakiana aud; raha tsy fantatra ny serivisy amin'ny fitakiana aud dia tsy maintsy lavina ny token'ny [S1].
  • Misoroka ny Famerenana: Ampiasao ny jti (JWT ID) fitakiana hanendry famantarana tokana ho an'ny marika tsirairay, mamela ny mpizara hanara-maso sy handà ireo marika ampiasaina indray [S1].

Paikady fitadiavana

Ny vulnerabilities amin'ny fitantanana JWT dia azo fantarina amin'ny alalan'ny famakafakana ny rafitra token sy ny fitondran-tenan'ny mpizara:

  • Fanadihadiana Lohateny: Fanamarinana ny lohatenin'ny alg (algoritma) mba hahazoana antoka fa tsy napetraka amin'ny "tsy misy" ary mampiasa ny fenitra kriptografika andrasana [S1].
  • Fanamarinana fitakiana: Manamafy ny fisian'ny fitakiana exp (lany andro) sy aud (mpihaino) ao anatin'ny enta-mavesatra JSON [S1].
  • Fitsapana Fanamarinana: Fitsapana raha mandà tsara ny mari-pamantarana lany daty araka ny filazan'ny exp ny mpizara na natao ho an'ny mpihaino hafa araka izay voafaritry ny fitakiana aud [S1].