Autor Zpráva
csrf
Profil *
Pokud jsem se dobře dočetl, tak ochrana před csrf útokem spočívá v tom, že se vygeneruje token, uloží někam uvnitř aplikace, přidá se i do formuláře a pak se kontroluje. Pokud pak uživatel otevře během práce nějakou podezřelou stránku, tak ta stránka nemá možnost ten formulář odeslat. To je sice hezký, jenže co když ta podezřelá stránka přiměje daný formulář, aby se refreshnul (znova načetl) a pak si přečte ten token a použije ho pro vlastní útok? Tohle je taky možný ne?
Alphard
Profil
csrf:
jenže co když ta podezřelá stránka přiměje daný formulář, aby se refreshnul (znova načetl) a pak si přečte ten token
Jak?
AM_
Profil
Připadá mi, že jsi moc nepochopil princip CSRF útoku. Mějme třeba webovou hru. Současně s ní hráč otevře mou stránku, na které bude třeba obrázek s touto URL adresou:
http://that-web-game.com/send.php?to=hacker&money=9999999

Načež se samozřejmě hackerovi pošlou penízky, protože jsi v prohlížeči do hry přihlášený.
Ochrana spočívá v tom, že pro úspěšné provedení akce je potřeba ještě nějaký kód, který je pokaždé jiný:
http://that-web-game.com/send.php?to=hacker&money=9999999&code=abcdef...
Čili hacker už nikam nemůže umístit obrázek, odkaz nebo cokoli, co po otevření automaticky vykoná nějakou akci na dané stránce, protože odkaz pro provedení akce je pokaždé jiný.
Lamicz
Profil
Token je ochrana proti cílenému podstrčení URL někam do administrace (většinou nějaká action smazání, protože GET se dělá nejjednodušeji) přihlášenému uživateli (adminu). Může to být např. pouhé zaslání URL přes ICQ. Je to imho určitý druh sociálního inženýrství. Princip ochrany je ten, že se k URL přidává náhodně generovaný token uložený zároveň např. do SESSION, kterou útočník logicky nemá a kontroluje se s GETem v té URL.
Joker
Profil
csrf:
co když ta podezřelá stránka přiměje daný formulář, aby se refreshnul (znova načetl) a pak si přečte ten token a použije ho pro vlastní útok? Tohle je taky možný ne?
Není. CSRF útok je založený právě na tom, že nedokáže (resp. nepotřebuje) zasáhnout do samotné komunikace mezi obětí a serverem.

Na obnovení formuláře a přečtení tokenu útočník musí odeslat za klienta požadavek na server a přečíst odpověď serveru. A ve chvíli kdy tohle dokáže, může už udělat cokoliv.
Nicméně to není CSRF útok, ten ani jednu z těch věcí nedokáže.

CSRF útok spočívá v tom, že útočník nesleduje ničí komunikaci ani se nikam nenabourává, jen nějakým způsobem přiměje oběť, aby pod svým jménem (a tedy se svými právy, nejlépe navíc aniž by o tom věděla) provedla útočníkem zadanou operaci.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: