Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)

734 views

Published on

… a chtělo svoje útoky zpět. Útok Cross-Site Scripting (XSS) byl poprvé popsán v roce 1999 a od té doby je tu stále s námi. Proč je tak nebezpečný a jak se mu bránit, když to vývojáři evidentně nezvládají?

Published in: Internet
  • Login to see the comments

  • Be the first to like this

Minulé století volalo (Cross-Site Scripting + BeEF + CSP demo)

  1. 1. https://www.flickr.com/photos/vissago/3789250335/ MINULÉ STOLETÍ VOLALOMINULÉ STOLETÍ VOLALOMichal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze Přednáška o jednom útoku z minulého století, ve které vám ukážu, k čemu je dobrý a jak se mu efektivně v roce 2016 bránit. Původní slajdy tyto poznámky neobsahují.
  2. 2. Na začátek jeden příklad. Snapchat posílá fotky a videa, které příjemci po nastaveném čase zmizí. V pátek 26. února 2016 ze mzdového oddělení Snapchatu zmizela data o platech některých zaměstnanců. Zaměstnanec toho oddělení totiž obdržel e-mail, který vypadal, jakoby ho odeslal šéf Snapchatu. V té zprávě falešný šéf chtěl, aby mu z oddělení data poslali. Tak mu je prostě poslali, šéf je šéf. Ten někdo zneužil toho, že mzdové oddělení svému šéfovi věří.
  3. 3. XSS Cross-Site Scripting David Ross, Microsoft, 1999 Útok XSS, o kterém se budeme dále bavit, byl poprvé popsán v roce 1999 a funguje tak trochu podobně. Návštěvníci alespoň trochu věří webům, které navštěvují a útočník této důvěry zneužije a návštěvníkům něco pěkného provede. Ukážu vám, k čemu by se dal útok Cross-Site Scripting využít v roce 2016.
  4. 4. Cross-Site Scripting možná znáte. Nejčastěji se vyskytuje jako alert s jedničkou nebo nějakým jednoduchým textem. "XSS, jo, to znám, to je ten alert, to není nic nebezpečného", že jo. Za chvilku uvidíme, že to je trochu jinak, tahle jednička jen ukazuje, že na webu je možné úspěšně provést útok XSS.
  5. 5. < → &lt; > → &gt; " → &quot; ' → ' & → &amp; Útok XSS lze provést, pokud vývojář zapomene při výpisu uživatelských dat jako např. jméno, adresa, komentář apod. převést nebezpečné znaky na jejich bezpečné varianty, tedy znaky vlevo na entity vpravo. Nejlepší je tento převod přenechat nějakému šablonovacímu systému, který to bude dělat automaticky.
  6. 6. <p>Jméno: <script></p> ↓ ↓ <p>Jméno: &lt;script&gt;</p> Když vývojář na převod zapomene a někdo pak zadá místo jména něco divného, třeba HTML značku script, tak se nepřevede na neškodný text, browser ji bude brát jako součást kódu a takto vložené jméno může způsobit vážný problém.
  7. 7. The Browser Exploitation Framework Project Demo BeEF Na demonstraci vážnosti problému si vezmu na pomoc framework BeEF. Ten útok XSS dostává na zcela jinou úroveň. Ukázku naleznete na videu v mojí prezentaci určené vývojářům, přibližně od 14. minuty.
  8. 8. CSP Content Security Policy Vývojáři zapomínají ošetřit uživatelský vstup už skoro 20 let a budou zapomínat pořád dál, nebojte. Je tedy potřeba zavést další úroveň ochrany, když vývojáři zase zapomenou, tak ať uživatelům nevyrobí tak velký problém. Jednou z dalších úrovní ochrany je Content Security Policy. CSP říká moderním browserům, odkud mohou načítat JS, obrázky, kam mohou odesílat formuláře apod.
  9. 9. CSP je klasická HTTP hlavička, kterou pošle server prohlížeči a prohlížeč poté načítá zdroje jen z povolených adres. Mohu například nastavit, aby prohlížeč načítal JavaScript jen z domény, na které běží samotná aplikace a když mizera do stránky vloží JavaScript odjinud, tak se do browseru nenačte. Detailní popis fungování Content Security Policy i nastavení hlavičky naleznete opět v mojí přednášce pro vývojáře, přibližně od 38. minuty.
  10. 10. XSS se nevyhýbá nikomu a uživatelům špatně zabezpečených webů může nadělat opravdu velké škody. Myslete na to a snažte se mizerům bránit více způsoby a na více úrovních, aby vaše weby nezneužívali k páchání útoků na vaše uživatele. Michal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze

×