2024. április 26., péntek

Gyorskeresés

XSS avagy Cross site scripting

Írta: | Kulcsszavak: xss . cross site scripting

[ ÚJ BEJEGYZÉS ]

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

.

Copyright © 2000-2024 PROHARDVER Informatikai Kft.