100 likes | 264 Views
BEZPEČNOSŤ INFORMAČNÝCH SYSTÉMOV. XSS - Cross-site scripting. R óbert Okoš. Obsah. čo je to XSS delenie príklad ako sa brániť útoky v poslednej dobe. Čo je to XSS. útok založený na schopnosti útočníka vložiť do stránky nejaký kód
E N D
BEZPEČNOSŤ INFORMAČNÝCH SYSTÉMOV XSS - Cross-site scripting Róbert Okoš
Obsah • čo je to XSS • delenie • príklad • ako sa brániť • útoky v poslednej dobe
Čo je to XSS • útok založený na schopnosti útočníka vložiť do stránky nejaký kód • zneužitie špeciálne formulovaného linku (URL) alebo vstupu do formulára (login, search) • je možné spustiť skript na strane klienta, ktorý beží v kontexte navštívenej domény
Delenie • non-persistant (nestály) • najzákladnejšia forma XSS • kód je spustený na strane klienta (client-side), kedy sa využíva časť JavaScript kódu namiesto parametra v URL • persistant (stály) • umožňuje najsilnejší typ útoku (infikuje najväčšie množstvo obetí) • označuje sa aj ako HTML injection • napádané: guestbook, fórum • nebezpečný kód stačí použiť len raz
Príklad <form action="login.php" method="post"> <input type="text" name="login" value=""> <input type="password" name="heslo"> <input type="submit" value="Odoslat"> </form> zadáme: "><script>alert('XSS');</script><q q=" výsledok: <form action="login.php" method="post"> <input type="text" name="login" value=" "><script>alert('XSS');</script><q q=" "> <input type="password" name="heslo"> <input type="submit" value="Odoslat"> </form>
Príklad (2) • www.nasastranka.sk/search.php?premenna=nejakytext • namiesto nejaky text zadame: <script>alert("XSS")</script> • možné kódovanie: • hexa %3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%... • dekadicky string.fromCharCode(60,115,99,114,105,112,116,62,97,108,101,... • BASE64 data:text/html;base64,PHNjcmlwdD4NCmFsZXJ0KCdYU1MhJyk... • kradnutie cookies pomocou document.cookie • Editácia obsahu stránky na stránke je element s id 'textik: <p id='textik'>Povodny text</p> zmena obsahu tohoto elementu: document.getElementById('textik').innerHTML = 'Hahaha!! XSS!!';
Ako sa brániť • Tvorcovia stránok • korektne ošetrený vstup od tzv. metaznakov • “, ‘, <, >, … • php funkcia htmlspecialchars() • Whitelisting • zoznam povolených HTML tagov a ku každému zoznam povolených argumentov. • Používatelia • FireFox - NoScript plugin
„Výstrižky z novín“ • marec 2008 • XSS útok vyvolal epileptické záchvaty • druhá vlna masívneho útoku XSS postihla 200,000 webov • weby viac ako 10,000 spoločností boli zneužité na šírenie malwaru za pomoci XSS • február 2008 • XSS zraniteľnosť na Youtube; RIAA.com, PAYPAL, MySpace • XSS na www.stv.sk, www.azet.sk • rok 2007 • WHID (Web Hacking Incidents Database) publikoval analýzu incidentov za rok 2007 (XSS 4. miesto) • XSS na web stranke Úradu na ochranu osobných údajov Slovenskej Republiky, Ministerstva Vnútra Slovenskej Republiky • XSS na www.tatrabanka.sk, www.slsp.sk, www.vub.sk,www.sme.sk, www.dsl.sk, www.orange.sk, zive.cz, mapy.cz, .....
XSS projekty • http://www.xssed.com/ - XSS attack information, denne pribúdaju desiatky až stovky webov • napr.: adobe.com, image.google.com, nero.com, imdb.com, travian.com, zive.sk • http://www.acunetix.com/vulnerability-scanner/ • otestuje odolnosť vašej stránky (nielen na XSS)
Použitá literatúra • http://blog.synopsi.com/2007-12-12/najpopularnejsie-utoky-xss-a-csrf-na-vyslni • http://blog.synopsi.com/2008-02-16/velky-test-bezpecnosti-znamych-webov-na-slovensku-a-v-cechach#comment-594 • http://www.abclinuxu.cz • http://blackhole.sk/topicxss-v-minikocke • http://www.soom.cz/index.php?name=articles/show&aid=476 • http://ha.ckers.org/xss.html#XSSlocator • http://www.security-portal.cz/clanky/xss-cross-site-scripting-hacking.html • http://www.xssed.com