Эмзэг байдал Оаут | Вэб програмд ​​аюулгүй зөвшөөрөл хэрхэн яаж хэрэгжүүлэх вэ

Anonim
Эмзэг байдал Оаут | Вэб програмд ​​аюулгүй зөвшөөрөл хэрхэн яаж хэрэгжүүлэх вэ 2740_1

Энэ нийтлэл нь алдартай OAuth эмзэг байдлыг шийдвэрлэх болно. Уншигчид Вэб програм дахь аюулгүй, найдвартай зөвшөөрөлтэйгээр хэрхэн хэрэгжүүлэхийг сурах болно.

Oauth бол найдвартай протокол юм, гэхдээ түүний аюулгүй байдлын зэрэг нь зөвшөөрлийг хэрэгжүүлэхэд вэб хөгжүүлэгчдээс хамаарна. Энэ нь энэ сэдвийг мэдээллийн аюулгүй байдлын мэргэжилтнүүдэд маш чухал болгодог. Тэдгээр хэрэглэгчийн дансуудын талаарх өндөр түвшинг хамгаалах хэрэгтэй. Ядуу зарах аюулыг бууруулахад туслах үр дүнтэй дадлагажигчтай танилцах цаг болжээ.

Оршил

OAUTH 2.0 протоколыг одоогоор янз бүрийн програмд ​​өргөн хэрэглэгддэг. Үүнийг ашиглахад тохиромжтой хэрэглэгчийн интерфейс нь хэрэглэгчийн нэр, нууц үгийг оруулах уламжлалт аргуудтай харьцуулахад хялбар болно. Зөв, бодолтой хэрэгжүүлэх, oauth протокол нь тухайн нөөцийг гуравдагч этгээдэд нэвтрэх шаардлагагүй тул худалдан авах зөвшөөрлөөс илүү аюулгүй байх болно. Хэрэглэгчид Google-ийн данс, Facebooks эсвэл Facebooks эсвэл LinkedIn-ийг ашиглан шинэ дансаа ашиглан шинэ данс үүсгэх хэрэгтэй. Тиймээс, oauth протокол нь бидний амьдралыг маш хялбаршуулдаг.

Ерөнхийдөө, алдартай Oauth Service үйлчилгээ үзүүлэгчид маш найдвартай байдаг. Google эсвэл Facebook-ийн дансанд нэвтрэх нь аюулгүй байдлын тодорхой мэдрэмжийг өдөөдөг бөгөөд энэ нь зөв юм. Протоколыг мэргэжилтнүүд сайтар туршиж үздэг. Бүх боломжтой эмзэг байдлыг хөгжүүлэгчийн багт хурдан засдаг. Гэсэн хэдий ч бүрэн аюулгүй байдлын мэдрэмж нь хуурамч байж болох юм гэдгийг тэмдэглэх нь зүйтэй.

Oauth үйлчилгээ үзүүлэгчдэд програм хангамжууд нь програмын аюулгүй байдлыг хангах үүднээс олон шалтгааныг бий болгодог. Үнэндээ, анхлан хамгаалагдсан OAuth үйлчилгээ, түүний суулгацын явцад буруу хэрэгжиж, халдагчдад хялбар зорилт болж чаддаг. Ийм болгоомжтой байдал нь хэрэглэгчдийн хувийн мэдээллийг хулгайлахад хүргэдэг.

Дараачийн, oauth Prococol-д тохиолдсон хамгийн түгээмэл эмзэг байдлыг та хэрэглэгчид хэрэглэгчдэд олгох. Протокол өөрөө өөртөө аюулгүй, найдвартай гэдгийг санах хэрэгтэй. Зөв хэрэгжүүлсний дараа зөвхөн хакерын дайралтад эмзэг болдог.

Oauth tockey tocke offerer Peader ашиглан

Аппликешн нь OAUT сервер дээр хэрэглэгчийн нэрийн өмнөөс зөвшөөрөл авах хүсэлт гаргахад хүн таны дараагийн чекийг оруулаад дараа нь сервер рүү илгээнэ үү. Хэрэв энэ ажлын явцад хэрэглэгч өөр хуудсанд дахин чиглүүлэх бол кодыг http хүсэлтийн "лавлагаа" дээрээс харах болно. Ийнхүү oauth сервер дээр бүртгэгдсэн хэрэглэгчийн өгөгдөл дээр дурдахад код нь гадаад вэбсайт дээр унах болно.

ТАЙЛБАР: Ашиглагч: лавлах толгой нь http асуулга гарчиг, энэ нь хүсэлтийг илгээсэн URL хостыг дамжуулдаг.

Энэ эмзэг байдлын үр дагаврыг зөөлрүүлэхийн тулд хөгжүүлэгч нь түүний вэб програмыг HTML-ийн аль ч хор хөнөөлтэй байх ёстой. Хэрэв тарилга илэрсэн бол халдагч нь зургийн шошгыг таны вэб серверт хялбар болгож, хэрэглэгчийг дахин чиглүүлэх арга замыг олох боломжтой. Тиймээс тэр "лавлагаа авагч" -аас HTTP хүсэлтийн "лавлагаа" толгойг хулгайлах боломжийг олж авах болно.

Oauth tockey tocke the deverirect_uri параметрийг ашиглан

Аппликешн нь OAUT серверт хүсэлт илгээх хүсэлтийг илгээсээр зөвшөөрлийн үйл явцыг эхлүүлдэг.

https://www.example.com/signein/auretize_uretize_Urouredize_urectize_hteCpe_hteChipse.ce.extample.com/logample.com/loglesplection.

Асуулга нь хэрэглэгчийн зөвшөөрлөө өгсөний дараа "Redirect_uriect_URECTER-ийн параметрийг програм руу ашигласан. Хэрэв энэ параметрийн үнэ цэнэ хяналтгүй эсвэл шалгагдаагүй бол Халдагч үүнийг амархан өөрчлөх, хязгаарлагдмал нөөцөд нэвтрэх боломжтой.

https://www.example.com/signein/autherize.ceuthorize_uthroure_uthirection_uretize_httize.//localhtps_https.evtOSt.evile.com.

Заримдаа үүнтэй төстэй URL-ийг хаасан байна. Халдагч нь url дээр хүлээн авсан өгөгдлийг дахин чиглүүлж чадна.

https://www.example.com/oauth20_authorize.srf?[...[&redirect_uri=httpps://accounts.google.com/backtoouthsubtarget?next=httpset://evil.com.

Эсвэл:

https://www.example.com/oauth2/authorize?% IRETHAPATION?

OAUT-г хэрэгжүүлэхдээ цагаан жагсаалтад бүх домэйнүүдийг хэзээ ч бүү оруулаарай. Цөөн тооны URL-ыг "Redirect_uri" -д дахин чиглүүлэх хүсэлтийг дахин чиглүүлэх хүсэлтийг дахин чиглүүлэхийг хүсээгүй.

Хөндлөн мөрний хүсэлтийг хуурамчаар үйлдэх

Хуурамч хүсэлтийг хуурамчаар үйлдэх нь түүний холбоос дээр дарахад хүргэсэн бөгөөд ингэснээр түүний холбоос дээр дарахад хүргэсэн бөгөөд ингэснээр түүний холбоос үүсгэхгүй байх хүсэлт гаргахад хүргэдэг. Cross-Line-ийн хүсэлтийг хуурамчаар үйлдэх нь ихэвчлэн CSRF токенийг CSRF токеноор зөөлрүүлдэг. Энэ нь хүсэлтийг илгээсэн хүний ​​хүнийг шалгахад тусална. Оаут Протоцол дахь "төлөв" параметр нь CSRF токен хэлбэрээр үйлчилдэг.

CSRF-ийн дайралтыг oauth хэрхэн явуулж байгааг харах нь зүйтэй бөгөөд энэ нь эмзэг байдлын үр нөлөөг багасгахад хэрэглэгддэг.

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

Тэгэхээр, энэ нөхцөл байдлыг "Төр" параметрийг ашиглан би яаж урьдчилан сэргийлэх вэ?

Аппликешн нь ямар нэгэн байдлаар эх акаунт дээр үндэслэсэн утгыг бий болгох ёстой (жишээ нь хэрэглэгчийн хуралдааны хэш түлхүүрийг ашиглана уу). Энэ нь тийм ч чухал биш, гол зүйл бол утга нь өвөрмөц бөгөөд анхны хэрэглэгчийн талаар хувийн мэдээллийг ашиглан өвөрмөц бөгөөд үүсгэдэг. Энэ нь "Төрөлт" параметр дээр томилогддог.

Энэ утгыг дахин чиглүүлэх үед үйлчилгээний үйлчилгээ үзүүлэгчд дамждаг. Одоо хакер нь хохирогчийг нээхийг урьж байна.

Зөвшөөрлийн код олгож, "Төрийн" параметрийн хамт сешн дээр үйлчлүүлэгч рүү буцаж очно.

Үйлчлүүлэгч нь хуралдааны мэдээлэл дээр үндэслэн параметрийн утгыг үүсгэж, үүнийг "Төрийн" үнэ цэнэтэй, үйлчилгээний үйлчилгээ үзүүлэгчээс буцаан олгосон болно. Энэ утга нь асуулгад байгаа бөгөөд энэ нь зөвхөн одоогийн сеансын талаарх мэдээллийг үндэслэсэн мэдээллийг агуулсан байдаг тул энэ утгатай таарахгүй байна. Үүний үр дүнд олж авсан үнэ цэнэ нь системийг системээр хүлээн авахгүй.

Oaut-ийг хэрэгжүүлэхэд өөр эмзэг байдал нь xss_uriection (Crovirectiection_urial програмыг) ашиглан xss (Crownirectial Scripting) болон PANTOMING PANTION-ийг ашиглахад (хэзээ) Зөвшөөрлийн кодыг олон удаа нэвтрэхийн тулд нэгээс олон удаа ашиглах боломжтой). Эдгээр эмзэг байдал нь дээр дурдсанаас хамаагүй бага түгээмэл байдаг, гэхдээ энэ нь тэднийг бага аюултай болгодог. Хөгжүүлэгч нь таны вэб програмын найдвартай ажиллагааг хангахын тулд бүх шаардлагатай бүх практикийг мэдэх ёстой.

Орчуулсан нийтлэлийн зохиогч: Саймон Салиба.

Чухал! Зөвхөн эрдэм шинжилгээний зорилгоор мэдээлэл. Хууль тогтоомжийг дагаж мөрдөж, энэ мэдээллийг хууль бус зорилгоор ашиглахгүй байх.

Cisoclub.ru дээр илүү сонирхолтой материал. АНУ-д бүртгүүлэх: Facebook | Тайлбар | Твиттер | Инстаграм | Телеграм | Eng | Эм эмнэлэг: ICQ шинэ | YouTube | Судасны цохилт.

Цааш унших