abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Komunita

    Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | IT novinky

    Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 3
    28.3. 05:55 | Komunita

    O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.

    Ladislav Hagara | Komentářů: 10
    28.3. 05:22 | Komunita

    Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.

    Ladislav Hagara | Komentářů: 4
    28.3. 04:00 | Humor

    Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 7
    27.3. 13:00 | Komunita

    Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.

    Ladislav Hagara | Komentářů: 9
    27.3. 12:11 | Nová verze

    Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.

    Ladislav Hagara | Komentářů: 2
    27.3. 02:22 | Komunita Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (5%)
     (2%)
     (14%)
     (24%)
    Celkem 1183 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Content Security Policy (CSP) - XSS ...

    21.10.2016 01:08 | Přečteno: 1618× | Žumpa | poslední úprava: 21.10.2016 01:23

    Pár kecov o tom, keď už sme všetci napojený do internetu a webové aplikácie píšu céčkari a podobný analfabeti webových technológií, ako zvýšiť šancu, že zrovna ten váš projekt niekto neprelomí nejakou detskou chybou. Nepoviem žiadnu novinku, že neexistuje CMS ktoré by netrpelo detskými chybami, ale ja si kľadiem otázku, pokiaľ tomu tak je, prečo ako prý bod v návodoch nieje, používajte technológie ktoré to spravia za vás ak tam zanecháte bug. Toto by malo byť v návodoch vyznačené červenou fabou.
    Čo je prekvapivé že na najznámejší "Reflected XSS" spravili obranu v prehliadačoch len Chrome a MSIE. V čom spočíva? Tak je to klassika, stačí do nefiltrovannej premmenej poslať reťazec napr.:
    http://domain.cz?data="><script>alert(document.cookie)</script>
    a domyslite si náledky ako "mierne upravený" skript odosiela sešny na útočníkov email. FireFox to zatiaľ neadoptoval a môžete kľudne vyháčkovať aj tento server.

    Prv než začnete nadávať na FF, tak oni zas medzi prvými zavádzali politiku bezpečnosti skriptov ktorá sa vtedy ešte neujala, ale dnes už to je štandart ktorý sa nazýva Content Security Policy (skrátene CSP).

    Ako to už býva u webových technológií zvykom, prechod nieje jednoduchý.

    Problémy ktoré budete musieť riešiť

    Za odmenu dostaneme bezpečnú aplikáciu, kde aj keď sme lempl, tak vložený skript proste nikto nespustí, alebo šanca sa blíži nule, napríklad uhádnuť 128bit nonce na jeden pokus, pretože sa pri každom pokuse vygeneruje nová, je skoro nemožné, ale nikomu nieje zabránené použiť viac bitov.

    Ako prinútiť prehliadač aby aplikoval túto bezpečnostnú politiku?

    Treba mu to poslať v hlavičke, najjedochšie a niekedy aj jediné možné riešenie je to poslať ako META informáciu priamo z kódu, uvediem príklad:
    Medzi <head>...</head> vložíte v najjednuchšom prípade
    <meta http-equiv="Content-Security-Policy" content="default-src \'self\'>
    Čo zabezpečí, že všetko sa bude načítavať len z danej domény a externé skripty sa nespustia. Osobne používam skript ktorý všetky skripty a CSS vloží priamo do kódu, čím sa eliminujú ďalšie TCP požiadavky ktoré sú dosť drahé na čas ale pri CSP tam musím vložiť aj nonce, ktoré generujem náhodne pri každom načítaní stránky cez:
    $nonce = base64_encode (random_string (nejaké_číslo_väčšie_ako_nula));
    Reťazec je prehananý cez base64, pretože je to WEB SAFE, alebo ľudsky povedané prehliadače akceptujú hocičo, ale keď to je v base64, tak nevyhadzujú ani upozornenia, žeby mohlo byť niečo zle. Oni to píšu len do konzoly a ak ju nemáte zapnutú, tak si toho ani nevšimnete.

    Takže ako to robím ja. Softvér načíta skripty a vloží ich priamo do kódu, no namiesto:
    <script>
       // kód
    </script>
    a odkazy na skripty:
    <script src="moj_skript.js"></script>
    vloží do hlavičky:
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'nonce-Wm5ZdzZqWTVqN1VVaTl4cA=='>
    a skript vloží medzi:
    <script nonce="Wm5ZdzZqWTVqN1VVaTl4cA==">
       // kód
    </script>
    Je možné namiesto nonce použiť aj HASH skriptu, nepoužívam to a nepokladám to za tak bezpečné ako "nonce" a má to trochu aj iné problémy, ale to si nájde v dokumentácií, alebo začnite na wikipedii.

    Toto je skôr nástrel ako konkrétny návod, tak ak chcete vedieť viac kľudne sa pýtajte v komentároch.        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    21.10.2016 06:58 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Čo je prekvapivé že na najznámejší "Reflected XSS" spravili obranu v prehliadačoch len Chrome a MSIE. V čom spočíva? Tak je to klassika, stačí do nefiltrovannej premmenej poslať reťazec napr.: http://domain.cz?data="><script>alert(document.cookie)</script>
    Z toho popisu není moc zřejmé, v čem vlastně spočívá princip útoku. Jde o to, že server vezme zadaný text a tak jak je, bez nějaké úpravy nebo escapování, ho vloží do generované stránky. Tím pádem se ve vygenerované stránce objeví normální tag <script> a jeho obsah se vykoná.
    skript odosiela sešny na útočníkov email
    Pravděpodobně tím myslíte, že by útočník odeslal identifikátor session z cookie. Obvykle se do cookie ukládá pouze identifikátor a hodnoty svázané se session se drží na serveru. Každopádně tohle je možné jenom tehdy, pokud daná cookie nemá nastavený příznak HttpOnly.
    môžete kľudne vyháčkovať aj tento server
    A to jste zkoušel, nebo vás jenom nenapadlo, že by proti tomu server mohl být chráněný? Ono tedy Abíčko dlouho mělo jednu dost podstatnou chybu, kterou nikdo neřešil a kterou by bylo možné použít i k XSS, ale ta fungovala na jiném principu, než popisujete.
    Bedňa avatar 21.10.2016 17:12 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Keď si chcieš pozrieť svoje Cookies, tak si tento odkaz:

    http://www.abclinuxu.cz/blog/EditDiscussion/420264?action=add&dizId=<script>(document.cookie)</script>&threadId=1

    vlož do adresného riadku, alebo si sprav web na lapanie užívateľov a uprav si ten skript, no a nasmeruj ich tam.

    KERNEL ULTRAS video channel >>>
    21.10.2016 17:34 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Chyba aplikace

    Omlouváme se, ale systém nemohl provést zadanou akci. Chyba byla zalogována, nicméně váš slovní popis může být někdy velmi užitečný. Máte-li zájem nám pomoci, využijte formulář Vzkazy správcům.

    Název chyby: cz.abclinuxu.AbcException: Řetězec '' nemůže být převeden na číslo!
    Kde přesně je tam ta cookie?
    Bedňa avatar 21.10.2016 18:14 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Aký prehliadač si použil?
    KERNEL ULTRAS video channel >>>
    21.10.2016 20:47 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Já Firefox. Sice tam mám NoScript, ale tohle evidentně chcíplo ještě na serveru.

    No a co teď koukám, tak Chromium bez pluginů a s povoleným skriptováním je na tom stejně...
    Bedňa avatar 21.10.2016 20:57 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Jasne, som to sem hádzal s NTB poceste a je to úplne zle, fixed:

    http://www.abclinuxu.cz/blog/EditDiscussion/420264?action=add&dizId="><script>alert(document.cookie)</script>"&threadId=1
    KERNEL ULTRAS video channel >>>
    21.10.2016 23:04 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Ve Firefoxu mi NoScript nahlásil pokus o XSS, Chromium vyhazuje stejnou hlášku od serveru jako předtím. Na Firefox bez NoScriptu by to asi fungovalo...
    Bedňa avatar 21.10.2016 23:34 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Jj na FF by to prešlo, Chromium sleduje aký skript posielaš na server a keď sa mu vráti, tak ho zahodí, pointa Reflected XSS je práve vo vrátení skriptu a jeho spustení. Pre Chromium by trebalo použiť nejaký morfing, možno nejaké špeciálne UTF znaky, nikdy som to ale neskúšal.
    KERNEL ULTRAS video channel >>>
    22.10.2016 09:10 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Aha, neošetřený vstup na chybové stránce. To je docela častý případ. Pošlu Maxovi patch. Každopádně pro reálný útok to není moc praktické, když se uživateli zobrazí chybová stránka a pošle e-mail správcům. Chyba to ale samozřejmě je.
    Bedňa avatar 23.10.2016 03:35 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Ono by to šlo to použiť, samozrejme by nato niekto prišiel. Ja som to skúšal len náhodne a neskúsil som spustiť žiadny logger aby som toho našiel viac, práve na toto je CSP, že to rieši za teba a nemusíš takéto ptákoviny riešiť a buď si istý, že vždy na niečo zabudneš.
    KERNEL ULTRAS video channel >>>
    23.10.2016 09:12 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Pokud vždycky na něco zapomenu, mám daleko větší problém – na úplně stejném principu funguje třeba SQL injection. Ve skutečnosti je lepší používat postupy a nástroje, u kterých se musím aktivně snažit, abych někde použil nevalidovaný vstup od uživatele. Freemarker, který se používá na Abíčku, už má v aktuální verzi také automatické escapování HTML, a v šabloně musím naopak explicitně říct, že daný text escapovat nemá. Proti krádeži cookies z JavaScriptu je nejlepší nastavit jim příznak HttpOnly. CSP není řešení, je to pojistka pro případ, kdy to nedokážu vyřešit správně.
    Bedňa avatar 23.10.2016 16:55 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Jasne že je to poistka a nie rešenie a hlavne u projektov ktoré rastú, pretože sa ti ľahko stane, že pridaním novej funkcionality omylom obídeš vstupné zabezpečenie. Keď to tu už máme prečo to nevyužiť.
    KERNEL ULTRAS video channel >>>
    25.10.2016 17:08 skajrajdr | skóre: 2 | blog: skajrajdr
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Nevim, jestli to neni jen preklep, ale tohle(SQL injection je neco jineho) resit na vstupu je chyba a cesta do pekel... Hlidat se musi vystup dle daneho kontextu(nejak jinak osetrim html a jinak zapis do souboru).

    Ale technika je to zajimava, o tom zadna. Dik!

    24.12.2016 09:43 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Max v noci patch nasadil, takže máte po zábavě :-)
    mirec avatar 21.10.2016 11:41 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...

    Čo na to markeťáci?

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bedňa avatar 21.10.2016 18:15 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Tým to bude asi jedno :)
    KERNEL ULTRAS video channel >>>
    mirec avatar 22.10.2016 07:26 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...

    Reklama sa väčšinou vkladá ako cudzí JavaScript. Markeťákom asi nebude jedno, že im reklama nefunguje.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bedňa avatar 22.10.2016 15:48 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Externé lokality môžeš povoliť, čím sa ale sám vystavuješ svojvôli nejakej tretej strany.
    KERNEL ULTRAS video channel >>>
    21.10.2016 15:53 MP
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Vazne dokazete do stranky vlozit veskere externi skripty, z kterych se stranka muze skladat?
    Bedňa avatar 21.10.2016 21:59 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Content Security Policy (CSP) - XSS ...
    Taká tupá taktika je že robot zoskenuje všetky formuláre a pokúsi sa tam skripty vložiť, druhá možnosť je skúsiť všetky premenné ktoré sú na stránke v URL a testovať či sa skript nespustí. Na najznámejšie CMS sú samozrejme roboti ktorí skúšajú všetky známe bugy a môžeš si byť istý, že nezanedbateľná časť webov beží na neaktualizovaných CMS.

    Práve proti týmto detským bugom CSP zaberie spoľahlivo.
    KERNEL ULTRAS video channel >>>

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.