Hacker News

CSP ya Vapentisi: Ku twisisa Swisekelo

Mavonelo

18 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News

Ha yini Pentester Un’wana na un’wana a lava ku Master Pholisi ya Vuhlayiseki bya Vuxokoxoko

Pholisi ya Vuhlayiseki bya Vuxokoxoko (CSP) yi hundzuke yin’wana ya tindlela ta nkoka swinene to sirhelela etlhelo ka xihlamusela-marito eka ku tsala hi ku tsemakanya sayiti (XSS), ku nghenisiwa ka datha, na nhlaselo wa ku tsindziyela. Hambi swi ri tano eka ku nghenelela ka ku kambela ku nghena, tinhlokomhaka ta CSP ti tshama ti ri yin’wana ya vulawuri bya vuhlayiseki lebyi talaka ku lulamisiwa hi ndlela yo biha — naswona byi nga twisisiwiki kahle. Dyondzo ya 2024 leyi xopaxopa ku tlula 1 wa timiliyoni ta tiwebsite yi kumile leswaku i 12.8% ntsena leyi tirhiseke tinhlokomhaka ta CSP hi ku helela, naswona eka tona, kwalomu ka 94% a ti ri na kwalomu ka ku tsana kun’we ka pholisi loku nga tirhisiwaka. Eka va-pentester, ku twisisa CSP a hi ku tihlawulela — i ku hambana exikarhi ka nkambisiso wa xiyimo xa le henhla na xiviko lexi entiyisweni xi tiyisaka xiyimo xa vuhlayiseki bya muxavi.

Ku nga khathariseki leswaku u endla swikambelo swa matirhiselo ya webu, ku hlota tihakelo ta swihoxo, kumbe ku aka vuhlayiseki eka pulatifomo ya bindzu leyi khomaka datha ya vaxavi leyi nga na vuxiyaxiya, vutivi bya CSP i bya masungulo. Nkongomiso lowu wu hambanyisa leswaku CSP i yini, ndlela leyi yi tirhaka ha yona ehansi ka xihuku, laha yi tsandzekaka kona, na ndlela leyi vapentester va nga kambelaka hi ndlela leyi hlelekeke no hundza tipholisi leti tsaneke.

Leswi Pholisi ya Vuhlayiseki bya Vuxokoxoko Yi Swi Endlaka Hakunene

Eka xisekelo xa yona, CSP i endlelo ra vuhlayiseki bya xitiviso leri tisiwaka hi ku tirhisa nhlokomhaka ya nhlamulo ya HTTP (kumbe hi xitalo, thegi ya ). Yi lerisa browser leswaku hi swihi swihlovo swa nhundzu — swikripti, switayele, swifaniso, tifonto, tifureme, na swin’wana — leswi pfumeleriweke ku layicha no tirhisa eka tluka leri nyikiweke. Loko xitirhisiwa xi tlula pholisi, xihlamusela-marito xa xi sivela naswona hi ku hlawula xi vika ku tlula nawu eka ndhawu yo hetelela leyi boxiweke.

Nsusumeto wo sungula endzhaku ka CSP a ku ri ku hunguta minhlaselo ya XSS. Swisirhelelo swa ndhavuko swa XSS swo fana na ku basisiwa ka ngheniso na ku khoda ka vuhumelerisi swa tirha kambe swa brittle — xiyimo xin’we lexi hundzeriweke kumbe xihoxo xa ku khoda swi nga tlhela swi nghenisa vuhlayiseki. CSP yi engetela leyara ya vusirheleri-in-depth: hambi loko muhlaseri a nghenisa thegi ya script ya khombo eka DOM, pholisi leyi hleriweke kahle yi sivela browser ku yi tirhisa.

CSP yi tirha hi modelo ya nxaxamelo wo basa. Ematshan’weni yo ringeta ku sivela swilo leswi tivekaka-yo biha, yi hlamusela leswi pfumeleriwaka hi ku kongoma. Hinkwaswo leswin’wana swi ariwa hi ku tiyimisela. Ku hundzuriwa loku ka modele wa vuhlayiseki ku na matimba eka thiyori, kambe hi ku tirhisa, ku hlayisa tipholisi to tika eka switirhisiwa swa webu leswi rharhanganeke — ngopfungopfu tipulatifomo leti lawulaka makume ya mimojula leyi hlanganisiweke ku fana na CRM, ku endla ti-invoice, vuxopaxopi, na tisisiteme to bukuta — swi dume hi ku tika.

Anatomy ya Nhlokomhaka ya CSP: Swiletelo na Swihlovo

Nhlokomhaka ya CSP yi vumbiwa hi swiletelo, xin’wana na xin’wana xi lawula muxaka wo karhi wa xitirhisiwa. Ku twisisa swiletelo leswi i swa nkoka eka pentester yin’wana na yin’wana leyi kambelaka pholisi ya target. Swiletelo swa nkoka swinene swi katsa default-src (ku tlhelela endzhaku ka xileriso xin’wana na xin’wana lexi nga vekiwangiki hi ku kongoma), script-src (ku hetisisiwa ka JavaScript), style-src (CSS), img-src (swifaniso), connect-src (XHR, Fetch, WebSocket connections), frame-src (ti-iframe leti nghenisiweke), na object-src (tiplagi to fana na ti-applet ta Flash kumbe Java).

Xiletelo xin’wana na xin’wana xi amukela xin’we kumbe swo tala swa xivulavulelo xa xihlovo leswi hlamuselaka masungulo lama pfumeleriweke. Leswi swi sukela eka mavito yo karhi ya tihoste (https://cdn.example.com) ku ya eka marito ya nkoka yo anama:

  • 'self' — yi pfumelela switirhisiwa leswi humaka eka masungulo yo fana na tsalwa
  • 'none' — yi sivela switirhisiwa hinkwaswo swa muxaka wolowo
  • 'unsafe-inline' — yi pfumelela swikripti swa le ndzeni ka layini kumbe switayele (hi ndlela leyinene yi herisa nsirhelelo wa XSS)
  • 'unsafe-eval' — yi pfumelela eval(), setTimeout(string), na ku hetisisiwa ka khodi ya dynamic leyi fanaka
  • 'nonce-{random}' — yi pfumelela swikripti swo karhi swa le ndzeni leswi tagged hi nonce ya xikriptogirafiki leyi fambelanaka
  • 'strict-dynamic' — yi tshemba swikripti leswi layichiweke hi swikripti leswi se swi tshembiwaka, ku honisa minxaxamelo ya mpfumelelo leyi simekiweke eka host
  • data: — yi pfumelela ti-URI ta datha tanihi swihlovo swa nhundzu

Nhlokomhaka ya CSP ya misava ya xiviri yi nga ha languteka hi ndlela leyi: Pholisi-ya Vuhlayiseki-Vuhundzuluxi: default-src 'self'; script-src 'self' https://cdn.jsdelivr.net 'ku nga si tshama-abc123'; style-src 'self' 'ku nga hlayisekanga-inline'; xifaniso-src *; object-src 'ku hava'. Tanihi mupentester, ntirho wa wena i ku hlaya pholisi leyi ivi hi ku hatlisa u kuma laha yi tiyeke kona, laha yi tsaneke kona, na laha yi nga tirhisiwaka kona.

Swilunghiselelo Leswi Tolovelekeke Swa CSP Leswi Pentester Swi Faneleke Ku Swi kongomisa

Xivandla exikarhi ka ku tirhisa nhlokomhaka ya CSP na ku tirhisa nhlokomhaka ya CSP lexi tirhaka i xikulu swinene. Hi ku tirhisa, tipholisi to tala ti na ku tsana loku nghenisiweke hi ku olova ka vatumbuluxi, ku hlanganisiwa ka vanhu va vunharhu, kumbe ku nga twisisani ko olova. Hi nkarhi wa swikambelo, vapentester va fanele ku kambela hi ndlela leyi hlelekeke ku tsandzeka loku ku tolovelekeke.

Ku lulamisiwa loku hoxeke loku onhaka swinene i vukona bya 'unsafe-inline' eka xileriso xa script-src. Rito leri rin’we ra nkoka ri endla leswaku vuyelo hinkwabyo bya anti-XSS bya CSP hi xiviri byi nga pfuni nchumu, hikuva ri pfumelela xihlamusela-marito ku tirhisa thegi yihi na yihi ya le ndzeni ka layini ya