Main Menu
TOP 3 Articles
Public Inquiry
Ve výstavbe
Counter
Info
?2005-2007 by Addam and MDT
Mail info@hacking-
vision.wz.cz
XSS

Author: MDT | Added:24.4.2007 22:41 | Last update: 10.5.2007 00:22 | Readed: 3198x

Cross-Site Scripting neboli XSS patří k nejčastěj?ím způsobům útoku na webové stránky (vedle PHP injection, SQL injection nebo například CSRF útoků). Jde o to, ?e na webech, kde je nějaký neo?etřený u?ivatelský vstup (například formulář, vyhledávání apod.) a kde není zaplá direktiva magic_quotes_gpc, mů?e u?ivatel místo regulérnich dat zadat nějaký script (vět?inou je to javascript, ale mů?e to být i HTML nebo nějaký jiny) a tento script se vykoná za účelem stránku po?kodit nebo získat důvěrná data. Příkladem mů?e být například u? jednou zmíněné vyhledávání na nějaké stránce, do kterého mů?ete zkusit zadat například:

A pokud vám při odeslání vyskočí alert okno, vidíte, ?e stránka je náchylná na XSS útok. Já jsem například do googlu zadal dotaz

inurl:search.php?

a vyhodilo mě to hromadu stránek (samozřejmě jen těch, které mají stránku pro výsledky vyhledávání pojmenovanou search.php), které mají na svých stránkách vyhledávání, a jen tak namátkou jsem na?el pár webů (na?těstí jen pár, nebo? je u? XSS velmi známé a dává se na to bacha), kde jsem objevil tuto bezpečnostní závadu. tento typ XSS útoku se nazývá non-persistent nebo reflected. V tomto případě v?ak velké nebezpečí pro stránku nehrozí, leda byste pomocí například spoofingu a sociálního in?enýrství přesvědčili někoho, aby vá? kód vykonal a odeslal vám tak například svoje cookie apod. (otázka jestli by vám k něčemu bylo). Nebezpečněj?í variantou XSS útoku je tzv. persistent (stored, second-order) XSS, to je v případě, pokud se na stránce nachází například registrační formulář (samozřejmě s nekontrolovaným vstupem a výstupem) a údaje z něho se pak zobrazují na nějaké stránce. Například pokud do u?ivatelského jména zadáte kód podobný tomuto:

A admin stránek si nechá nějakým skriptem zobrazit jména v?ech u?ivatelů (například pro kontrolu nebo tak), ode?le se jeho cookie soubor na adresu http://server_utocnika.xx/script.php kde si necháte cookies vypsat do nějakého souboru například. Dal?ím a posledním typem XSS je tzv. DOM based XSS, se kterým útočník doká?e měnit data na lokálním disku oběti, ale podrobně o tom a? někdy jindy třeba.

Jak se bránit? Jednodu?e. Buď si zapnete direktivu magic_quotes_gpc (automaticky umístí zpětné lomítko před znaky ' " a nulový bit NUL) a ve?keré hodnoty uzavírat do apostrofů nebo budete kontrolovat vstup a výstup (například funkce addslashes, která dělá to samé co zapnuté magic_quotes_gpc, nebo htmlspecialchars, která se pou?ívá při výpisu a převedí řídící HTML znaky <>"& na odovídající HTML entity). Dal?ím způsobem mů?e být zakázání tagu nebo jen seznam povolených znaků (například ve fóru). Mo?ností a funkcí je určitě víc, stejně jako se da napsat více o XSS, ale o tom třeba zase pří?tě.



-------------------------------------------------------------------------------------------------------------------------
autohits.horys.com