အားနည်းချက်များ Oauth | သင်၏ 0 က်ဘ်အပလီကေးရှင်းတွင်လုံခြုံသောခွင့်ပြုချက်ကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း

Anonim
အားနည်းချက်များ Oauth | သင်၏ 0 က်ဘ်အပလီကေးရှင်းတွင်လုံခြုံသောခွင့်ပြုချက်ကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း 2740_1

ဤဆောင်းပါးသည်လူသိများသော Oauth အားနည်းချက်များကိုကိုင်တွယ်ဖြေရှင်းလိမ့်မည်။ စာဖတ်သူများသည် 0 က်ဘ်အက်ပလီကေးရှင်းတွင်လုံခြုံမှုရှိပြီးလုံခြုံစွာခွင့်ပြုချက်ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုလေ့လာပါလိမ့်မည်။

Oauth သည်ယုံကြည်စိတ်ချရသော protocol တစ်ခုဖြစ်သော်လည်း၎င်း၏လုံခြုံရေးအတိုင်းအတာသည်ခွင့်ပြုချက်ကိုအကောင်အထည်ဖော်သည့်အခါဝက်ဘ် developer များ၏အသိအမြင်အပေါ်မူတည်သည်။ ၎င်းသည်ဤအကြောင်းအရာကိုသတင်းအချက်အလက်လုံခြုံရေးပညာရှင်များအတွက်အလွန်အရေးကြီးသည်။ ၎င်းတို့သည် 4 င်းတို့၏သုံးစွဲသူများအားမှတ်တမ်းများပေးရန်လိုအပ်သည်။ E သည် Oauth မှရောင်းစားသောရောင်းဝယ်မှု၏အန္တရာယ်ကိုလျှော့ချရန်ထိရောက်သောလေ့ကျင့်သူများနှင့်ရင်းနှီးကျွမ်းဝင်ရန်အချိန်တန်ပြီ။

နိဒါန်း

Oauth 2.0 protocol ကိုလက်ရှိတွင် applications အမျိုးမျိုးတွင်ကျယ်ပြန့်စွာအသုံးပြုသည်။ ၎င်းကိုအသုံးပြုခြင်းကိုအသုံးပြုခြင်းသည် Username နှင့် Password ကို 0 င်ရန်ရိုးရာနည်းလမ်းများနှင့်နှိုင်းယှဉ်လျှင်အဆင်ပြေသော user interface ကိုရရှိနိုင်ပါသည်။ အသုံးပြုသူများသည်သင့်လျော်စွာတွေးတောဆင်ခြင်မှုအကောင်အထည်ဖော်မှုနှင့်အတူ Oauth protocol သည်အရင်းအမြစ်များကိုတတိယပါတီလျှောက်လွှာကိုသုံးရန်တတိယပါတီလျှောက်လွှာနှင့်မျှဝေရန်မလိုအပ်ပါ။ အသုံးပြုသူများသည်သင်၏ဝက်ဘ်ဆိုက်တွင်သင်မှတ်ပုံတင်ရန်လိုအပ်သည့်အခါတိုင်းအကောင့်အသစ်တစ်ခုကိုဖန်တီးမည့်အစားသူတို့၏ Google အကောင့်များ, Facebook သို့မဟုတ် LinkedIn ကို အသုံးပြု. ဝင်ရောက်လိုကြသည်။ ထို့ကြောင့် Oauth Protocol သည်ကျွန်ုပ်တို့၏ဘဝကိုများစွာရိုးရှင်းစေသည်။

ယေဘုယျအားဖြင့်လူကြိုက်များသော Oauth 0 န်ဆောင်မှုပေးသူများသည်အလွန်ယုံကြည်စိတ်ချရသူများဖြစ်သည်။ ဂူဂဲလ်သို့မဟုတ်ဖေ့စ်ဘွတ်ခ်အကောင့်ဖြင့်ဝင်ရောက်ပါ 0 င်ပါ။ အဆိုပါ protocol ကိုကျွမ်းကျင်သူများကဂရုတစိုက်စမ်းသပ်ပြီးဖြစ်ပါတယ်။ ရရှိနိုင်သည့်အားနည်းချက်များကိုအမြဲတမ်းလျင်မြန်စွာ developer အသင်းမှတည့်မတ်ပေးသည်။ သို့သော်အပြည့်အဝလုံခြုံမှု၏ခံစားချက်သည်မှားယွင်းစွာဖြစ်နိုင်သည်ကိုသတိပြုသင့်သည်။

Oauth 0 န်ဆောင်မှုပေးသူများက application developer များထွက်ခွာသွားသူများအား၎င်းတို့၏အစီအစဉ်များ၏လုံခြုံမှုကိုရင်ဆိုင်ရန်အကြောင်းပြချက်များစွာရှိသည်။ အမှန်မှာအစပိုင်းတွင်ကာကွယ်ထားသော Oauth 0 န်ဆောင်မှုသည်၎င်း၏တပ်ဆင်မှုလုပ်ငန်းစဉ်တွင်မှားယွင်းစွာအကောင်အထည်ဖော်ရန်မှားယွင်းစွာအကောင်အထည်ဖော်ရန်အတွက်မှားယွင်းစွာအကောင်အထည်ဖော်ရန်အတွက်လွယ်ကူစွာပစ်မှတ်ဖြစ်လာနိုင်သည်။ ထိုသို့သောအာရုံစူးစိုက်မှုသည်သုံးစွဲသူများ၏ကိုယ်ရေးကိုယ်တာအချက်အလက်များကိုခိုးယူခြင်းသို့ ဦး တည်သွားစေလိမ့်မည်။

ထို့နောက် Oauth Protocol ကိုအကောင်အထည်ဖော်ရန် Esuth Protocol ကိုအကောင်အထည်ဖော်သည့်တတိယပါတီ applications များတွင်တွေ့ရသည့်အသုံးအများဆုံးအားနည်းချက်များကိုသင်စဉ်းစားသင့်သည်။ Protocol ကိုယ်တိုင်ကလုံခြုံပြီးယုံကြည်စိတ်ချရသောဖြစ်ကြောင်းသတိရသင့်သည်။ မမှန်ကန်ကြောင်းအကောင်အထည်ဖော်ပြီးနောက်မှသာလျှင်ဟက်ကာတိုက်ခိုက်မှုများသည်အားနည်းချက်ဖြစ်လာသည်။

Oauth Tockey Theft သည် Defer header ကို အသုံးပြု. ခိုးယူခြင်း

application သည် Oauth ဆာဗာရှိအသုံးပြုသူကိုယ်စားခွင့်ပြုချက်တောင်းခံသည့်အခါလူတစ် ဦး သည်၎င်း၏နောက်ဆက်တွဲချက်လက်မှတ်အတွက်ဆာဗာသို့ပြန်ပို့ရန်ကုဒ်ကိုလက်ခံရရှိသည်။ အသုံးပြုသူသည်အခြားစာမျက်နှာတစ်ခုသို့ပြန်သွားလိမ့်မည်ဆိုပါက HTTP တောင်းဆိုမှု၏ "Reforer" Header တွင်ကုဒ်ကို "Refuler The Defere ၏ခေါင်းစဉ်တွင်ပါ 0 င်မည်ဖြစ်သည်။ ထို့ကြောင့် Code သည် outice server တွင်မှတ်ပုံတင်ထားသောအသုံးပြုသူအချက်အလက်များကိုခြိမ်းခြောက်မည့်ပြင်ပဝက်ဘ်ဆိုက်ပေါ်တွင်ကျလိမ့်မည်။

မှတ်ချက်။ ။ Defer header သည် HTTP Query Header ဖြစ်ပြီး URL အိမ်ရှင်အားတောင်းဆိုမှုကိုပေးပို့သည့် URL အိမ်ရှင်ကိုထုတ်လွှင့်သည်။

ဤအားနည်းချက်၏အကျိုးဆက်များကိုပျော့ပြောင်းစေရန် developer သည်၎င်း၏ web application တွင် HTML html ထိုးဆေးများမပါ 0 င်ကြောင်းသေချာစေရမည်။ အကယ်. ထိုးသွင်းခံရပါကတိုက်ခိုက်သူသည်ပုံ tag ကို၎င်း၏ဝက်ဘ်ဆာဗာသို့အလွယ်တကူ သတ်မှတ်. အသုံးပြုသူအား၎င်းကိုပြန်လည်ရယူရန်နည်းလမ်းရှာနိုင်သည်။ ထို့ကြောင့်သူသည် HTTP တောင်းဆိုမှု၏ "Deferer" ၏ခေါင်းစဉ်မှကုဒ်ကိုခိုးယူရန်အခွင့်အရေးရလိမ့်မည်။

oauth tockey ခိုးယူ redirect_uri parameter သည်သုံးပြီး

OA သည် Oauth ဆာဗာသို့တောင်းဆိုခြင်းအားဖြင့်လျှောက်လွှာသည်ခွင့်ပြုချက်ဖြစ်စဉ်ကိုစတင်ခဲ့သည်။

https://www.example.com/signin.com/authorize ??/demo.example.com/loginsuccessfuls ။

query တွင်အမြဲတမ်း "redirect_uri" parameter ပါ 0 င်သည်။ အကယ်. ဤ parameter သည်မထိန်းချုပ်နိုင်ပါကတိုက်ခိုက်သူသည်၎င်းကိုအလွယ်တကူပြောင်းလဲနိုင်ပြီးတောင်းဆိုမှုကို၎င်း၏ 0 ဘ်ဆိုဒ်သို့လွှဲပြောင်းပေးနိုင်သည်။ ၎င်းသည်တိုကင်နှင့်အကန့်အသတ်ဖြင့်သာ 0 င်ရောက်နိုင်ရန်အတွက်အထူးအစီအစဉ်ကိုအသုံးပြုသည်။

https://www.example.com/signin/authorize လုပ်ခြင်း ..]Fror_hevtpps://localhost.evil.com ။

တစ်ခါတစ်ရံတွင်အလားတူ URL များကိုပိတ်ဆို့ထားသည်။ ဤကဲ့သို့သော untyer သည်ရရှိသောအချက်အလက်များကို Open URL တွင် redirect လုပ်နိုင်သည်။

https://www.examppps.com/ouauthor.com/oAuthorize.srf.srf.srf.com

သို့မဟုတ်ဤ:

https://www.example.com/oauthorize? [... ]% iruthorize = https% 3F 3F 2F% 2FATPS.fATPS.com% 2fattacker% 2f 2fattacker% 2f 2Fattacker% 2f ။

Oauth ကိုအကောင်အထည်ဖော်သည့်အခါအဖြူရောင်စာရင်းတွင် domains တစ်ခုလုံးကိုသင်ဘယ်တော့မှမပါဝင်နိုင်ပါ။ "redirect_urii" တွင် URL အနည်းငယ်သာထည့်သွင်းသင့်သည်။

Cross-line တောင်းဆိုမှုများကိုအတု

သားကောင်ကိုသူ၏ link ကိုနှိပ်ပြီး Generate မသွားရန်တောင်းဆိုသည့်တောင်းဆိုမှုကိုရရှိရန်အတွက် Interpact တောင်းဆိုမှုတစ်ခုအောင်မြင်သည့်အခါဒေသတွင်းတောင်းဆိုမှုကိုအောင်မြင်စွာပြုလုပ်နိုင်သည့်အခါသိသိသာသာဖြစ်လာနိုင်သည်။ Cross-line တောင်းဆိုမှုများကိုခွင့်ပြုချက်များသောအားဖြင့် CSRF တိုကင်နှင့်အတူပျော့ပျောင်းသော CSRF တိုကင်နှင့်ပျော့ပျောင်းသည်။ ၎င်းသည်လျှောက်လွှာကိုတောင်းဆိုမှုကိုစေလွှတ်သူတစ် ဦး ၏လူအားစစ်ဆေးရန်အထောက်အကူပြုသည်။ Oauth Protocol တွင် "State" parameter သည် CSRF တိုကင်အဖြစ်ဆောင်ရွက်သည်။

CSRF တိုက်ခိုက်မှုသည် Oauth တွင်မည်သို့ပြုလုပ်သည်ကိုကြည့်သင့်သည်။

Oauth ကို အသုံးပြု. 0 န်ဆောင်မှုပေးသူကိုရယူရန် 0 က်ဘ်အပလီကေးရှင်းကိုဟက်ကာများဖွင့်လှစ်လိုက်သည်။ လျှောက်လွှာတင်ရန်လိုအပ်သည့် 0 န်ဆောင်မှုပေးသူကိုပေးရန်တောင်းဆိုသည်။ 0 န်ဆောင်မှုပေးသူ 0 ဘ်ဆိုဒ်တွင်ဟက်ကာများကို 0 န်ဆောင်မှုပေးသည့် 0 က်ဘ်ဆိုက်သို့သင်ခန်းစာယူလိမ့်မည်။ အဲဒီအစားဟက္ကာကဒီတောင်းဆိုမှုကိုဖမ်းမိပြီး URL ကိုကယ်တင်နိုင်တယ်။ Hacker သည်သားကောင်ကိုဤ URL ကိုဖွင့်ရန်ဖြစ်သည်။ သားကောင်သည် 0 န်ဆောင်မှုပေးသူစနစ်ကို၎င်း၏အကောင့်ကို အသုံးပြု. 0 င်ပါက၎င်း၏အထောက်အထားများကိုခွင့်ပြုချက်ကုဒ်ထုတ်ပေးရန်အသုံးပြုလိမ့်မည်။ ခွင့်ပြုချက်ကုဒ်သည် access token သို့အပြန်အလှန်လဲလှယ်သည်။ ယခုလျှောက်လွှာရှိဟက်ကာအကောင့်သည်ခွင့်ပြုထားသည်။ သားကောင်ရဲ့အကောင့်ကိုကြည့်ရှုနိုင်တယ်။

ဒါကြောင့် "နိုင်ငံတော်" parameter သည်ဤအခြေအနေကိုကျွန်ုပ်မည်သို့တားဆီးနိုင်မည်နည်း။

လျှောက်လွှာသည်အရင်းအမြစ်အကောင့်ပေါ်တွင်တစ်နည်းနည်းဖြင့်အခြေခံသည့်တန်ဖိုးကိုဖန်တီးရမည် (ဥပမာအားဖြင့်အသုံးပြုသူ session hash key ကိုသုံးပါ) ၎င်းသည်အရေးမကြီးပါ, ၎င်းသည်အဓိကအရာမှာမူမူရင်းအသုံးပြုသူနှင့်ပတ်သက်သောသီးသန့်သတင်းအချက်အလက်များကို အသုံးပြု. တန်ဖိုးသည်ထူးခြားပြီးထုတ်လုပ်သည်။ ၎င်းကို "နိုင်ငံတော်" parameter သည်သတ်မှတ်ထားသည်။

ဤတန်ဖိုးကို 0 န်ဆောင်မှုပေးသည့်အခါ 0 န်ဆောင်မှုပေးသူသို့ပို့သည်။ ယခုဟက်ကာသည်သားကောင်ကိုသူထိန်းသိမ်းထားသော URL ကိုဖွင့်ရန်ဖိတ်ခေါ်သည်။

ခွင့်ပြုချက်ကုဒ်ကိုထုတ်ပေးပြီး Session ရှိ 0 န်ဆောင်မှုခံယူသူအား "State" Parameter သည်နှင့်အတူပြန်ပို့သည်။

0 န်ဆောင်မှုခံယူသူသည် session information တစ်ခုအပေါ် အခြေခံ. parameter တန်ဖိုးကိုထုတ်ပေးသည်။ ၎င်းကို 0 န်ဆောင်မှုပေးသူအားခွင့်ပြုချက်တောင်းခံမှုမှပြန်ပို့ပေးသော "နိုင်ငံတော်" တန်ဖိုးနှင့်နှိုင်းယှဉ်ထားသည်။ ဤတန်ဖိုးသည် "နိုင်ငံတော်" parameter ကိုမကိုက်ညီသောကြောင့်လက်ရှိ session နှင့်ပတ်သက်သောသတင်းအချက်အလက်များကိုသာ အခြေခံ. ထုတ်ပေးသည်။ ရလဒ်အနေဖြင့်ရရှိသောတန်ဖိုးကိုစနစ်ကလက်ခံခြင်းမရှိပါ။

Oauth မှ "redirect_uri" parameter ကို အသုံးပြု. Oauth ကိုအကောင်အထည်ဖော်ရန်အတွက် XSS (Cross-site scripting) ကိုအကောင်အထည်ဖော်နိုင်သည့်အခါအခြားအားနည်းချက်များကိုရှာဖွေတွေ့ရှိသည့်အခြားအားနည်းချက်များကိုရှာဖွေတွေ့ရှိသည့် Oauth Private Key Setting (တစ်ခါတစ်ရံမိုဘိုင်း application conculation ချိုးဖောက်မှု) နှင့်ခွင့်ပြုချက်ကုဒ်ချိုးဖောက်မှု (မည်သည့်အချိန်တွင်မရရှိနိုင်ပါ Access Tokens မျိုးစုံကိုထုတ်ပေးရန်ခွင့်ပြုချက်ကုဒ်ကိုတစ်ကြိမ်ထက်ပိုပြီးသုံးနိုင်သည်။ ဤအားနည်းချက်များကိုအထက်တွင်ဖော်ပြခဲ့သူများထက်ဘုံနည်းပါးသည်, သို့သော်ယင်းကသူတို့ကိုအန္တရာယ်နည်းအောင်မလုပ်နိုင်ပါ။ developer သည်၎င်း၏ဝက်ဘ်လျှောက်လွှာကိုယုံကြည်စိတ်ချရသောလုပ်ဆောင်မှုကိုသေချာစေရန်လိုအပ်သောအလေ့အကျင့်အားလုံးကိုသိသင့်သည်။

ဘာသာပြန်ထားသောဆောင်းပါးရေးသားသူ Simon Saliba ။

အရေးကြီး! တစ်ခုတည်းမှသာပညာရေးဆိုင်ရာရည်ရွယ်ချက်များအတွက်။ ကျေးဇူးပြု. ဥပဒေပြုရေးကိုလိုက်နာပါ။ ဤအချက်အလက်ကိုတရားမဝင်ရည်ရွယ်ချက်များအတွက်အသုံးမပြုပါနှင့်။

cisoclub.ru အပေါ်ပိုပြီးစိတ်ဝင်စားဖို့ပစ္စည်း။ US ကိုစာရင်းသွင်းပါ။ Facebook | VK | Twitter | Instagram | ကြေးနန်း | zen | Messenger | ICQ အသစ် | YouTube | သွေးခုန်နှုန်း။

Saathpaatraan