Oauth | Веб-тиркемеде коопсуз уруксат алууну кантип жүргүзсө болот

Anonim
Oauth | Веб-тиркемеде коопсуз уруксат алууну кантип жүргүзсө болот 2740_1

Бул макалада белгилүү oauth жийиркеничтүүлүгү менен каралат. Окурмандар ошондой эле веб-тиркемеде коопсуз жана коопсуз уруксат колдонууну үйрөнүшөт.

ОАХВ - ишенимдүү протокол, бирок анын коопсуздугу даражасы, негизинен, уруксат берүүчү жактоочулардын маалымдуулугуна байланыштуу. Бул теманы маалыматтык коопсуздук боюнча адистер үчүн өтө маанилүү кылат. Алар өз колдонуучуларынын эсептерди коргоонун жогорку деңгээлин камсыз кылышы керек. ОАУут сатуу коркунучун азайтууга жардам берген натыйжалуу практиктер менен таанышуу мезгили келди.

Киришүү

Oauth 2.0 Протокол учурда ар кандай тиркемелерде кеңири колдонулат. Аны колдонуу, ыңгайлуу колдонуучу интерфейси, колдонуучунун ыңгайлуу аныктамасы жана колдонуучунун ысымын жана паролун киргизүү үчүн салттуу ыкмаларга каршы. Туура жана ойлонуу менен, oauth протоколу салттуу авторизацияга караганда коопсуз болот, анткени колдонуучулар белгилүү бир ресурска кирүү үчүн үчүнчү жактын арызы менен бөлүшүүнүн кажети жок. Колдонуучулар көбүнчө веб-сайтка каттоодон өтүшүңүз керек болгон жаңы каттоо эсебин түзүүнүн ордуна, Google каттоо эсебин колдонуп, фейсбуктар каттоо эсебин колдонууну каалашат. Ошентип, oauth протоколу биздин жашообузду бекемдейт.

Жалпысынан, oauth кызматын провайдерлер абдан ишенимдүү. Google же Facebook эсебине кириңиз, ал коопсуздуктун белгилүү бир сезимин туудурат, ал туура. Протокол эксперттер тарабынан кылдаттык менен сыналат. Бардык жеткиликтүүлүгү ар дайым иштеп чыгуучу команда тарабынан тез арада оңдолот. Бирок, толугу менен коопсуздукту сезүү сезими жалган болушу мүмкүн экендигин белгилей кетүү керек.

Оаут кызматын провайдерлер, арызды иштеп чыгуучулардан өз программаларынын коопсуздугуна каршы турууга көптөгөн себептер бар. Чындыгында, алгачкы корголуучу oauth кызматы, аны орнотуу процессинде туура эмес ишке ашырылып, кол салгандарга оңой жетүүгө болот. Мындай иш-чаралар колдонуучулардын жеке маалыматтарын уурдоого алып келет.

Андан кийин, сиз Оаут протоколун колдонуучуларга уруксат берүү үчүн колдонуучуларга уруксат берүү үчүн үчүнчү жактын колдонмолорунда кездешкен эң көп кездешкен алсыздыгын карап чыгыңыз. Протоколдун өзү коопсуз жана ишенимдүү экендигин унутпоо керек. Туура эмес аткарылгандан кийин гана Хакер чабуулдарына алсыз болуп калат.

Oauth tockey tocke heferer header колдонуп

Колдонмо Oauth Серверинин атынан уруксат сурап кайрылганда, адам кодексти киргизип, аны кийинки текшерүү үчүн серверге жөнөтөт. Эгерде жумуш учурунда колдонуучу башка баракка багытталса, код "Рефер" HTTP сурамынын "реферетр" аталышында көрүлөт. Ошентип, код oauth серверинде катталган колдонуучу маалыматтарын коргой турган тышкы веб-сайтта кулайт.

Эскертүү: Реферирттин баш аты - бул HTTP сурам чекиттин аталышы, ал URL хостун өтүнүч жөнөтүлөт.

Бул алсыздыктын кесепеттерин жумшартуу үчүн, иштеп чыгуучу веб-тиркемеде HTML сайма камтылбашы керек. Эгерде сайма аныкталса, чабуулчу сүрөттүн тегин веб-серверге орнотуп, колдонуучуга кайра багыттоонун жолун табууга болот. Ошентип, ал "Рефер" HTTP сурамынын "реферутчунун" кодун уурдоо мүмкүнчүлүгүн алат.

Oauth tockey уурдоо фор параметрин колдонуп

Колдонмо авторизация жараянын oauth серверине сурам жөнөтүү менен демилгелейт:

https://www.example.com/sinignin/Authorize ?.

Ар дайым "redirect_ure" параметрин колдонгон "redirect_ure" параметрин колдонуучуга арыз бергенден кийин арызга кайра колдонот. Эгерде бул параметрдин мааниси көзөмөлдөнбөсө же текшерилбесе, чабуулчу оңой эле өзгөрүп кетсе жана сурамды өз веб-сайтына багыттаса болот, ал жерде белгисин иштетүү жана чектелген ресурстарга жетүү үчүн атайын программаны колдонот.

https://www.example.com/signinin/USIGHORITE ?.

Кээде окшош URLs бөгөттөлгөн. Кол салган адам бул сыяктуу ачык url ​​сайтында алынган маалыматтарды багыттай алат:

https://www.example.com/oauth20_Authorize.srff wterfy ..

Же бул:

https://www.Example.com/oauth2/Authorize? [...]% irect_uri = https% 3a% 2F% 2Fapps.facebook.com% 2Fattacker% 2f.

ОАХТИЯТЫ ЖАКШЫ, сиз эч качан ак тизмедеги бүт домендерди да камтыбайт. Багыттаманы ачуу сурамына багытталбаган "redirect_uri" үчүн бир нече гана шилтемелер кошулушу керек.

Кесилген саптардын жасалма

Айыгышкан өтүнүчтү жасалмалоо өтүнүчү жабырлануучуну анын байланышын чыкылдатып, анын байланышын чыкылдатып, анын түзүлүшүнө жол бербөө үчүн өтүнүч менен өтүүнү талап кылса да болушу мүмкүн. Адатта, бир нече суроо-талаптын жасалма, адатта, User Session менен байланышкан CSRF Токен менен жумшартылат. Бул өтүнмөгө арызды жөнөткөн адамдын адамын текшерүүгө жардам берет. Оаут протоколундагы "Мамлекеттик" параметр, CSRF Токен катары кызмат кылат.

CSRF кол салуусу Маутка кандайча жүргүзүлүп жаткандыгын жана "Мамлекеттик" параметрди алсыздыктын кесепеттерин азайтуу үчүн колдонсоңуз болот.

Хакер Веб тиркемесин ачып, Авторизация процессин Эаут аркылуу тейлөө кызматына кирүү үчүн колдонот. Колдонмо кызмат көрсөтүүчүнү камсыз кылуу керек экендигин сурап кайрылууда. Хакер кызмат тейлөөчү веб-сайтына багытталат, ал жерде сиз кирүүгө уруксат берүү үчүн колдонуучу атыңызды жана паролду киргизүү керек. Анын ордуна, хакер бул өтүнүчтү кармайт жана анын URLун сактайт. Хакер кандайдыр бир жол менен жабырлануучуга бул URLди ачууга себеп болот. Эгерде жабырлануучу кызмат тейлөөчүнүн тутумуна кирсе, анда авторизация кодун берүү үчүн анын ишеним грамоталары колдонулат. Авторизация коду кирүү белгисине кирүүнү алмашуу. Азыр арызда хакер эсеби ыйгарым укуктуу. Ал жабырлануучунун эсебине кире алат.

Демек, бул кырдаалды "мамлекеттик" параметрин колдонуп кантип сактай алам?

Колдонмо булак эсебинин негизинде кандайдыр бир маанини түзүшү керек (мисалы, колдонуучунун сессиясынын хэш баскычын) колдонуңуз. Анын мааниси анчалык деле маанилүү эмес, эң негизги нерсе - бул мааниси уникалдуу жана баштапкы колдонуучу жөнүндө жеке маалыматты колдонуп, жеке маалыматты колдонуп, жеке маалыматын өздөштүрөт. Ал "мамлекеттик" параметрге жүктөлгөн.

Бул маани багыттоо учурунда кызмат тейлөөчүнө өткөрүлүп берилет. Азыр Хакер жабырлануучуну сактап калган URLди ачууга чакырат.

Уруксат коду чыгарылып, "Мамлекеттик" параметр менен бирге сессиянын "мамлекеттик" параметрине жөнөтүлөт.

Кардар сессиянын маалыматына негизделген параметрдин маанисин түзүп, ага уруксат берүүчүгө уруксат берүүчүгө уруксат сурамынан жөнөтүлгөн "мамлекеттик" маани менен салыштырат. Бул маани сурамдагы "Мамлекеттик" параметрге дал келбейт, анткени ал учурдагы сессия жөнүндө маалыматтын негизинде гана түзүлгөн. Натыйжада, алынган маани тутум тарабынан кабыл алынбайт.

"Redirect_uri" параметрин, oauth-жеке ачкыч жөндөөлөрүн колдонуп, башка алсыздыктар XSS (кайчылаш сценарийди сценарий) концерт коюшканы аныкталды (кээде ачкыч мобилдик арызды жокко чыгарганда) жана уруксат берүү кодун бузганда (качан) Авторизация коду бир нече жолу бир нече жолу кирүү мүмкүнчүлүгүн бир нече жолу колдонсо болот). Бул алсыздыктар жогоруда айтылгандарга караганда азыраак кездешет, бирок ал аларды анча деле коркунучтуу эмес. Иштеп чыгуучу анын веб-тиркемесин ишенимдүү иш-аракетин камсыз кылуу үчүн бардык керектүү тажрыйбаларды билиши керек.

Которулган макаланын автору: Саймон Салиба.

Маанилүү! Маалымат гана академиялык максаттар үчүн. Сураныч, мыйзамдарга ылайык келиңиз жана бул маалыматты мыйзамсыз максаттар үчүн колдонбоңуз.

CISOCLUB.RU боюнча кызыктуу материал. Бизге жазылыңыз: Facebook | ВКонтакт | Twitter | Инстаграм | Телеграм | Zen | Messenger | ICQ NEW | Youtube | Pulse.

Көбүрөөк окуу