Wprowadzenie do CSRF?

CSRF, XSRF lub Cross Site Reference Forgery to rodzaj ataku, który ma miejsce na stronie internetowej, gdy złośliwa strona przekazuje swoje żądanie do innej strony internetowej lub aplikacji internetowej, która ma uwierzytelnionego użytkownika. W tego rodzaju ataku, przy użyciu uwierzytelnionej przeglądarki ofiary, osoba atakująca może uzyskać dostęp do witryny w całości lub w części.

Jak to działa?

  • Działa tylko wtedy, gdy potencjalna ofiara jest uwierzytelniona.
  • Osoba atakująca może wejść na stronę internetową, omijając proces uwierzytelniania za pomocą ataku CSRF.
  • Ataki CSRF wchodzą w życie w scenariuszach, w których ofiara mająca dodatkowe prawa wykonuje pewne czynności, a inne nie mogą uzyskać do nich dostępu ani ich wykonywać. Na przykład bankowość internetowa.

Atak CSRF jest wykonywany w dwóch głównych częściach

  • Pierwszym krokiem jest zachęcenie użytkownika / ofiary do kliknięcia linku lub załadowania złośliwej strony. Atakujący wykorzystuje socjotechnikę, aby oszukać ofiarę.
  • Drugim krokiem jest oszukanie ofiary poprzez wysłanie fałszywego żądania do przeglądarki ofiary. Ten link przekieruje uzasadnione żądania do strony internetowej. Atakujący będzie miał wartości lub szczegóły od ofiary, których musi szukać, ofiara wypełniłaby ją, sądząc, że prośba jest uzasadniona. Atakujący będzie również miał szczegóły dotyczące powiązanych plików cookie z przeglądarką ofiary.

Kluczowe pojęcia CSRF

  • Osoba atakująca wysyła złośliwe żądania do witryny, w której użytkownik odwiedza osobę atakującą, która uważa, że ​​ofiara została zweryfikowana względem tej konkretnej witryny.
  • Przeglądarka ofiary jest uwierzytelniana na stronie docelowej i służy do kierowania złośliwych żądań do strony docelowej.
  • W tym przypadku przeglądarka ofiary lub witryna z zaimplementowanymi na niej metodami zapobiegawczymi CSRF nie są podatne na ataki, główną stroną jest podatna witryna.

Jak można zapobiec fałszowaniu żądań w różnych witrynach (CSRF)?

Istnieje wiele metod zapobiegawczych CSRF, kilka z nich to:

  • Wyloguj się z aplikacji internetowych, nie pracując przy tym.
  • Zabezpiecz swoje nazwy użytkownika i hasła.
  • Nie zezwalaj przeglądarkom na zapamiętywanie hasła.
  • Podczas pracy w aplikacji i zalogowania się do niej unikaj przeglądania.

Tokeny przeciw CSRF

Najczęstszą implementacją służącą do zatrzymania fałszowania żądań między witrynami (CSRF) jest użycie tokenu powiązanego z wybranym użytkownikiem, który może być znaleziony jako ukryta forma w każdym stanie, forma dynamiczna obecna w aplikacji online.

1. Ten token zwany tokenem CSRF działa w następujący sposób:

  • Klient żąda strony HTML, która ma formularz.
  • W odpowiedzi na to żądanie serwer dołącza dwa tokeny. Wysyła jeden jako plik cookie i przechowuje inne tokeny w ukrytym polu formularza. Te tokeny są generowane losowo.
  • Klient wysyła oba tokeny z powrotem do serwera po przesłaniu formularza. Token cookie jest wysyłany jako token, a token formularza przesyłany jest w danych formularza
  • Serwer nie odpowiada lub odrzuca żądanie, jeśli żądanie nie zawiera obu żądań.

Teraz atakujący, który próbuje sfałszować żądanie, będzie musiał odgadnąć tokeny anty-CSRF wraz z hasłami uwierzytelniającymi użytkownika. Tokeny te tracą ważność po pewnym czasie i po zakończeniu sesji. To sprawia, że ​​atakujący zgaduje, że token jest trudny.

2. Pliki cookie tej samej witryny

Niektóre pliki cookie są powiązane z miejscem pochodzenia lub witryną, a gdy żądanie jest wysyłane do tego konkretnego miejsca, pliki cookie są wysyłane wraz z nim. Takie żądania nazywane są wnioskami z różnych źródeł. Podczas tego procesu pliki cookie są wysyłane do stron trzecich, co umożliwia ataki CSRF.

3. Ten sam atrybut pliku cookie witryny

  • Aby zapobiec atakom CSRF, można użyć tego samego atrybutu pliku cookie witryny. Wyłącza korzystanie przez strony trzecie z określonego pliku cookie.
  • Dokonuje tego serwer podczas ustawiania pliku cookie; następnie prosi przeglądarkę o wysłanie pliku cookie tylko wtedy, gdy użytkownik bezpośrednio korzysta z aplikacji internetowej.
  • Teraz, jeśli ktoś spróbuje poprosić o coś z aplikacji internetowej, przeglądarka nie wyśle ​​ciasteczka.
  • Jednak zapobiega atakowi CSRF.

Ma to ograniczenia, te same pliki cookie na stronie nie są obsługiwane w nowoczesnych przeglądarkach, a aplikacje internetowe korzystające z plików cookie na tej samej stronie nie są obsługiwane w starszych przeglądarkach.

Przykłady CSRF

Poniżej wyjaśniliśmy kilka przykładów CSRF:

1. Korzystanie z żądań GET:

Załóżmy, że zaimplementowałeś i zaprojektowałeś witrynę internetową banking.com, aby wykonywać działania, takie jak transakcje online, za pomocą żądań GET. Teraz może skorzystać z inteligentnego napastnika, który wie, jak stworzyć złośliwy adres URL element, aby przeglądarka po cichu załadowała stronę

Przykład elementu obrazu HTML zawierającego złośliwy adres URL:

2. Do wykonania tego samego można użyć jednej z poniższych technik:

  • Wysyłając wiadomość e-mail zawierającą treść HTML
  • Poprzez umieszczenie skryptu lub złośliwego adresu URL na stronach, które użytkownik może odwiedzić podczas dokonywania transakcji online.

3. Korzystanie z żądań POST

Istnieje ogólne nieporozumienie dotyczące żądań HTTP POST, że można zapobiec atakom CSRF, zezwalając na żądania HTTP POST, co w rzeczywistości nie jest prawdą. Osoba atakująca może utworzyć formularz przy użyciu HTML lub JavaScript i użyć funkcji automatycznego przesyłania w celu przesłania żądania POST bez konieczności klikania przycisku przesyłania przez użytkownika.

Wniosek

Pliki cookie są wrażliwe, ponieważ są wysyłane automatycznie wraz z żądaniem, co pozwala atakującym na wdrożenie CSRF i wysyłanie złośliwych żądań. Wpływ luki w CSRF zależy również od przywileju ofiary, której plik cookie jest wysyłany na żądanie atakującego. Chociaż pobieranie danych nie jest głównym zakresem ataku CSRF, zmiany stanu z pewnością będą miały niekorzystny wpływ na wykorzystywaną aplikację internetową. Dlatego zaleca się zapobieganie stosowaniu przez witrynę metod profilaktycznych w celu zabezpieczenia witryny przed CSRF.

Polecane artykuły

To był przewodnik po CSRF. Tutaj omawialiśmy Kluczową koncepcję, Tokeny anty-CSRF, jak działa i przykłady CSRF. Możesz także przejrzeć nasze inne Sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest Java Hibernacja?
  2. Co to jest ASP.NET?
  3. Co to jest AWS Lambda?
  4. Co to jest XHTML?