HTTP vastuse päis Content-Security-Policy võimaldab saidil kontrollida, milliseid ressursse kasutajaagent konkreetsele lehele laadib. Välja arvatud erandjuhtudel, seisnevad poliitikad peamiselt serveri lähtekoodi ja skripti lõpp-punktide määramises. See aitab peatada ristsaidilise skriptimise rünnakud
Dokumentatsioon:Hüperlingi sisselogimine on nähtav.
See artikkel kirjeldab W3C sisuturbe poliitikat ehk lühidalt CSP-d. Nagu nimigi ütleb, on see spetsifikatsioon seotud sisuturvalisusega ja seda kasutatakse peamiselt selleks, et määratleda, milliseid ressursse leht võib laadida ning vähendada XSS-i esinemist.
Varajane Chrome toetas CSP-d X-WebKit-CSP vastuspäise kaudu, samal ajal kui Firefox ja IE toetasid X-Content-Security-Policy't ning Chrome25 ja Firefox23 hakkasid toetama standardset Content-Security-Policy't.
Koguda võib koguda tundlikku teavet veebirakenduste kohta, nagu kasutajanimed, paroolid, masinanimed ja/või tundlikud failiasukohad Algajad kasutajad võivad olla veendunud esitama tundlikku teavet, nagu kasutajanimed, paroolid, krediitkaardinumbrid, sotsiaalkindlustuse numbrid jne
Esiteks loome uue projekti MVC ASP.NET, loome uue js-skripti ja laadime dünaamiliselt Baidu statistika js-koodi järgmiselt:
Nagu ülaloleval joonisel näidatud, näeme JS skriptikoodi, mis on edukalt kolmandale osapoolele (Baidu) sisse viidud, kui kolmanda osapoole JS-is on mõni pahatahtlik kood, näiteks küpsiste varastamine, sisu muutmine, linkide hüppamine jne.
Kuidas ma saan peatada ebaturvaliste kolmandate osapoolte JS skriptide kasutuselevõtu?
Lahendus
VastuspeaLisa "Sisu-turvalisuse poliitika", näiteks:
Direktiiv | Näide käsu väärtusest | Illustreerida | default-src | 'mina' cnd.a.com | Määra vaikimisi laadimispoliitika kõigi ressurssitüüpide jaoks (JS, IMAGE, CSS, WEB FONT, AJAX päringud, iframe'id, multimeedia jne) ja kasuta vaikimisi teatud tüüpi ressursside puhul, kui eraldi poliitikat pole. | script-src | 'mina' js.a.com | Määratle JavaScripti laadimispoliitika. | Style-SRC | 'mina' css.a.com | Määratle stiili laadimispoliitika. | img-src | 'mina' img.a.com | Määratle piltide laadimispoliitika. | connect-src | 'mina' | Poliitikate laadimine päringutele Ajaxist, WebSocketidest jne. Kui see pole lubatud, simuleerib brauser vastust staatusega 400. | font-src | font.a.com | WebFonti laadimispoliitika. | objekt-src | 'mina' | <object><embed> <applet> Pluginate laadimispoliitikad, nagu flash, lisamine siltidele nagu , või . | media-src | media.a.com | <audio> <video> HTML-multimeedia laadimisstrateegiad, mis on kasutusele võetud siltide jaoks nagu või . | frame-src | 'mina' | Kaadrite laadimispoliitika. | liivakast | Luba-vormid | Luba liivakast (sarnane iframe'i liivakasti omadusele) soovitud ressursi jaoks. | report-uri | /report-uri | Ütle brauserile, millisele aadressile logiandmed esitada, kui nõutud ressurss ei ole poliitika lubatud. Eriline: Kui soovid, et brauser raporteeriks ainult logisid ega blokeeriks midagi, võid kasutada Content-Security-Policy-Report-Only päist. |
Muudame projekti web.config faili, lisades kohandatud vastuse päise järgmiselt:
Projekti kordus, nagu allpool näidatud:
Brauser blokeeris edukalt kolmanda osapoole js-skriptide laadimise:
Keeldus laadimast skripti 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319', kuna see rikub järgmist sisuturbe poliitika direktiivi: "script-src 'self' http://localhost:56888/ ". Pane tähele, et 'script-src-elem' ei olnud otseselt seatud, seega kasutatakse varuplaanina 'script-src'. (Lõpp)
|