Kamulahi Oauth | Giunsa pagpatuman ang luwas nga pagtugot sa imong aplikasyon sa web

Anonim
Kamulahi Oauth | Giunsa pagpatuman ang luwas nga pagtugot sa imong aplikasyon sa web 2740_1

Kini nga artikulo makiglabot sa mga bantog nga kahuyangan sa Oauthat. Mahibal-an usab sa mga magbabasa kung giunsa ipatuman ang luwas ug luwas nga pagtugot sa aplikasyon sa web.

Ang Oauth usa ka kasaligan nga protocol, apan ang sukod sa seguridad niini nagdepende sa pagkahibalo sa mga nag-develop sa Web sa pagpatuman sa pagtugot. Gihimo kini nga hilisgutan nga hinungdanon kaayo alang sa mga propesyonal sa seguridad sa kasayuran. Kinahanglan sila maghatag usa ka taas nga lebel sa pagpanalipod sa mga asoy sa ilang mga tiggamit. Panahon na nga masinati ang mga epektibo nga mga nagpraktis nga makatabang sa pagpakunhod sa katalagman sa mga kabus nga pagbaligya oauth.

Pasiuna

Oauth 2.0 protocol kasamtangan nga gigamit sa lainlaing mga aplikasyon. Gamit kini, usa ka sayon ​​nga interface sa gumagamit ang magamit, dali nga panghimatuud ug pagtugot kung itandi sa tradisyonal nga mga pamaagi alang sa pagsulod sa username ug password. Uban sa husto ug mahunahunaon nga pagpatuman, ang Oauth Protocol mas luwas kaysa tradisyonal nga pagtugot, tungod kay ang mga tiggamit dili kinahanglan nga ipaambit ang ilang mga datos sa pag-asoy sa usa ka piho nga kapanguhaan. Mas gusto sa mga tiggamit ang pag-log sa paggamit sa ilang mga account sa Google, Facebook o LinkedIn, imbis nga maghimo usa ka bag-ong account sa matag higayon nga kinahanglan nimo nga magparehistro sa pipila ka mga web site. Sa ingon, ang Oauth Protocol labing nagpayani sa among kinabuhi.

Sa kinatibuk-an, ang mga bantog nga mga provider sa serbisyo sa Oauth kasaligan kaayo. Pag-log in sa Google o Facebook Account nagdasig sa usa ka piho nga pagbati sa seguridad, ug kini husto. Ang protocol pag-ayo nga gisulayan sa mga eksperto. Ang tanan nga magamit nga mga kahuyangan kanunay nga dali nga gitul-id sa developer team. Bisan pa, angayan nga ang pagbati nga ang pagbati sa hingpit nga kaluwasan mahimong bakak.

Ang mga provider sa Oauth Service nagbilin aplikasyon nga nagpalambo sa daghang mga hinungdan aron mapugngan ang kaluwasan sa ilang mga programa. Sa tinuud, ang una nga gipanalipdan nga serbisyo sa Oauth, dili husto nga gipatuman sa proseso sa pag-instalar niini, mahimong usa ka dali nga target sa mga nangagpas. Ang ingon nga preaccupacy mosangput sa pagpangawat sa personal nga datos sa mga tiggamit.

Sunod, kinahanglan nimo nga hunahunaon ang labing kasagaran nga mga kahuyangan nga nasugatan sa mga aplikasyon sa ikatulo nga partido nga nagpatuman sa protocol sa Oauth sa mga tiggamit. Kinahanglan nga hinumdoman nga ang protocol luwas ug kasaligan. Pagkahuman lamang sa dili husto nga pagpatuman, kini mahimong bulnerable sa pag-atake sa hacker.

Oauth Tockey kawatan gamit ang referer header

Kung ang aplikasyon naghangyo sa pagtugot alang sa tiggamit sa Oauth Server, ang usa ka tawo makadawat sa code aron makasulod ug magpabalik sa server alang sa sunod nga tseke. Kung sa panahon sa trabaho ang tiggamit pag-usab sa lain nga panid, ang code makita sa "referer" header sa hangyo sa HTTP. Sa ingon, ang code mahulog sa gawas nga website, nga maghulga sa datos sa tiggamit nga narehistro sa Oauth server.

HINUMDOMI: Ang header sa referer usa ka header sa Query sa HTTP, gipasa niini ang URL host diin gipadala ang hangyo.

Aron mapahumok ang mga sangputanan sa kini nga pagkahuyang, ang developer kinahanglan nga siguruha nga ang aplikasyon sa web niini wala'y bisan unsang mga injection sa HTML. Kung nakita ang mga injections, ang tig-atake dali nga makabutang sa tag sa imahe sa web server ug mangita usa ka paagi aron mausab ang tiggamit niini. Sa ingon, makuha niya ang higayon nga mangawat ang code gikan sa "referer" header sa hangyo sa HTTP.

Oauth Tockey kawatan gamit ang redirect_uri parameter

Ang aplikasyon nagsugod sa proseso sa pagtugot pinaagi sa pagpadala usa ka hangyo sa OUTH SERVER:

https://www.example.com/signinizize? AsaSE.......Tire

Ang pangutana kanunay nga naglangkob sa "Redirect_uri" parameter nga gigamit sa Oauth Server aron ipadala ang mga token pabalik sa aplikasyon pagkahuman gihatag sa tiggamit ang iyang pagtugot. Kung ang kantidad sa kini nga parameter dili kontrolado o wala gisusi, ang tig-atake dali nga mabag-o kini ug i-redirect ang hangyo sa website niini, diin gigamit ang usa ka espesyal nga programa alang sa pagproseso sa usa ka limitado nga kapanguhaan.

https://www.example.com/signinize?

Usahay ang parehas nga mga URL gipugngan. Ang nag-atake mahimong mag-redirect sa nadawat nga datos sa bukas nga URL, sama niini:

https://www.example.com/oughath20_authf.SRF?

O kini:

https://www.example.com/oughath2/outhorize?

Kung ang pagpatuman sa Oauth, dili ka makalakip sa tibuuk nga mga domain sa puti nga lista. Pipila lang nga mga URL kinahanglan idugang sa "Redirect_uri" wala pag-usab sa usa ka hangyo nga ablihan ang pag-usab.

Pagpalayo sa mga hangyo sa cross-line

Ang pagkilala sa usa ka hangyo sa interstster mahimong mahitabo kung ang usa ka tig-atake nagmalampuson sa paghimo sa biktima nga i-klik ang iyang link ug, sa ingon, aron makahimo usa ka hangyo nga dili siya makamugna. Ang Forgery sa mga hangyo sa cross-line sagad nga nalumos sa timaan sa CSRF, nga adunay kalabutan sa sesyon sa gumagamit. Nakatabang kini sa aplikasyon nga susihon ang tawo sa usa ka tawo nga nagpadala sa hangyo. Ang parameter nga "State" sa Oauth Protocol nagsilbing timaan sa CSRF.

Angayan nga pagtan-aw kung giunsa ang pag-atake sa CSRF nga gidala sa Oauth ug ingon nga ang "Estado" nga parameter mahimong magamit aron mapagaan ang mga epekto sa pagkahuyang.

Gibuksan sa Hacker ang usa ka aplikasyon sa web ug gilansad ang proseso sa pagtugot aron ma-access ang service provider nga gigamit ang Oauth. Ang aplikasyon naghangyo sa usa ka service provider nga ma-access nga kinahanglan ihatag. Ang Hacker pag-usab sa serbisyo sa serbisyo sa serbisyo, diin kasagaran nimo kinahanglan nga mosulod sa imong username ug password aron matino ang pag-access. Hinuon, ang hacker nakakuha ug gipugngan kini nga hangyo ug makaluwas sa URL niini. Hacker bisan hinungdan nga ang biktima magbukas sa kini nga URL. Kung ang biktima misulod sa sistema sa serbisyo sa service nga gigamit ang asoy niini, unya ang mga kredensyal magamit sa pag-isyu sa usa ka code sa pagtugot. Ang mga code sa pagtugot sa Awtorisasyon Pag-access sa pag-access sa pag-access. Karon ang hacker account sa aplikasyon gitugotan. Mahimo kini maka-access sa asoy sa biktima.

Mao nga, unsaon nako mapugngan kini nga kahimtang gamit ang parameter nga "Estado"?

Ang aplikasyon kinahanglan maghimo usa ka kantidad nga bisan pa nga gipasukad sa gigikanan nga account (pananglitan, gamita ang sesyon sa gumagamit nga hash). Dili kini hinungdanon kung unsa kini, ang panguna nga butang mao nga ang kantidad talagsaon ug nahimo nga gigamit ang pribado nga kasayuran bahin sa orihinal nga tiggamit. Gi-assign kini sa parameter nga "Estado".

Kini nga kantidad gipasa sa service provider sa pag-redirect. Karon ang hacker nagdapit sa biktima nga ablihan ang URL, nga iyang gipadayon.

Ang code sa pagtugot gi-isyu ug gipabalik sa kliyente sa sesyon kauban ang "Estado" nga parameter.

Ang kliyente nakahatag usa ka kantidad nga parameter nga gipasukad sa kasayuran sa sesyon ug gitandi kini sa kantidad nga "State", nga gipabalik gikan sa hangyo sa pagtugot sa serbisyo sa pag-awtorisar sa service provider. Kini nga kantidad dili katumbas sa "Estado" nga parameter sa pangutana, tungod kay kini nahimo nga sukaranan lamang sa kasayuran bahin sa karon nga sesyon. Ingon usa ka sangputanan, ang nakuha nga kantidad dili gidawat sa sistema.

Ang uban nga mga kahuyangan nakit-an kung ang pagpatuman sa OATATH naglakip sa kaarang sa paghimo sa XSS (cross-site script) nga gigamit ang usa ka aplikasyon sa Mobile (kung kanus-a Ang code sa pagtugot mahimo nga magamit labaw pa sa usa ka higayon nga mag-isyu sa daghang mga token sa pag-access). Kini nga mga kahuyangan dili kaayo kasagaran kaysa sa gihulagway sa ibabaw, apan wala kini mahimo nga dili kaayo peligro. Ang developer kinahanglan nga mahibal-an ang tanan nga mga kinahanglanon nga batasan aron masiguro ang kasaligan nga operasyon sa aplikasyon sa web niini.

Ang tagsulat sa gihubad nga artikulo: Simon Saliba.

GUSTO! Kasayuran lamang alang sa mga katuyoan sa akademiko. Palihug pagtuman sa balaod ug ayaw ipadapat kini nga kasayuran alang sa iligal nga katuyoan.

Labi ka makapaikag nga materyal sa Cisoclub.ru. Mag-subscribe sa US: Facebook | VK | Twitter | Instagram | Telegram | Zen | Messenger | Bag-ong | Youtube | Pulso.

Basaha ang dugang pa