Hacker News

CSP ji bo Pentesters: Fêmkirina Bingehîn

Comments

18 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News

Çima Her Pentester Pêdivî ye ku Siyaseta Ewlekariya Naverokê Serdest bike

Polîtîkaya Ewlekariya Naverokê (CSP) bûye yek ji mekanîzmayên parastinê yên herî krîtîk ên gerokê li dijî nivîsandina naverokê (XSS), derzîlêdana daneyê, û êrişên klîkkirinê. Lêbelê di tevlêbûnên ceribandina penetasyonê de, sernavên CSP yek ji wan kontrolên ewlehiyê yên ku pir caran xelet hatine mîheng kirin - û xelet têne fam kirin- dimînin. Lêkolînek sala 2024-an ku zêdetirî 1 mîlyon malperan analîz kir, dît ku tenê 12.8% sernavên CSP-ê bi tevahî bicîh kirine, û ji wan, nêzîkê 94% bi kêmanî qelsiyek siyasetê heye ku dikare were bikar anîn. Ji bo pentesters, têgihîştina CSP ne vebijarkî ye - ew ferqa di navbera nirxandina asta rûkal û raporek de ye ku bi rastî pozîsyona ewlehiya xerîdar xurt dike.

Çi hûn nirxandinên serîlêdana webê dikin, çi nêçîra xelatên xeletiyan dikin, an jî ewlehiyê di platformek karsaziyê ya ku daneyên xerîdar ên xerîdar hildibijêre ava dikin, zanîna CSP bingehîn e. Ev rênîşander xêz dike ku CSP çi ye, ew çawa di bin kavilê de dixebite, li ku derê têk diçe, û çawa pentester dikarin bi rêkûpêk polîtîkayên qels binirxînin û derbas bikin.

Polîtîkaya Ewlekariya Naverokê Bi Rastî Çi Dike

Di bingehê xwe de, CSP mekanîzmayek ewlehiyê ya daxuyandî ye ku bi sernavek bersiva HTTP-ê (an bi gelemperî, nîşanek ) ve tê peyda kirin. Ew rêwerzê dide ka kîjan çavkaniyên naverokê - nivîsar, şêwaz, wêne, font, çarçove, û hêj bêtir - destûr in ku li ser rûpelek diyarkirî werin barkirin û bicîh kirin. Dema ku çavkaniyek sîyasetê binpê dike, gerok wê asteng dike û bijare binpêkirinê radigihîne xalek dawî ya diyarkirî.

Motîvasyona bingehîn a li pişt CSP kêmkirina êrîşên XSS bû. Parastina XSS ya kevneşopî mîna paqijkirina têketinê û kodkirina derketinê bi bandor in, lê şikestî ne - yek çarçoveyek winda an xeletiyek kodkirinê dikare qelsiyê ji nû ve destnîşan bike. CSP qatek parastinê-kûrahî lê zêde dike: hetta êrîşkar etîketek skrîptê ya xerab têxe DOM-ê jî, polîtîkayek bi rêkûpêk vesazkirî rê li ber geroka gerokê digire.

CSP li ser modela lîsteya spî dixebite. Li şûna ku hewl bidin ku naveroka naskirî-xirab asteng bikin, ew tiştê ku bi eşkere destûr tê destnîşan dike. Her tiştê din ji hêla xwerû ve tê red kirin. Ev guheztina modela ewlehiyê di teorîyê de bi hêz e, lê di pratîkê de, domandina polîtîkayên hişk li ser serîlêdanên tevnvî yên tevlihev - nemaze platformên ku bi dehan modulên yekbûyî yên mîna CRM, fatûrekirin, analîtîk, û pergalên veqetandinê îdare dikin - pir dijwar e.

Anatomiya Sernivîsa CSP: Rêvebir û Çavkanî

Sernivîsek CSP ji rêveberan pêk tê, her yek celebek çavkaniyek taybetî kontrol dike. Fêmkirina van rêwerzan ji bo her pentesterek ku siyaseta armancek dinirxîne pêdivî ye. Rêvebirên herî girîng ev in: default-src (vegera her rêwerzek ku bi eşkere nehatiye danîn), script-src (pêkanîna JavaScript), style-src (CSS), img-src (wêne), connect-src, girêdana Web, (XSHR) frame-src (iframesên pêvekirî), û object-src (pêvekên mîna sepanên Flash an Java-yê).

Her rêwerzek an jî çend derbirkên çavkaniyê yên ku eslê destûr diyar dikin qebûl dike. Vana ji navên mêvandar ên taybetî (https://cdn.example.com) bigire heya peyvên sereke yên berfireh:

  • 'xwe' — destûrê dide çavkaniyên ji heman eslê belgeyê
  • 'tune' — hemû çavkaniyên bi wî rengî asteng dike
  • 'unsafe-inline' - destûrê dide nivîsarên navrû an şêwazên hundurîn (bi bandor parastina XSS-ê bêbandor dike)
  • 'neewle-eval' — destûrê dide eval(), setTimeout(string), û bişibînin koda dînamîkî
  • 'nonce-{random}' - destûrê dide nivîsarên xêzkirî yên taybetî yên ku bi neyeka krîptografî ya lihevhatî nîşankirî ne
  • 'strict-dînamîk' - bi nivîsên ku ji hêla nivîsarên jixwe pêbawer ve hatine barkirin bawer dike, lîsteyên destûr-bingeha mêvandar paşguh dike
  • dane: — URI-yên daneyê wekî çavkaniyên naverokê destûrê dide

Dibe ku sernavek CSP ya cîhana rastîn bi vî rengî xuya bike: Content-Security-Policy: default-src 'self'; script-src 'xwe' https://cdn.jsdelivr.net 'nonce-abc123'; style-src 'self' 'neewle-inline'; img-src *; object-src 'tune'. Weke pentester, karê we ew e ku hûn vê siyasetê bixwînin û tavilê nas bikin ka li ku derê hêzdar e, li ku derê qels e û li ku derê tê bikar anîn.

Divê Pentesterên Çewtformasyonên CSP-yê yên hevpar Armanc bikin

Cûda di navbera danîna sernavek CSP û danîna sernavek bandor CSP de pir mezin e. Di pratîkê de, piraniya polîtîkayan qelsiyên ku ji hêla rehetiya pêşdebiran, entegrasyonên partiya sêyemîn, an têgihîştina hêsan ve hatine destnîşan kirin hene. Di dema nirxandinan de, pentesters divê bi rêkûpêk van têkçûnên hevpar kontrol bikin.

Vesazkirina çewt a herî wêranker hebûna 'neewle-inline' di rêwerza script-src de ye. Vê keyworda yekane hemî berjewendiya dijî-XSS ya CSP-ê bi bingehîn bêkêr dike, ji ber ku ew dihêle gerok her etîketa