တိုက်ခိုက်သူ ထိခိုက်မှု
မသင့်လျော်သော JWT မှန်ကန်မှု သည် တိုက်ခိုက်သူများအား အရေးဆိုမှုများကို အတုလုပ်ခြင်း သို့မဟုတ် သက်တမ်းကုန်ဆုံးသွားသော တိုကင်များ [S1] ဖြင့် အထောက်အထားစိစစ်ခြင်း ယန္တရားများကို ကျော်ဖြတ်နိုင်စေပါသည်။ အကယ်၍ ဆာဗာသည် တရားဝင် လက်မှတ်မပါဘဲ တိုကင်များကို လက်ခံပါက၊ တိုက်ခိုက်သူသည် အခွင့်ထူးများ တိုးမြင့်ရန် သို့မဟုတ် အသုံးပြုသူ [S1] ၏ payload ကို ပြင်ဆင်နိုင်သည်။ ထို့အပြင်၊ သက်တမ်းကုန်ဆုံးမှု (exp) အရေးဆိုချက်ကို လိုက်နာရန် ပျက်ကွက်ခြင်းသည် တိုက်ခိုက်သူအား အပေးအယူလုပ်ထားသော တိုကင်ကို အကန့်အသတ်မရှိ [S1] အသုံးပြုခွင့်ပေးသည်။
အကြောင်းအရင်း
JSON ဝဘ်တိုကင် (JWT) သည် ဒစ်ဂျစ်တယ်စနစ်ဖြင့် လက်မှတ်ထိုးထားသော သို့မဟုတ် သမာဓိရှိမှု [S1] မှ ကာကွယ်ထားသော အရေးဆိုမှုများကို ကိုယ်စားပြုရန်အတွက် အသုံးပြုသည့် JSON-based ဖွဲ့စည်းပုံဖြစ်သည်။ လုံခြုံရေး ချို့ယွင်းချက်များသည် ပုံမှန်အားဖြင့် အဓိက အကောင်အထည်ဖော်မှု ကွာဟချက်နှစ်ခုမှ ဖြစ်ပေါ်လာသည်-
- မလုံခြုံသော JWTs များကို လက်ခံခြင်း- ဝန်ဆောင်မှုတစ်ခုသည် လက်မှတ်အတည်ပြုခြင်းအား တင်းတင်းကျပ်ကျပ် မလုပ်ဆောင်ပါက၊ ၎င်းသည် လက်မှတ်မရှိသည့်နေရာတွင် "မလုံခြုံသော JWTs" ကို လုပ်ဆောင်နိုင်မည်ဖြစ်ပြီး အယ်လဂိုရီသမ်ကို "မရှိ" ဟု သတ်မှတ်ထားသည့် [S1]။ ဤအခြေအနေတွင်၊ ဆာဗာသည် ၎င်းတို့၏ သမာဓိ [S1] ကို မစစ်ဆေးဘဲ payload တွင် တောင်းဆိုချက်များကို ယုံကြည်ပါသည်။
- ပျောက်ဆုံးနေသောအရေးဆိုမှုအတည်ပြုခြင်း-
exp(သက်တမ်းကုန်ဆုံးချိန်) အရေးဆိုချက်သည် JWT [S1] ကို စီမံဆောင်ရွက်ရန်အတွက် လက်ခံမည်မဟုတ်သည့်အချိန်ကို သတ်မှတ်သတ်မှတ်ပေးပါသည်။aud(ပရိသတ်) အရေးဆိုမှုသည် [S1] ၏ ရည်ရွယ်ထားသော တိုကင်လက်ခံသူများကို ခွဲခြားသတ်မှတ်သည်။ ၎င်းတို့ကို မစစ်ဆေးပါက၊ ဆာဗာသည် သက်တမ်းကုန်သွားသော သို့မဟုတ် အခြားအပလီကေးရှင်း [S1] အတွက် ရည်ရွယ်ထားသည့် တိုကင်များကို လက်ခံနိုင်သည်။
ကွန်ကရစ်ပြင်ဆင်မှုများ
ZXCVFIXVIBESEG၁၀
- Cryptographic Signatures ကို Enforce လုပ်ပါ- ကြိုတင်အတည်ပြုထားသော၊ ခိုင်မာသောလက်မှတ်ထိုးခြင်းဆိုင်ရာ အယ်လဂိုရီသမ် (RS256 ကဲ့သို့) ကိုအသုံးမပြုသည့် JWT မှန်သမျှကို ငြင်းပယ်ရန် အပလီကေးရှင်းကို စီစဉ်သတ်မှတ်ပါ။
ZXCVFIXVIBESEG ၁၁
- သက်တမ်းကုန်ဆုံးကြောင်းအတည်ပြုပါ-
expတွင်ဖော်ပြထားသောexpတွင်ဖော်ပြထားသည့် လက်ရှိရက်စွဲနှင့်အချိန်ကိုသေချာစေရန်မဖြစ်မနေစစ်ဆေးခြင်းကိုလုပ်ဆောင်ပါ။ - ပရိသတ်ကို အတည်ပြုပါ-
audတွင် ဒေသဆိုင်ရာ ဝန်ဆောင်မှုကို သတ်မှတ်သည့် တန်ဖိုးတစ်ခု ပါဝင်ကြောင်း သေချာပါစေ။audအရေးဆိုမှုတွင် ဝန်ဆောင်မှုကို မဖော်ထုတ်ပါက၊ တိုကင်ကို [S1] ငြင်းပယ်ရပါမည်။
ZXCVFIXVIBESEG၁၃
- ပြန်လည်ကစားခြင်းကို တားဆီးရန်- ဆာဗာမှ ပြန်လည်အသုံးပြုထားသော တိုကင် [S1] အား သီးသန့်သတ်မှတ်သူအဖြစ် သတ်မှတ်ရန် တောင်းဆိုသည့်
jti(JWT ID) ကို အသုံးပြုပါ။
ZXCVFIXVIBESEG ၁၄
Detection Strategy
JWT ကိုင်တွယ်ခြင်းရှိ အားနည်းချက်များကို တိုကင်ဖွဲ့စည်းပုံနှင့် ဆာဗာတုံ့ပြန်မှုအပြုအမူတို့ကို ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် ဖော်ထုတ်နိုင်သည်- ZXCVFIXVIBESEG၁၆
- ခေါင်းစီးစစ်ဆေးခြင်း-
alg(algorithm) ခေါင်းစီးကို "မရှိ" ဟုသတ်မှတ်ထားပြီး မျှော်လင့်ထားသည့် ကုဒ်ဝှက်စံနှုန်း [S1] ကို အသုံးပြုထားကြောင်း သေချာစေရန် စစ်ဆေးခြင်း။ - တိုင်ကြားမှု စိစစ်ခြင်း-
exp(သက်တမ်းကုန်ဆုံးခြင်း) နှင့်aud(ပရိသတ်) အရေးဆိုမှုများကို JSON payload [S1] ၏ တည်ရှိမှုနှင့် တရားဝင်မှုကို အတည်ပြုခြင်း။ - Validation Testing-
expအရexpတောင်းဆိုမှုအရ သက်တမ်းကုန်သွားသော တိုကင်များကို ဆာဗာမှ မှန်ကန်စွာ ငြင်းပယ်ခြင်း ရှိမရှိ စမ်းသပ်ခြင်း သို့မဟုတ်audမှ သတ်မှတ်ထားသည့် မတူညီသော ပရိသတ်အတွက် ရည်ရွယ်ခြင်း ဖြစ်သည်။
