Hujumchining ta'siri
Noto'g'ri JWT tekshiruvi tajovuzkorlarga da'volarni soxtalashtirish yoki muddati o'tgan [S1] tokenlarini qayta ishlatish orqali autentifikatsiya mexanizmlarini chetlab o'tish imkonini beradi. Agar server tokenlarni yaroqli imzosiz qabul qilsa, tajovuzkor imtiyozlarni oshirish yoki istalgan [S1] foydalanuvchisining o‘zini namoyon qilish uchun foydali yukni o‘zgartirishi mumkin. Bundan tashqari, amal qilish muddati tugashi (exp) daʼvosini bajarmaslik tajovuzkorga buzilgan tokendan [S1] muddatsiz foydalanish imkonini beradi.
Asosiy sabab
JSON veb tokeni (JWT) raqamli imzolangan yoki yaxlitligi himoyalangan [S1] daʼvolarni ifodalash uchun foydalaniladigan JSONga asoslangan tuzilmadir. Xavfsizlik xatolari odatda ikkita asosiy bo'shliqdan kelib chiqadi:
- Ta'minlanmagan JWTlarni qabul qilish: Agar xizmat imzoni tekshirishni qat'iy talab qilmasa, u imzo yo'q va algoritm "yo'q" [S1] ga o'rnatilgan "Xavfsiz JWT" ni qayta ishlashi mumkin. Bu stsenariyda server foydali yukdagi daʼvolarga ularning yaxlitligini tekshirmasdan ishonadi [S1].
- Yo‘qotilgan da’voni tekshirish:
exp(yaroqlilik muddati) da’vosi JWT [S1]ni qayta ishlash uchun qabul qilinmasligi kerak bo‘lgan yoki undan keyin vaqtni belgilaydi.aud(auditoriya) daʼvosi [S1] tokenining moʻljallangan oluvchilarini aniqlaydi. Agar ular belgilanmagan bo'lsa, server muddati o'tgan yoki boshqa [S1] ilovasi uchun mo'ljallangan tokenlarni qabul qilishi mumkin.
Beton tuzatishlar
- Kriptografik imzolarni qo‘llash: Ilovani oldindan tasdiqlangan, kuchli imzolash algoritmidan (masalan, RS256) foydalanmaydigan har qanday JWTni rad etish uchun sozlang.
- Muddati tugashini tekshirish: Joriy sana va vaqt
expdaʼvosi [S1] daʼvosida koʻrsatilgan vaqtdan oldin boʻlishini taʼminlash uchun majburiy tekshiruvni oʻtkazing. - Tomoshabinni tekshirish:
auddaʼvosida mahalliy xizmatni identifikatsiya qiluvchi qiymat mavjudligiga ishonch hosil qiling; agar xizmataudda'vosida aniqlanmagan bo'lsa, token [S1] rad etilishi kerak. - Takrorlashni oldini olish:
jti(JWT ID) daʼvosidan har bir tokenga noyob identifikator tayinlash uchun foydalaning, bu esa serverga qayta ishlatilgan [S1] tokenlarini kuzatish va rad etish imkonini beradi.
Aniqlash strategiyasi
JWT bilan ishlashdagi zaifliklar token tuzilishi va serverning javob xatti-harakatlarini tahlil qilish orqali aniqlanishi mumkin:
- Sarlavhani tekshirish:
alg(algoritm) sarlavhasi “yo‘q”ga o‘rnatilmaganligiga ishonch hosil qilish va kutilgan [S1] kriptografik standartlardan foydalanishni tekshirish. - Da’voni tekshirish:
exp(muddati tugaydi) vaaud(auditoriya) da’volarining [S1] JSON foydali yukida mavjudligi va haqiqiyligini tasdiqlash. - Tasdiqlash testi:
expdaʼvosiga koʻra muddati oʻtgan yokiauddaʼvosi [S1] daʼvosi boʻyicha belgilangan boshqa auditoriya uchun moʻljallangan tokenlarni server toʻgʻri rad etishini tekshirish.
