A webhelyek közötti kérelem hamisítása (CSRF) az egyik legrégebbi módszer a webhely sebezhetőségének kihasználására. Célja a szerveroldali webkapcsolók, amelyek általában hitelesítést igényelnek, például bejelentkezés. A CSRF-támadás során a támadó célja arra kényszeríteni az áldozatát, hogy jogosulatlan, rosszindulatú webes kérelmet küldjön a nevükben.
A gyenge vagy gyenge webhelybiztonsági gyakorlatok és a felhasználó útján való gondatlanság a sikeres CSRF-támadás egyik leggyakoribb oka.
Vizsgáljuk meg, mi a CSRF-támadás, és azokat a lehetséges módszereket, amelyekkel megakadályozhatja magát fejlesztőként vagy felhasználóként.
Hogyan hatnak rád a CSRF-támadások?
A CSRF egy olyan támadás, amelyet jogosulatlan kérések végrehajtására használnak a felhasználói bejelentkezést vagy hitelesítést igénylő webes műveletek során. A CSRF-támadások kihasználhatják a munkamenet-azonosítókat, a cookie-kat és más kiszolgálóalapú biztonsági réseket, hogy ellopják a felhasználó hitelesítő adatait.
Például az anti-CSRF eljárások engedélyezése megakadályozza a tartományok közötti rosszindulatú interakciókat.
Amint ez az akadály megszakad, a támadó a felhasználó böngészője által létrehozott sütik segítségével gyorsan kihasználhatja a felhasználó munkamenet-azonosítóját, és beágyazhat egy szkriptcímkét a sérülékeny webhelyre.
Azonosító manipulálásával a támadó átirányíthatja a látogatókat egy másik weboldalra vagy kihasználhatja őket társadalommérnöki módszerek mint például az e-mail a linkek küldésére, ösztönözve az áldozatot rosszindulatú szoftverek letöltésére.
Ismerje meg, hogyan befolyásolhatja Önt a társadalmi tervezés, és adjon meg néhány gyakori példát, amelyek segítenek azonosítani és biztonságban maradni ezekben a rendszerekben.
Amint az áldozat végrehajtja az ilyen műveleteket, HTTP-kérést küld a felhasználó szolgáltatási oldalára, és engedélyezi a kérési műveletet a támadó javára. Ez egy gyanútlan felhasználó számára pusztító lehet.
A sikeres CSRF-támadás miatt az engedélyezett felhasználók elveszíthetik a támadóhoz való hozzáférési hitelesítő adataikat, különösen olyan kiszolgálóalapú műveletek során, mint a jelszó vagy a felhasználónév megváltoztatása. Rosszabb esetekben a támadó átveszi az egész munkamenetet, és a felhasználók nevében jár el.
A CSRF-et az internetes alapú tranzakciók eltérítésére, valamint a felhasználónevek és jelszavak megváltoztatására használták, ami a felhasználók elveszített hozzáférését az érintett szolgáltatáshoz.
Hogyan támadják meg a támadók a munkameneteket CSRF-fel: Példák
A CSRF támadások fő célpontjai a felhasználó hitelesítését magukban foglaló webes műveletek. A siker érdekében az áldozattól akaratlanul kell cselekednie.
A CSRF-támadás során a GET, a DELETE és a PUT műveletek, valamint a sebezhető POST kérések a támadók fő célpontjai.
Vizsgáljuk meg e kifejezések jelentését:
- KAP: Kérés egy eredmény összegyűjtésére az adatbázisból; például a Google keresés.
- POST: Jellemzően kérelmek benyújtására webes űrlapokon keresztül. A POST kérés gyakori a felhasználó regisztrációja vagy bejelentkezése során, más néven hitelesítés.
- TÖRÖL: Erőforrás eltávolítása az adatbázisból. Ezt akkor teszi, amikor törli fiókját egy adott webszolgáltatásból.
- PUT: A PUT kérés módosítja vagy frissíti a meglévő erőforrásokat. Ilyen például megváltoztatja a Facebook nevét.
A gyakorlatban a támadók munkamenet-eltérítést használnak a CSRF-támadások biztonsági mentéséhez. Ennek a kombinációnak a használatakor a támadó eltérítéssel megváltoztathatja az áldozat IP-címét.
Az IP-cím megváltozása ezt követően egy új webhelyre naplózza az áldozatot, ahová a támadó megtévesztő linket illesztett be, amely egy replikált űrlapot vagy módosított kiszolgálói kérelmet nyújt be, amelyet az CSRF-en keresztül készített.
A gyanútlan felhasználó azt gondolja, hogy az átirányítás a szolgáltatótól származik, és rákattint a támadó weboldalán található linkre. Miután ezt megtették, a hackerek tudomásuk nélkül beküldnek egy űrlapot az oldal betöltésekor.
Példa egy GET Request CSRF támadásra
Képzelje el, hogyan próbál online fizetni egy nem biztonságos e-kereskedelmi platformon keresztül. A platformtulajdonosok a GET kérést használják a tranzakció feldolgozásához. Ez a GET lekérdezés így nézhet ki:
https://websiteurl/pay? összeg = 10 USD és vállalat = [a vállalat ABC számlája]
Egy gépeltérítő ellophatja a tranzakciót a GET-kérelem paramétereinek megváltoztatásával. Ehhez csak annyit kell tennie, hogy kicseréli a nevét a sajátjára, és ami még rosszabb, változtassa meg a fizetni kívánt összeget. Ezután az eredeti lekérdezést ilyesmire módosítják:
https://websiteurl/pay? összeg = $ 20000 & company = [támadói fiók]
Miután rákattint a módosított GET-kérelemre mutató linkre, végül akaratlanul is átkerül a támadó fiókjába.
A GET-kérelmeken keresztüli tranzakció rossz gyakorlat, és a tevékenységeket kiszolgáltatottá teszi a támadásokkal szemben.
Példa POST-kérelem CSRF-támadásra
Sok fejlesztő azonban úgy véli, hogy a POST kérés használata biztonságosabb a webes tranzakciók lebonyolításához. Bár ez igaz, sajnos a POST kérés hajlamos a CSRF támadásokra is.
A POST-kérelem sikeres eltérítéséhez a támadónak csak az aktuális munkamenet-azonosítóra, néhány replikált láthatatlan űrlapra és néha egy kis közösségi tervezésre van szüksége.
Például a POST kérelem űrlapja így nézhet ki:
A támadó azonban felcserélheti az Ön hitelesítő adatait egy új oldal elkészítésével és a fenti űrlap átalakításával:
A manipulált formában a támadó az összeg mező értékét "30000" -ra állítja, felcseréli a a címzett számlaszáma az övéknek, beküldi az űrlapot az oldal betöltésekor, és elrejti az űrlapmezőket is a felhasználó.
Miután elrabolják az aktuális munkamenetet, a tranzakciós oldal átirányítást indít a támadó oldalára, amely arra kéri, hogy kattintson egy olyan linkre, amelyről tudja, hogy valószínűleg meglátogatja.
Erre kattintva betöltődik a replikált űrlap elküldése, amely átutalja az Ön pénzét a támadó számlájára. Ez azt jelenti, hogy a tranzakció végrehajtásához nem kell kattintania például a "küldés" gombra, mivel a JavaScript ezt automatikusan megteszi a következő weboldal betöltésekor.
Alternatív megoldásként a támadó HTML-beágyazott e-mailt is készíthet, amely arra kéri, hogy kattintson egy hivatkozásra ugyanazon az oldalbetöltési űrlap elküldéséhez.
A CSRF-támadásnak kitett másik művelet a felhasználónév vagy a jelszó megváltoztatása, például egy PUT-kérelem. A támadó megismétli a kérelem űrlapját, és az Ön e-mail címét lecseréli az övékre.
Ezután ellopják a munkamenetet, és vagy átirányítanak egy oldalra, vagy e-mailt küldenek, amely arra kéri, hogy kattintson egy vonzó linkre.
Ezután beküldik egy manipulált űrlapot, amely a jelszó-visszaállító linket elküldi a hacker e-mail címére a tiéd helyett. Így a hacker megváltoztatja a jelszavát, és kijelentkezik a fiókjából.
Hogyan lehet megakadályozni a CSRF támadásokat fejlesztőként
Az egyik legjobb módszer a CSRF megakadályozására, ha a munkamenet-cookie-k helyett gyakran változó tokenek használatával állapotváltoztatást futtat a kiszolgálón.
Összefüggő: Ingyenes útmutatók a digitális biztonság megértéséhez és az Ön személyes adatainak védelméhez
Számos modern háttérrendszer nyújt biztonságot a CSRF ellen. Tehát, ha saját maga akarja elkerülni a CSRF-felpörgetés technikáit, könnyen megoldhatja a szerveroldali keretrendszereket, amelyek beépített anti-CSRF tokenekkel vannak ellátva.
Anti-CSRF token használatakor a kiszolgálóalapú kérelmek véletlenszerű karakterláncokat generálnak a statikusabb sérülékeny munkamenet-sütik helyett. Így megvédheti munkamenetét attól, hogy a gépeltérítő kitalálja.
Kéttényezős hitelesítési (2FA) rendszer bevezetése a tranzakciók futtatásához a webalkalmazásban csökkenti a CSRF esélyét is.
Lehetséges CSRF-et kezdeményezni helyszíni parancsfájlok (XSS) útján, amely szkriptek injektálását jelenti a felhasználói mezőkbe, például a megjegyzés-űrlapokba. Ennek megakadályozása érdekében bevált módszer a HTML-automatikus menekülés engedélyezése a webhely összes felhasználói űrlapmezőjében. Ez a művelet megakadályozza, hogy az űrlapmezők értelmezzék a HTML elemeket.
Hogyan lehet megakadályozni a CSRF-támadásokat felhasználóként
Hitelesítéssel járó webszolgáltatás felhasználójaként Önnek szerepet kell játszania abban, hogy megakadályozza a támadókat abban, hogy CSRF-en keresztül is ellopják az Ön hitelesítő adatait és munkameneteit.
Győződjön meg arról, hogy megbízható webszolgáltatásokat használ az átutalással járó tevékenységek során.
Ezen felül használja biztonságos böngészők amelyek megvédik a felhasználókat a munkamenet-expozíciótól, valamint biztonságos keresőmotorok, amelyek védenek a keresési adatok szivárgása ellen.
Összefüggő: A legjobb privát keresőmotorok, amelyek tiszteletben tartják az adatait
Felhasználóként függhet harmadik féltől származó hitelesítőktől is Google Authenticator vagy annak alternatívái személyazonosságának az interneten történő igazolásáért.
Bár tehetetlennek érezheti magát abban, hogy megakadályozza, hogy egy támadó eltérítse a munkamenetét, mégis segíthet megakadályozza ezt azzal, hogy böngészője nem tárol olyan információkat, mint jelszavak és egyéb bejelentkezési adatok részletek.
Adja meg webbiztonságát
A fejlesztőknek a fejlesztés és a telepítés során rendszeresen tesztelniük kell a webalkalmazások biztonsági megsértéseit.
Gyakran előfordul azonban, hogy más sebezhetőségeket is bevezetünk, miközben megpróbálunk megelőzni másokat. Ezért ügyeljen arra, hogy a CSRF blokkolása közben ne sértsen más biztonsági paramétereket.
Hozzon létre egy erős jelszót, amelyet később megjegyezhet. Ezekkel az alkalmazásokkal frissítheti biztonságát ma új, erős jelszavakkal.
- Biztonság
- Online biztonság
Idowu minden okos technológiával és termelékenységgel rajong. Szabadidejében kódolással játszik, és ha unatkozik, átvált a sakktáblára, de imád egyszer-egyszer elszakadni a rutintól. Az a szenvedély, hogy megmutatja az embereknek a modern technológiát, további írásra ösztönzi.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Még egy lépés…!
Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.