CSFR-evästeestä puheen ollen...
Miten muuten tuo CSRF toimii?
Esimerkiksi jos tässä ohjelmointiputkan viestilomakkeessa ei olisi mukana tuota csrf-tokenia, niin joku voisi johonkin ihan muuhun sivustoon laittaa esim. img-tagin, jonka src-attribuutin arvossa olisi suora osoite lomakekäsittelijään (joka siis lisää uuden viestin). Nyt kun joku ohjelmointiputkaan kirjautunut käyttäjä menisi tuolle sivulle, niin kuvanlataus aktivoisikin lomakekäsittelijän ja viesti lähtisi tämän käyttäjän nimissä.
Tuo siis estetään sillä, että lomakkeessa kulkee hidden-kentässä mukana samainen csrf-token kuin tuossa evästeessä on ja palvelin päässä aina verrataan näitä keskenään, ennen kuin mitään toimintoa suoritetaan.
No ei se nyt ihan niin alkeellisesti toimisi, kun yleensä (ja http-standardinkin mukaisesti) tietoja kirjoitetaan post/put-pyynnöillä eli ei get-pyynnöillä. Toki usein esimerkiksi tietojen poistaminen saattaa kuitenkin tapahtua get-pyynnöillä (?delete=$id), koska voi tuntua kätevältä, että poistotoiminto olisi tavallisen linkin takana.
Ei toimi ei, mutta tässä nyt olikin tarkoitus selittää - yksinkertaistaen - kuinka kyseinen hyökkäys toimii.
Asioiden vääristely on eri asia kuin yksinkertaistaminen. Jos ihmiset yrittäisivät testata kertomaasi esimerkkiä, niin he todennäköisesti huomaisivat ettei se toimi. Tämän jälkeen joku saattaisi luulla, että csrf-suojaus on täysin turha, koska eihän heikkoutta voikaan hyödyntää. Jos aikoo käyttää täsmällisiä esimerkkejä, niin niiden pitäisi aina olla järkeviä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.