FixVibe
Covered by FixVibehigh

JWT امنیت: د غیر خوندي توکیو خطرونه او د ادعا تایید ورکونه

د JSON ویب ټوکن (JWTs) د ادعاګانو لیږدولو لپاره معیار چمتو کوي، مګر امنیت په سخت اعتبار تکیه کوي. د لاسلیکونو، د پای ته رسیدو وختونو، یا ټاکل شوي لیدونکو تایید کولو کې پاتې راتلل برید کونکو ته اجازه ورکوي چې د تصدیق مخه ونیسي یا ټوکن بیا پلی کړي.

CWE-347CWE-287CWE-613

بریدګر اغیز

د JWT ناسم اعتبار برید کونکو ته اجازه ورکوي چې د ادعاګانو په جوړولو یا د ختم شوي ټوکن [S1] بیا کارولو سره د تصدیق کولو میکانیزمونو ته مخه کړي. که چیرې یو سرور د باوري لاسلیک پرته ټوکنونه ومني، برید کونکی کولی شي د امتیازاتو د زیاتولو لپاره تادیه بدله کړي یا د کوم کارونکي [S1] نقض کړي. سربیره پردې، د پای ته رسیدو (exp) ادعا په پلي کولو کې پاتې راتلل یو برید کونکي ته اجازه ورکوي چې په غیر مستقیم ډول [S1] یو جوړ شوی نښه وکاروي.

اصلي لامل

د JSON ویب ټوکن (JWT) د JSON پر بنسټ جوړښت دی چې د ادعاګانو استازیتوب کولو لپاره کارول کیږي چې په ډیجیټل ډول لاسلیک شوي یا بشپړتیا خوندي شوي [S1]. د امنیت ناکامۍ معمولا د دوه لومړني پلي کولو تشو څخه رامینځته کیږي:

  • د غیر خوندي JWTs منل: که چیرې یو خدمت په کلکه د لاسلیک تصدیق پلي نه کړي، دا ممکن "غیر خوندي JWTs" پروسس کړي چیرې چې لاسلیک غیر حاضر وي او الګوریتم "هیڅ" [S1] ته ټاکل شوی. په دې سناریو کې، سرور پرته له دې چې د دوی بشپړتیا [S1] تایید کړي په تادیه کې ادعاګانې باور لري.
  • د ادعا د اعتبار نشتوالی: د exp (د ختمیدو وخت) ادعا هغه وخت په ګوته کوي چې یا وروسته JWT باید د [S1] پروسس کولو لپاره ونه منل شي. د aud (اوریدونکي) ادعا د [S1] نښه شوي ترلاسه کونکي پیژني. که دا چک شوي نه وي، سرور ممکن هغه ټوکنونه ومني چې پای ته رسیدلي یا د بل غوښتنلیک [S1] لپاره ټاکل شوي.

کانکریټ اصلاحات

  • د کریپټوګرافیک لاسلیکونه پلي کړئ: غوښتنلیک ترتیب کړئ چې هر ډول JWT رد کړي چې دمخه تصویب شوی ، قوي لاسلیک کولو الګوریتم نه کاروي (لکه RS256).
  • د ختمیدو تایید: یو لازمي چک پلي کړئ ترڅو ډاډ ترلاسه کړئ چې اوسنی نیټه او وخت د exp ادعا [S1] کې له ټاکل شوي وخت څخه مخکې دي.
  • اوریدونکي تایید کړئ: ډاډ ترلاسه کړئ چې د aud ادعا یو ارزښت لري چې محلي خدمت پیژني؛ که خدمت د aud ادعا کې نه وي پیژندل شوی، نښه باید [S1] رد شي.
  • د بیا چلولو مخه ونیسئ: د jti (JWT ID) ادعا وکاروئ ترڅو هر ټوکن ته یو ځانګړی پیژندونکی وټاکئ، سرور ته اجازه ورکوي چې بیا کارول شوي ټوکن تعقیب او رد کړي [S1].

د کشف ستراتیژي

د JWT اداره کولو کې زیان منونکي د نښې جوړښت او د سرور غبرګون چلند تحلیل کولو سره پیژندل کیدی شي:

  • د سرلیک معاینه: د alg (الګوریتم) سرلیک چیک کول ترڅو ډاډ ترلاسه شي چې دا "هیڅ" ته نه دی ټاکل شوی او تمه شوي کریپټوګرافیک معیارونه [S1] کاروي.
  • د ادعا تایید: د exp شتون او اعتبار تایید کول (د وخت پای ته رسیدو) او aud (اوریدونکي) ادعاګانې د JSON پایلوډ [S1] دننه.
  • د اعتبار ازموینه: ازموینه که چیرې سرور په سمه توګه هغه ټوکنونه رد کړي چې د exp ادعا سره سم پای ته رسیدلي یا د مختلف لیدونکو لپاره دي لکه څنګه چې د aud ادعا ZXCVFIXVIBETOKEN2 لخوا تعریف شوي.