Autor Zpráva
stepanka
Profil *
Ahoj,

neporadil by mi někdo, prosím? Mám e-shop s administrační částí. Když do URL doplním "/admin", chce to po mě přihlašovací jméno a heslo do administrační části.

Když do kolonky Přihlašovací jméno vyplním:

">'; <script>alert(10)</script>


Vyhodí mi to vyskakovací okno a nápisem 10.

Znamená to, že je tato stránka zneužitelná útokem typu XSS, nebo ne? Ve všech příkladech vidím zneužití tohoto typu přes URL (doplněním nějakého JS do URL), ale jde to i takto?

Děkuju moc.
Jan Tvrdík
Profil
stepanka:
Ano, jedná se o XSS zranitelnost. Netuším, zda-li ji lze v tomto případě zneužít, ale každopádně by měla být odstraněna.
Bubák
Profil
Více se dočteš třeba tady:
http://www.pooh.cz/search.asp?ftxt=xss&Hledej=Hledej
stepanka
Profil *
Jan Tvrdík
Děkuju za reakci. Zajímalo by mě, jak by se to mohlo dát zneužít. Kdyby někdo věděl, prosím, poraďte..

Bubák
Ok, děkuju, podívám se.
MCKAY
Profil
Tak zneužít se to dá třeba tak, že napíšeš nějakej script, kterej sebere nějakou část kódu, nebo přepíše část kódu. Pokud třeba ukládají něco do cookies, můžeš si její obsah vybrat atd, řekl bych že je sposta způsobů, jak to využít.:-)
Joker
Profil
stepanka:
Děkuju za reakci. Zajímalo by mě, jak by se to mohlo dát zneužít. Kdyby někdo věděl, prosím, poraďte..
No, pokud to jméno lze nastavit i z nějaké GET proměnné, tak je to zneužitelné krásně.
Například udělám skript, který odeslání formuláře přesměruje na nějakou moji adresu. Ta si uloží odeslané jméno a heslo a přesměruje zpátky na původní adresu. Pak ten skript zakóduju do adresy a někomu pošlu: "Prosímtě, to je nějaký divný, funguje Ti přihlášení tady *link*?"

Možná ještě horší je, jestli podobně nezabezpečené jsou i dotazy do databáze. Zkusil bych do políčka napsat apostrof a jestli výsledkem bude podivné chování nebo nějaká chybová hláška, je to dost špatný.
Poznámka mimo, na tohle téma mě nedávno opravdu pobavil na XKCD "Exploits of a Mom"
...Vy jste opravdu svého syna pojmenovala "Robert'); drop table students;--"?
Majkl578
Profil
jinak co se tyce ochrany, melo by ti postacit osetreni vystupu pres htmspecialchars :)
stepanka
Profil *
A proč tam nemůžu vložit php kód, ale jenom javascript?

Zkouším tam vložit něco jako:

">'; mysql_query("delete * from eshop1_produkty");


nebo

">'; $_SESSION['login']=1;


Ale nejde to.. Přitom když se dívám do zdrojáku, tak by se mělo normálně ukončit echo a začít provádět to, co píšu..
Kajman_
Profil *
To by tam musel být eval, jinak to je jenom text.
Joker
Profil
stepanka:
A proč tam nemůžu vložit php kód, ale jenom javascript?
Na straně serveru se s tím pracuje jako s řetězcem. Pokud tam nebude eval(), jako PHP se to nezpracuje.
Ale snad nikdo není takový šílenec, aby v e-shopu volal eval() něčeho, co přijde od uživatele.

Bude ale fungovat i normální HTML kód, takže se dají dělat i vtípky jako zadat: jméno"><h1> nebo: "><!--

(edit: zapomněl jsem ukončení tagu na začátku)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: