Cross-Site Request Forgery (CSRF) je jedným z najstarších spôsobov zneužívania zraniteľností webových stránok. Zameriava sa na webové prepínače na strane servera, ktoré zvyčajne vyžadujú autentifikáciu, ako je prihlásenie. Počas útoku CSRF má útočník za cieľ prinútiť svoju obeť, aby v ich mene urobila neoprávnenú a škodlivú webovú požiadavku.

Slabé alebo zlé postupy zabezpečenia webových stránok a nedbanlivosť na ceste používateľa sú niektoré z bežných príčin úspešného útoku CSRF.

Pozrime sa, čo je útok CSRF a aké sú možné spôsoby, ako sa mu môžete zabrániť ako vývojár alebo ako užívateľ.

Ako na vás majú vplyv útoky CSRF?

CSRF je útok používaný na implementáciu neoprávnených požiadaviek počas akcií na webe, ktoré si vyžadujú prihlásenie alebo autentifikáciu používateľa. Útoky CSRF môžu využiť identifikátory relácií, súbory cookie a ďalšie zraniteľnosti servera, aby ukradli prihlasovacie údaje používateľa.

Napríklad povolenie postupov proti CSRF zabráni škodlivým interakciám medzi doménami.

instagram viewer

Akonáhle sa táto bariéra prelomí, útočník môže rýchlo využiť ID relácie používateľa pomocou súborov cookie vytvorených prehliadačom používateľa a vložiť značku skriptu na zraniteľnú webovú stránku.

Manipuláciou s identifikátorom môže útočník tiež presmerovať návštevníkov na inú webovú stránku alebo ich zneužiť metódy sociálneho inžinierstva ako e-mail na odosielanie odkazov, ktorý nabáda obete, aby si stiahla škodlivý softvér.

Čo je to sociálne inžinierstvo? Tu je príklad, ako by vás mohlo napadnúť hacknutie

Naučte sa, ako vás môže sociálne inžinierstvo ovplyvniť, spolu s bežnými príkladmi, ktoré vám pomôžu identifikovať a zachovať bezpečnosť pred týmito schémami.

Akonáhle obeť vykoná tieto akcie, odošle požiadavku HTTP na stránku služby používateľa a autorizuje akciu žiadosti v prospech útočníka. To môže byť pre nič netušiaceho používateľa zničujúce.

Úspešný útok CSRF môže spôsobiť, že autorizovaní používatelia stratia prístupové údaje k útočníkovi, najmä počas akcií na serveri, ako sú žiadosti o zmenu hesla alebo používateľského mena. V horších scenároch prevezme útočník celú reláciu a koná v mene používateľov.

CSRF sa používa na únos transakcií cez web, ako aj na zmenu používateľských mien a hesiel, čo vedie k tomu, že používatelia strácajú prístup k dotknutej službe.

Ako útočníci unesú vaše relácie pomocou CSRF: Príklady

Hlavným cieľom útokov CSRF sú akcie na webe, ktoré zahŕňajú autentifikáciu používateľa. Na to, aby bol úspešný, je potrebné neúmyselné konanie obete.

Počas útoku CSRF sú hlavnými cieľmi útočníka akcie GET, DELETE a PUT, ako aj zraniteľné požiadavky POST.

Pozrime sa na význam týchto výrazov:

  • ZÍSKAJTE: Žiadosť o zhromaždenie výsledku z databázy; napríklad vyhľadávanie Google.
  • POST: Spravidla pre odosielanie žiadostí prostredníctvom webových formulárov. Požiadavka POST je bežná počas registrácie alebo prihlásenia používateľa, inak sa to nazýva autentifikácia.
  • ODSTRÁNIŤ: Odstránenie prostriedku z databázy. Urobíte to vždy, keď odstránite svoj účet z konkrétnej webovej služby.
  • PUT: Požiadavka PUT upravuje alebo aktualizuje existujúci zdroj. Príkladom je zmena názvu na Facebooku.

V praxi útočníci využívajú únos relácie na zálohovanie útoku CSRF. Pri použití tejto kombinácie môže útočník použiť únos na zmenu adresy IP obete.

Zmena adresy IP potom obete prihlási na nový web, na ktorý útočník vložil podvodný odkaz, ktorý odošle replikovaný formulár alebo upravenú požiadavku na server, ktorú vytvorili prostredníctvom CSRF.

Nič netušiaci používateľ si potom myslí, že presmerovanie pochádza od poskytovateľa služieb a klikne na odkaz na webovej stránke útočníka. Hneď ako to hackeri urobia, odošlú formulár o načítaní stránky bez ich vedomia.

Príklad útoku CSRF na požiadavku GET

Predstavte si, že sa snažíte uskutočniť online platbu prostredníctvom nezabezpečenej platformy elektronického obchodu. Vlastníci platformy používajú na vybavenie vašej transakcie požiadavku GET. Tento dopyt GET môže vyzerať takto:

https://websiteurl/pay? suma = 10 dolárov a spoločnosť = [účet spoločnosti ABC]

Únosca môže vašu transakciu ľahko ukradnúť zmenou parametrov žiadosti GET. Všetko, čo k tomu musia urobiť, je vymeniť si svoje meno za svoje, a čo je horšie, zmeniť sumu, ktorú chcete zaplatiť. Potom vyladia pôvodný dopyt na niečo také:

https://websiteurl/pay? suma = 20000 dolárov a spoločnosť = [účet útočníka]

Po kliknutí na odkaz na túto upravenú požiadavku GET môžete nakoniec vykonať neúmyselný prevod na účet útočníka.

Transakcia prostredníctvom požiadaviek GET je zlý postup a činnosti sú zraniteľné voči útokom.

Ukážka útoku CSRF na žiadosť POST

Mnoho vývojárov sa však domnieva, že použitie požiadavky POST je bezpečnejšie na uskutočňovanie webových transakcií. Aj keď je to pravda, bohužiaľ, požiadavka POST je náchylná aj na útoky CSRF.

Pre úspešné unesenie požiadavky POST potrebuje útočník iba vaše súčasné ID relácie, niektoré replikované neviditeľné formy a niekedy trochu sociálneho inžinierstva.

Napríklad formulár žiadosti o POST môže vyzerať takto:







Útočník však môže vaše poverenie vymeniť vytvorením novej stránky a úpravou vyššie uvedeného formulára na toto:









V manipulovanej podobe útočník nastaví hodnotu poľa sumy na „30000“, zamení znak číslo účtu príjemcu na svoje, odošle formulár pri načítaní stránky a tiež skryje polia formulára používateľ.

Akonáhle unesú túto aktuálnu reláciu, vaša transakčná stránka iniciuje presmerovanie na stránku útočníka, čo vás vyzve na kliknutie na odkaz, o ktorom vedia, že ho s najväčšou pravdepodobnosťou navštívite.

Kliknutím na toto sa načíta odoslanie replikovaného formulára, ktorý prevedie vaše prostriedky na účet útočníka. To znamená, že na uskutočnenie transakcie nemusíte klikať na tlačidlá ako „odoslať“, pretože JavaScript to robí automaticky po načítaní ďalšej webovej stránky.

Útočník môže tiež pripraviť koncept e-mailu vloženého vo formáte HTML, ktorý vás vyzve na kliknutie na odkaz a vykonanie rovnakého odoslania formulára na načítanie stránky.

Ďalšou činnosťou, ktorá je zraniteľná voči útoku CSRF, je meno používateľa alebo zmena hesla, napríklad požiadavka PUT. Útočník replikuje váš formulár žiadosti a nahradí vašu e-mailovú adresu jeho.

Potom vám ukradnú reláciu a buď vás presmerujú na stránku, alebo vám pošlú e-mail s výzvou na kliknutie na lákavý odkaz.

Potom sa odošle manipulovaný formulár, ktorý odošle odkaz na obnovenie hesla na e-mailovú adresu hackera namiesto vašej. Takto hacker zmení vaše heslo a odhlási vás z vášho účtu.

Ako zabrániť vývojárom útokom CSRF

Jednou z najlepších metód, ako zabrániť CSRF, je použitie často sa meniacich tokenov namiesto vykonávania zmeny stavu na serveri namiesto toho, aby záviseli na súboroch cookie relácie.

Súvisiace: Bezplatní sprievodcovia pre pochopenie digitálneho zabezpečenia a ochranu vášho súkromia

Mnoho moderných backendových rámcov ponúka zabezpečenie proti CSRF. Takže ak sa chcete vyhnúť technickým požiadavkám posilňovania proti CSRF sami, môžete to ľahko vyriešiť použitím rámcov na strane servera, ktoré sú dodávané so zabudovanými tokenmi anti-CSRF.

Keď použijete token anti-CSRF, serverové požiadavky generujú náhodné reťazce namiesto statickejších súborov cookie zraniteľnej relácie. Týmto spôsobom ochránite svoju reláciu pred uhádnutím únoscom.

Implementácia systému dvojfaktorovej autentifikácie (2FA) na vykonávanie transakcií vo vašej webovej aplikácii tiež znižuje šance na CSRF.

Je možné spustiť CSRF pomocou skriptovania medzi servermi (XSS), ktoré zahŕňa vkladanie skriptov do používateľských polí, ako sú formuláre komentárov. Odporúča sa zabrániť tomu, aby ste na svojom webe povolili automatické unikanie kódu HTML vo všetkých poliach formulárov používateľov. Táto akcia zabráni poliam formulárov interpretovať prvky HTML.

Ako zabrániť používateľom útokov CSRF

Ako používateľ webovej služby, ktorá zahŕňa autentifikáciu, máte úlohu v zabránení tomu, aby útočníci ukradli vaše poverenia a relácie prostredníctvom CSRF tiež.

Zaistite, aby ste pri činnostiach, ktoré zahŕňajú prevod prostriedkov, používali dôveryhodné webové služby.

Okrem toho použite zabezpečené webové prehliadače ktoré chránia používateľov pred vystavením relácii, ako aj zabezpečené vyhľadávacie nástroje chrániace pred únikmi údajov z vyhľadávania.

Súvisiace: Najlepšie súkromné ​​vyhľadávače, ktoré rešpektujú vaše údaje

Ako používateľ sa môžete tiež spoľahnúť na autentifikátory tretích strán, ako je napríklad Google Authenticator alebo jeho alternatívy na overenie vašej identity cez web.

Aj keď sa môžete cítiť bezmocní, aby ste zabránili útočníkovi v prepadnutí vašej relácie, stále môžete pomôcť tomu zabránite zabezpečením toho, aby váš prehliadač neukladal informácie, ako sú heslá a iné prihlasovacie údaje podrobnosti.

Posilnite svoje zabezpečenie webu

Vývojári musia počas vývoja a nasadenia pravidelne testovať, či webové aplikácie neporušujú bezpečnosť.

Je však bežné zavádzať ďalšie chyby zabezpečenia a zároveň zabrániť ostatným. Pri pokuse o blokovanie CSRF teda buďte opatrní, aby ste neporušili ďalšie bezpečnostné parametre.

Email
5 nástrojov na heslo na vytvorenie silných prístupových fráz a aktualizáciu vašej bezpečnosti

Vytvorte si silné heslo, ktoré si neskôr môžete pamätať. Pomocou týchto aplikácií môžete dnes vylepšiť svoje zabezpečenie novými silnými heslami.

Súvisiace témy
  • Bezpečnosť
  • Online bezpečnosť
O autorovi
Idowu Omisola (Publikovaných 46 článkov)

Idowu je vášnivý pre čokoľvek inteligentné technológie a produktivitu. Vo voľnom čase sa hrá s kódovaním a keď sa nudí, prepne na šachovnicu, ale tiež rád občas vybočuje z rutiny. Jeho vášeň ukázať ľuďom cestu v moderných technológiách ho motivuje k tomu, aby písal viac.

Viac od Idowu Omisola

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.