XSS avagy Cross site scripting

Cross site scripting (XSS)

Az XSS egy olyan jellegű sebezhetőség, amely a weboldalak, webalkalmazások sebezhetőségét használja ki.
A működési elvéneka lényege, hogy a rosszindulató felhasználó olyan scriptet injektál a forrásba, amelyet a felhasználó is lát. Ez a tulajdonképpeni kulcsa az egésznek, hogy a felhasználó látja. A jól ismert HTMl/PHP oldalakba implementált kódok, avagy a kliens oldali scriptek adják az XSS lényegét. Nem történik más, mint nem hiteles forrásból történő betöltés. A felhasználó azaz aki a weboldalt lehívja, mit sem sejt a dologról, hiszen tulajdonképpen az eredeti oldalt látja .

(P:C)(/P)

Az XSS működését tekintve, tudjuk, hogy a webszerver különböző parancsokat, végrehajtó információkat küld a böngésző számára.Bizonyos esetekben az egyik weblapon található scriptnek meg kell adni azt a lehetőséget, hogy egy másik lapon vagy objektumban lévő adathoz hozzáférjen, ugyanakkor ezt a lehetőséget szigorúan tiltani kellene, mivel egy rosszindulatú Web-site ezen az úton érzékeny információkhoz férhet hozzá.

Az idő során létrehoztak több hozzáférési szabályt, amely azt teszi lehetővé, hogy a felhasználó meg legyen óvva az ilyen stílű weboldalaktól.Ha támadónak egy ügyes módszerrel sikerül egy másik domainhez tartozó weblapra rosszindulató programot (script) beszúrnia, akkor a magasabb szintű hozzáférési jogokkal érzékeny tartalmakhoz, sütikhez (cookies) és más objektumokhoz fér hozzá.

Nem-tárolt XSS
Az XSS leggyakrabban előforduló típusa A kliens oldali adatot a szerver-oldali futtatókörnyezet közvetlenül felhasználja a válaszhoz. Ha ellenőrizetlen és HTML kódolás nélküli kliens-adat kerül be a szerverre, akkor így lehetővé válik, hogy a kliens-oldali kód a dinamikus lapba bekerüljön.Keresőmotoroknál általánosan előjövő probléma: a keresett kifejezések közé HTML speciális karaktereket írnak be, és ha a keresőmotor válaszában visszaküldi a kódolatlan kereső stringet, akkor jön létre az XSS.

Tárolt típusú XSS
A szerver állandó jelleggel tárolja azon információkat amelyeket a felhasználó a böngészés során küld. (adatbázisban, fájl rendszerben vagy más helyen), és később a felhasználóknak weblap formájában olvashatóvá teszi HTML kódolás nélkül. Klasszikus példa erre az online üzenet-felület. A szerver adatbázisban tárolja el a beinjektált kódot, így a honlapot böngésző összes felhasználó kliens oldalán végrehajtódik az injektált kód.

Megoldás:
Az XSS sebezhetőség elkerülésének első feltétele az, hogy minden speciális HTML karaktert kódoljanak.

Kódolás nélkül: <script>alert('xss');</script>
Kódolással: &lt;script&gt;alert('xss');&lt;/script&gt;

A pirossal jelölt rész egy kliens-oldali scriptet mutat, a zöld pedig ugyanazt kódolva. A kódolt verzió egy böngészőben literálként fog megjelenni, és nem használható a HTML tag-ek speciális jelentése. Ezzel meg lehet előzni azt, hogy a HTML lapra egy speciális scriptet szúrjanak be. Az összes input mezőt megfelelő védelemmel és szűrővel kell ellátni, ahhoz, hogy az XSS hibákat kiküszöböljük. Arra is figyeljünk oda, hogy a szűrés ne csak kliens oldalon, hanem 33 szerver oldalon is történjen meg. Tervezéskor figyeljünk oda, hogy az input mezőkből visszaírt szövegek ne közvetlen épüljenek be a forráskódba, hanem megfelelő technikával, jelenítsük azt meg úgy, hogy azt a böngésző ne futtatható kódként értelmezze

.

Hirdetés

3 pénzügyi döntés, amit minden kisvállalkozónak érdemes átgondolnia az év végéig

PR Ahogy az év vége közeledik, itt az ideje, hogy egy pillanatra megálljunk és áttekintsük vállalkozásunk pénzügyi helyzetét. Ne hagyjuk, hogy az év utolsó hónapjai elússzanak a sürgető feladatok és elfeledett határidők között!

Légy az első hozzászóló!

Még nem szólt hozzá senki sem.

Hozzászólok