Portál AbcLinuxu, 30. dubna 2025 10:12
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ý.
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.
<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.
Tiskni
Sdílej:
Č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 emailPravdě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 serverA 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.
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?
Ale technika je to zajimava, o tom zadna. Dik!
Čo na to markeťáci?
Reklama sa väčšinou vkladá ako cudzí JavaScript. Markeťákom asi nebude jedno, že im reklama nefunguje.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.