XSS - úvod do cross-site scripting (c) Oldřich Šálek
Chyba XSS patří k nejrozšířenějším a zároveň k nejvíce přehlíženým. I já chyboval.
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..
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.
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.