
Cross-site request forgery, bo takie jest rozwinięcie tego skrótu – atak polegający na wykorzystaniu uprawnień innego użytkownika do wykonania polecenia dla zasobów. Brzmi to dosyć zawile, dlatego wyjaśnię zasadę działania krok po kroku.
Na początku, aplikacja powinna wykazywać podatności typu XSS (najlepiej stored – wówczas atak jest bardziej finezyjny). Nie jest to jednak koniecznie, ponieważ zawsze można wysłać zmodyfikowane zapytanie dla nieświadomego użytkownika inną metodą.
Kolejny krok, to odnalezienie niezabezpieczonego np. link’a do usuwania konta (to działanie jest destruktywne, nie róbmy tak).
Znaleziony link w dowolny sposób podsyłamy osobie, która po jego uruchomieniu wysyła żądanie (zgodnie ze scenariuszem do usunięcia jej konta).
Poniżej diagram w którym zobrazowałem w jaki sposób można wykonać CSRF z zastosowaniem Stored XSS.
W diagramie zaprezentowane jest użycie CSRF do stworzenia nowego konta administratora, jest to możliwe jeżeli, po pierwsze znamy dany system (CMS), po drugie nie posiada on tokenów anty CSRF’owych. Wybrane żądanie nie byłoby możliwe do zrealizowania jeżeli formularz tworzenia kont z poziomu panelu administratora posiadałby walidację dynamicznie generowanego tokenu.