Mi az URL-cím?
Mint tudod, amikor egy kérelmet küld a kiszolgálónak, a böngésző olyan fejléceket is küld, amelyek a megfelelő domain cookie-jait tartalmazzák, amelyekben általában a munkamenet-azonosítót tárolják. Így a kiszolgálószkript megérti, hogy most bejelentkezett és hozzáférhet bizonyos munkamenetfájlokhoz. Rendben.
Tegyük fel, hogy bizonyos N tartományban van egy profilfrissítő oldal, amely feldolgozza az űrlap kérését
Amikor ilyen kérést küld, a kérdőívben szereplő adatok ennek megfelelően módosulnak.
Mit fog tenni a böngésző? Igaz, végrehajtja a lekérdezést N / profile.php? Name = Vasjasurname = Pupkin. várakozás a MIME típusú image / jpeg megszerzésére. Természetesen a böngésző ehhez a kéréshez olyan fejléceket ad hozzá, amelyek N domain cookie-kat tartalmaznak, beleértve a munkamenet azonosítóját. Profiladatait sikeresen megváltoztatjuk, amíg meg nem győződöm róla, csodálom a képet somepage / image.jpg.
Azt is tudnod kell, hogy az ilyen típusú támadás CSRF-nek hívják - Cross Site Request Forgery (hamis cross-site requests). A támadás megakadályozásának egyik módja egy token használata - véletlenszerűen generált érték, amelyet minden alkalommal frissítenek, amikor egy lekérdezést tárolnak egy munkamenetben, és hozzáadják az URL-hez. Ha a GET kérésben küldött jelzés nem egyezik meg a munkamenetben tárolt jellel, akkor a kérés valószínűleg egy másik webhelyen keletkezik. Mivel a munkamenetben tárolt adatok nem hagyják el a kiszolgáló korlátait, a támadó képes lesz megtudni a tokenet a cookie-k ellopásával vagy az URL-cím megszerzésével a tokennel, amelyen az áldozat elmúlt.
A következtetés egyszerű: soha ne mutasson ismeretlen szörnyeket a cookie-jaid és az URL-jén, miközben bejelentkezel.