حملو ڪندڙ اثر
نامناسب JWT جي تصديق حملي ڪندڙن کي اجازت ڏئي ٿي تصديق واري ميڪانيزم کي نظرانداز ڪرڻ جي دعويٰ ڪري يا ختم ٿيل ٽوڪن ٻيهر استعمال ڪندي [S1]. جيڪڏهن هڪ سرور صحيح دستخط کان سواءِ ٽوڪن قبول ڪري ٿو، هڪ حملو ڪندڙ امتياز کي وڌائڻ يا ڪنهن به صارف [S1] کي ظاهر ڪرڻ لاءِ پيل لوڊ کي تبديل ڪري سگهي ٿو. ان کان علاوه، ختم ٿيڻ (exp) دعوي کي لاڳو ڪرڻ ۾ ناڪامي هڪ حملي ڪندڙ کي اجازت ڏئي ٿو ته هڪ سمجھوتي ٽوڪن غير يقيني طور تي [S1].
بنيادي سبب
هڪ JSON ويب ٽوڪن (JWT) هڪ JSON تي ٻڌل ڍانچي آهي جيڪو دعويٰ جي نمائندگي ڪرڻ لاءِ استعمال ڪيو ويندو آهي جيڪي ڊجيٽل طور تي دستخط ٿيل آهن يا سالميت محفوظ آهن [S1]. حفاظتي ناڪاميون عام طور تي ٻن بنيادي عمل درآمد جي خلا مان نڪرنديون آهن:
- غير محفوظ JWTs جي قبوليت: جيڪڏهن ڪا خدمت سختي سان دستخط جي تصديق کي لاڳو نٿو ڪري، اها "غير محفوظ JWTs" تي عمل ڪري سگهي ٿي جتي دستخط غير حاضر آهي ۽ الگورتھم "ڪو به نه" [S1] تي سيٽ ڪيو ويو آهي. هن منظر ۾، سرور انهن جي سالميت جي تصديق ڪرڻ جي بغير پيل لوڊ ۾ دعوي تي اعتماد ڪري ٿو [S1].
- گم ٿيل دعوي جي تصديق:
exp(ختم ٿيڻ جو وقت) دعوي ان وقت جي سڃاڻپ ڪري ٿي جنهن تي يا بعد ۾ JWT کي قبول نه ڪيو وڃي [S1] پروسيسنگ لاءِ.aud(شاعر) دعويٰ [S1] ٽوڪن جي مطلوب وصول ڪندڙن جي سڃاڻپ ڪري ٿي. جيڪڏهن اهي چيڪ نه ڪيا ويا آهن، سرور شايد ٽوڪن قبول ڪري سگھن ٿا جيڪي ختم ٿي ويا آهن يا هڪ مختلف ايپليڪيشن [S1] لاء ارادو ڪيو ويو آهي.
ڪنڪريٽ فيڪس
- Cryptographic Signatures لاڳو ڪريو: ڪنهن به JWT کي رد ڪرڻ لاءِ ايپليڪيشن کي ترتيب ڏيو جيڪو اڳ ۾ منظور ٿيل، مضبوط سائننگ الگورٿم استعمال نٿو ڪري (جهڙوڪ RS256).
- تحقيق ختم ٿيڻ جي تاريخ: هڪ لازمي چيڪ کي يقيني بڻائڻ لاءِ موجوده تاريخ ۽ وقت
expدعوي [S1] ۾ بيان ڪيل وقت کان اڳ آهن. - ناظرين جي تصديق ڪريو: پڪ ڪريو ته
audدعويٰ مقامي خدمت جي سڃاڻپ ڪندڙ قدر تي مشتمل آهي؛ جيڪڏهنaudدعوي ۾ خدمت جي نشاندهي نه ڪئي وئي آهي، ٽوڪن کي رد ڪيو وڃي [S1]. - ريپلي کي روڪيو: استعمال ڪريو
jti(JWT ID) دعويٰ هر ٽوڪن لاءِ هڪ منفرد سڃاڻپ ڪندڙ تفويض ڪرڻ لاءِ، سرور کي اجازت ڏئي ٿو ته هو ٻيهر استعمال ٿيل ٽوڪنز کي ٽريڪ ۽ رد ڪري [S1].
ڳولڻ واري حڪمت عملي
JWT هينڊلنگ ۾ ڪمزورين جي نشاندهي ڪري سگهجي ٿي ٽوڪن جي جوڙجڪ ۽ سرور جي جوابي رويي جو تجزيو ڪندي:
- هيڊر جو معائنو:
alg(الگورٿم) هيڊر کي پڪ ڪرڻ لاءِ ته اهو مقرر نه ڪيو ويو آهي "ڪو به نه" ۽ استعمال ڪري ٿو متوقع ڪرپٽوگرافڪ معيار [S1]. - دعوي جي تصديق:
expجي موجودگي ۽ صحيحيت جي تصديق ڪرڻ (ميعاد ختم ٿيڻ) ۽aud(سامعين) جي دعويٰ JSON پيل لوڊ [S1] اندر. - تصديق جي جاچ: جانچ ڪندي ته سرور صحيح طور تي ٽوڪن کي رد ڪري ٿو جيڪي
expدعوي جي مطابق ختم ٿي چڪا آهن يا مختلف سامعين لاءِ آهن جيئنaudدعوي ZXCVFIXVIBETOKEN2 پاران وضاحت ڪئي وئي آهي.
