Hacker News

CSP pou Pentesters: Konprann Fondamantal yo

Kòmantè

14 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News

Poukisa Chak Pentester Bezwen metrize Règleman Sekirite Kontni

Politik Sekirite Kontni (CSP) te vin youn nan mekanis defans ki pi enpòtan nan bò navigatè kont scripting cross-site (XSS), piki done, ak atak clickjacking. Men, nan angajman tès pénétration, Tèt CSP rete youn nan kontwòl sekirite ki pi souvan mal konfiguré - ak mal konprann. Yon etid 2024 ki te analize plis pase 1 milyon sit entènèt te jwenn ke sèlman 12.8% te deplwaye tèt CSP nan tout, ak nan sa yo, prèske 94% genyen omwen yon feblès politik ki ta ka eksplwate. Pou pentesters, konprann CSP pa opsyonèl - se diferans ki genyen ant yon evalyasyon sifas ak yon rapò ki aktyèlman ranfòse pozisyon sekirite yon kliyan.

Keswa w ap fè evalyasyon aplikasyon entènèt, lachas bounty, oswa bati sekirite nan yon platfòm biznis ki okipe done kliyan sansib, konesans CSP se yon baz. Gid sa a dekonpoze sa CSP ye, ki jan li fonksyone anba kapo a, ki kote li echwe, ak ki jan pentestè yo ka sistematik evalye ak kontoune règleman fèb.

Kisa Règleman Sekirite Kontni fè aktyèlman

Nan debaz li, CSP se yon mekanis sekirite deklaratif ki delivre atravè yon header repons HTTP (oswa mwens souvan, yon tag ). Li enstwi navigatè a ki sous kontni - scripts, estil, imaj, polis, ankadreman, ak plis ankò - yo pèmèt yo chaje ak egzekite sou yon paj bay yo. Lè yon resous vyole règleman an, navigatè a bloke li epi si ou vle rapòte vyolasyon an nan yon pwen final espesifik.

Motivasyon orijinal la dèyè CSP se te bese atak XSS yo. Defans XSS tradisyonèl yo tankou dezenfekte antre ak kodaj pwodiksyon yo efikas men frajil - yon sèl kontèks rate oswa erè kodaj ka re-entwodwi vilnerabilite a. CSP ajoute yon kouch defans nan pwofondè: menm si yon atakè enjekte yon tag script move nan DOM la, yon politik byen konfigirasyon anpeche navigatè a egzekite li.

CSP opere sou yon modèl lis blan. Olye ke yo eseye bloke kontni li te ye-move, li defini sa ki klèman pèmèt. Tout lòt bagay yo refize pa default. Envèrsyon sa a nan modèl sekirite a pwisan nan teyori, men nan pratik, kenbe règleman strik atravè aplikasyon entènèt konplèks - espesyalman platfòm jere plizyè douzèn modil entegre tankou CRM, fakti, analiz, ak sistèm anrjistreman - se notwa difisil.

Anatomi yon Tèt CSP: Direktiv ak Sous

Yon header CSP konpoze de direktif, chak kontwole yon kalite resous espesifik. Konprann direktiv sa yo esansyèl pou nenpòt pentester evalye politik yon sib. Direktiv ki pi enpòtan yo gen ladandefault-src(repli pou nenpòt ki direktiv ki pa tabli klèman), script-src(ekzekisyon JavaScript), style-src(CSS), img-src(imaj), connect-src(XHR, Fetch, WebSocket), meddedkoneksyon. iframes), ak object-src(plugins tankou Flash oswa Java applets).

Chak direktiv aksepte youn oswa plis ekspresyon sous ki defini orijin pèmèt. Sa yo varye soti nan non host espesifik (https://cdn.example.com) ak mo kle ki pi laj:

  • ' pwòp tèt ou' — pèmèt resous ki soti nan menm orijin ak dokiman an
  • 'okenn' — bloke tout kalite resous sa a
  • 'unsafe-inline' — pèmèt scripts inline oswa estil (efektivman netralize pwoteksyon XSS)
  • 'unsafe-eval' — pèmèt eval(), setTimeout(string), ak ekzekisyon kòd dinamik menm jan an
  • 'nonce-{random}' — pèmèt scripts espesifik ki make ak yon nonce kriptografik matche
  • ' strik-dinamik' — fè konfyans scripts chaje pa scripts deja fè konfyans, inyore lis otorize ki baze sou lame
  • done: — pèmèt URI done kòm sous kontni

Yon header CSP nan mond reyèl la ta ka sanble sa a: Content-Security-Policy: default-src 'self'; script-src 'pwòp tèt ou' https://cdn.jsdelivr.net 'nonce-abc123'; style-src 'self' 'safe-inline'; img-src *; object-src 'okenn'. Antanke yon pentester, travay ou se li politik sa a epi imedyatman idantifye kote li fò, kote li fèb, ak kote li eksplwate.

Move konfigirasyon CSP komen Pentester yo ta dwe vize

Epa ki genyen ant deplwaye yon header CSP ak deplwaye yon header CSP efikas se menmen. Nan pratik, pifò politik yo genyen feblès entwodwi pa konvenyans pwomotè, entegrasyon twazyèm pati, oswa senp enkonpreyansyon. Pandan evalyasyon, pentester yo ta dwe sistematik tcheke echèk komen sa yo.

Move konfigirasyon ki pi devaste a se prezans 'unsafe-inline' nan script-src direktiv la. Mot sèl sa a rann tout benefis anti-XSS nan CSP esansyèlman initil, paske li pèmèt navigatè a egzekite nenpòt tag