XSS - úvod do cross-site scripting Mozektevidi.net - Mozektevidi.net.

XSS - úvod do cross-site scripting

Cross-site scripting (XSS), úvod do problematiky, pár příkladů. O co přesně jde a rozšířené mýty o XSS

image of XSS - úvod do cross-site scripting

XSS

Chyba XSS patří k nejrozšířenějším a zároveň k nejvíce přehlíženým. I já chyboval.

O co jde (XSS)

Chyba může potkat dynamicky generovanou stránku (PHP, ASP, Javascript..), kde nejsou ošetřeny vstupy a výstupy.
Vstupem může být HTTP žádost webové aplikace (parametr v URL, post data, formulář, $SERVER, cookie..

Example

Příkladem XSS je adresa s parametrem http://domena.net/search.asp?co=hledany_vyraz. Když nahradíme parametr hledany_vyraz kódem <script>alert(1)</script> a vyskočí okno, je zde chyba. Uvedený škodlivý kód není až tak nebezpečný. Mohl by být využit k sociotechnice. Fantazii se meze nekladou.

Rozšířené mýty o XSS

XSS je v odkazu vidět - Nemusí být vidět. Jak jsem již napsal, nemusí se měnit pouze GET parametry, stačí je nahrát do POST dat, jako parametr k obrázku, referery.. možností je několik.
Omezení délkou vstupu - Na stránku se nemusí posílat stránky kódu, stačí napsat kouzelné script src="http://neco_kdekoliv_na_netu.js /script. Hotovo. Stačí pár znaků. Žádné řádky kódu :-)
Metoda POST je imunní proti XSS - Ale kdepak, kdo vám to pověděl
HTTPS nebere XSS - protokol přenosu není důležitý. Jen se může objevit upozornění o připojení na jinou doménu (atribut src). Většina stejně povolí
Zakázaný Javascript pomůže - ano, pomůžu. Nezpracují se škodlivé JS. Stále však funguje html embedding. Tady přichází manipulace.

Doufám, že vás téma zaujalo, budu pokračovat.


autor článku OS | datum publikování 9.březen.2007 13:21 | články o IT bezpečnosti a obraně proti hackingu IT bezpečnost |

Kometáře

#1 j.t.d. www

Ad Javascript - je možný pouzte tehdy, pokud je pass napadeného vstupu až do browseru (do výstupu skriptu, t.j. nezměněně se zobrazuje v obsahu stránky - v ukázaném příkladu třeba v kontextu Výsledky hledání pro: xxx ).
Tedy částečné řešení - nezobrazovat (necpat do výstupů) obsahy vstupů (ať už ošetřených nebo ne, viz "htmlspecialchars nestačí" v článku). reaguj

datum 09.03.2007 23:44

unknown unknown

#2 Kvaky www

Lidi, víte co by mě zajímalo??? Kde jste se tohle všechno naučili? Počítám, že asi ne na osmiletym gymlu, co? reaguj

datum 19.05.2007 22:49

unknown unknown

#3 mr.Crow wwwdisposed.xf.cz

reakce na »Kvaky«: to příjde samo, když se začneš učit nějaký programovací jazyk, budeš sledovat dění na forech zabývající se takovýma věcma... hlavně je učit se programovat, na tom se pak staví :-P reaguj

datum 19.05.2007 22:52

unknown unknown

Nové kometáře nejsou povolené.