sérülékenység CSRF
Az utolsó cikk Megpróbáltam leírni pontosan mi is ez a biztonsági rés, és ez nem lényegtelen, a végrehajtás minden szükséges feltételek típusú CSRF támadások.
Ebben a cikkben megpróbálom beszélni támadása elleni védekezés az ilyen típusú párt:
- A kliens oldalon - a fő módja, hogy megvédje magát
- A szerver oldalon - a megfelelő tervezési alkalmazások
Ha kíváncsi, hogyan véd CSRF szívesen a vágás.
általános információk
Általánosságban szeretném emlékeztetni, CSRF - t nem érinti, az ilyen típusú támadásokat. És ez a támadás végzett a végfelhasználó webes alkalmazás segítségével a biztonsági rést ebben az app, amely nevezhető „átvilágítási eljárás hiányának a forrás vizsgálat” (a név a saját, ne ítélj szigorúan, de igaz). De ezután fogok hivatkozni CSRF sérülékenységek és támadások egyik így könnyebb, és ez az, amit tenni =)
És ha egyszer a támadás végzett a felhasználó, és a felhasználó védendő ... vicc =) A lényeg az, hogy minden felhasználó tudja csökkenteni annak lehetőségét végző támadás minden olyan webhelyet, amit használ (még ha ezek a helyek nem rendelkeznek beépített védelmet CSRF). De amellett, hogy a felhasználók, a fejlesztők a helyszínek megtervezi az alkalmazást, hogy nedopustit lehetősége elleni támadás a felhasználók számára.
Tekintsük a védelem mindkét oldalán.
Védelem a felhasználó által
Általában minden nagyon banális:
Ez minden. Most viszont, hogy a fő.
Védelem a fejlesztők
Mint már említettük, a biztonsági rés rejlik hiányában a megfelelő hitelesítési kérés forrása. Vagyis, ha alkalmazást fejleszteni, meg kell építeni egy funkcionális ellenőrzést a forrás. És az első dolog, amit chtozhe jut eszébe? Ez így van! Ellenőrizze Referer.
Ellenőrizze Referer
Azt kell mondanom, azok számára, akik olvasni a cikket az átlós. Alapozhatja védelmi ellenőrzését követően e cím - rosszul (!). Miért - lásd alább ..
Először is mi kell érteni, hogy mi ez a módszer.
De a pokol. Itt az a lényeg nem az, hogy meg tudja játszani hivatkozó (milyen épeszű támadó fogja kérni az áldozat arról, hogy ő helyette az ajánló és átadott link). És az a tény, hogy a statisztikák mintegy 5% -a felhasználók Referer átvitel kimaradása. Azaz akár az öt százalék nem lesz képes dolgozni a helyszínen egyáltalán, vagy azok lesznek téve a támadás (attól függően, hogy a politika alkalmazása).
Voosche független módszer, ez a módszer értelmetlen.
műveletek megerősítése
Tehát most az egyetlen helyes és megbízható módon.
Az mit jelent ez a módszer, amellyel egy paraméter tartalmaz néhány „jelzőt”, hogy minden link, küldje el az űrlapot, és így tovább. A kérést a szerver megkap ellenőriznie kell a jelenlétét a token a kapott paramétereket. Természetesen minden egyes token minden felhasználó számára egyértelmű kell legyen, és még jobb, ha minden token egyedi.
Az egyik egyszerű és megbízható végrehajtását példák - egy token készül minden kérés egy új és telepített a felhasználói sütik és hozzáadjuk a paramétereket a formák és linkeket az oldalon:
Aztán kézhezvételét követően minden jelzőt a kérés képest a cookie-kat, és a token meghatározott formában paramétereket. És ha azok azonosak, a forrás a kérelem legális. Ezután a tokent generál, és újra beállítani a cookie-kat, stb egy kört.
Általában a végrehajtás különböző lehet, de a probléma az, hogy az átmenet a zsetont ez elég nehéz, mert meg kell vizsgálni minden hivatkozás, minden formában, minden oldalon ... Akkor csak védeni fontos oldalak / formák / referencia, de akkor van esély, hogy néhány hiányozni fognak.
Én személy szerint csak védi POST formák és fontos kapcsolatokat. Ez POST én alkalmazás nem működik anélkül, hogy a megfelelő jelzőt. Ez kiküszöböli a lehetőséget, hogy felejtsük el, hogy megvédjük azt, hogy a forma, mert egyszerűen nem fog működni, és rögtön észrevette.
Remélem ezt a cikket megtanulhatta védekezni CSRF támadások.
PS: Folytatás :)
Lásd még:
- A biztonsági rés CSRF. Elrejtése Referer amikor átirányítása
Gyakorlati megvalósítás például letilthatja adásra, ha átirányítása hivatkozó. Átirányítás küldése nélkül Referer. Leírás CSRF támadást, ha off hivatkozó.
Helló Ma már kiegészítve a cikksorozatot CSRF. De most megyek simán a „rossz oldalon”. Mint mondják.
Általános leírás CSRF típusú támadás. Egy egyszerű példa a gyakorlati biztonsági rés cross-site request hamisítás. Képi diagram CSRF sebezhetőségét.
Igen, emlékszem, hogy megígértem az előző bejegyzésben, hogy írjanak a captcha, de hogy őszinte legyek, hogy írjon ezekről CAPTCHA van.
Leírás a kritikus sebezhetőséget CMS netcat. futtatását. Netcat SEARCH_QUERY programkódfuttatás.
Csak ma, az egyik ügyfél azt írta nekem, hogy a helyszínen volt, csapkodott. Őszintén szólva nagyon meglepődtem azt. Annyira.
Példa védelmet PHP include. Egy módszer, hogy megakadályozzák észlelési és tartja krakkoló támadást.
Hagyja úgy gondolja, aki a hacker? Hacker - ez nem egy cracker! Az emberek gyakran összekeverik ezeket a fogalmakat. Hacker - a.
Nos Nos, próbáljuk meg, hogy megvitassák ezt a témát. Tegyük fel, hogy tudom, hogy a CAPTCHA (megjegyzés blogomban szinte egy egész szakaszt rá posveschenny).
Végrehajtása CAPTCHA különböző lehet, és talán helyesebb azt mondani, hogy a legtöbb implementáció még képes megvédeni ellen CSRF (néhány kivételtől eltekintve). Nos, megint, ha megnézi az alábbi mondat jön címszó alatt „jelzőt”: Tehát most az egyetlen helyes és biztonságos módon .. Azt hiszem, ez a javaslat érjen fel a gondolat, hogy minden ugyanaz a gondolat egy captcha nem teljesen ésszerű) - összefüggésben a cikk, ez csak egy példa a laterális gondolkodás.
Nos beszélni, hogy egyes megvalósítások CAPTCHA nem véd CSRF ... Nos kifogás. Ez egy programozó hiba, hogy végre lyukas captcha. És minden bizonnyal nem az utolsó problémát. Ugyanolyan sikerrel beszélhetünk tokeneket, mondják ezek, vagy haszontalan „ha tudod, hogy a mechanizmus a zsetont, és szerintem egy kicsit.”
token készül minden kérés egy új és telepítve a felhasználó cookie
A cookie ha a felhasználó ki van kapcsolva? Valószínűleg> 5% ..
Session használata nélkül a cookie-kat? Ha egy szabványos mechanizmust ülés php, akkor ez a művelet azonosítót is tárolják a cookie-t. Nem cookie-k - nem ülés.
Ah ... segít jobban keresett fragment etext = megfejtés maradó Referer miután a felhasználó származik Yandex keresést.
Akkor mutassa be az anyag rendkívül jól megközelíthető, köszönhetően
Az egyik egyszerű és megbízható végrehajtását példák - egy token készül minden kérés egy új és telepített a felhasználói sütik és hozzáadjuk a paramétereket a formák és linkeket az oldalon:
Ez így van, a védelem, amit tennie kell, csak egy jelképes, hanem azért, amit minden egyes alkalommal, hogy létrehoz egy új jelzőt, és tedd egy sütit?
Csak nem értem, miért egy cookie a boltban nem a helyes dolgot?
Nos tároló token a cookie - a dolog nem számít. Ez sokkal könnyebb, mint tárolja egy adatbázisban. Felhívjuk figyelmét írtam:
Az egyik legegyszerűbb és legmegbízhatóbb ...
Akkor tárolja az adatbázisban. Elvileg egyáltalán nem érdekel ... Nem kell tárolni, hogy bárhol máshol, és ezáltal egyedi adatok alapján a felhasználó, és valamiféle titkos szerver sója.
Lehetőségek a tömeg, a cikkben beállítása csak az egyiket :)
Jó napot kívánok. Prompt mint jelzőt előírt oldalkódot, véd CSRF? Miért nem zloumyshoennik gerendák magát jelzőt, és adja át a postán kérés?
Feldolgozási az egyik oldalon a helyszínen húzza a jelzőt, és a következő lépés otpravlyaemm jobb csapat már a token.
Mi védelem?
És akkor azt hiszem, hogy miért néhány szolgáltatás néha meg kell adnunk a jelszót, amikor a kritikus műveletek, ez védelmet.
Láthatóan nem olvasta, amit a támadás is. Nincs lehetőség, hogy a támadó gerendák jelzőt. Token egyedi minden felhasználó.
Ismételt jelszó vizek - védelem egyéb problémák.
Van a szokásos web-CIÓ idő-pa-bot-chik. Pi-shu itt, hogy a be-e-res de amit én akkor, nuzh den lett-ki-áfa-Xia a gömb-re a WEB, a Cape-e faji suzh de-CIÓ egyszer-me-zokogás kormányzati schayu nye száz-ti.
Ne felejtsük el, hogy előfizet:
És ez nagyon pro-shu, non lenne-wai-maradó lyat-com-men-ta-Ree körülbelül Chi-tang NYM for-pi-SNM.