Fałszerstwo żądań między witrynami (CSRF) to jeden z najstarszych sposobów wykorzystywania luk w zabezpieczeniach witryny internetowej. Jest skierowany do przełączników internetowych po stronie serwera, które zwykle wymagają uwierzytelniania, takiego jak logowanie. Podczas ataku CSRF osoba atakująca próbuje zmusić swoją ofiarę do wykonania nieautoryzowanego, złośliwego żądania internetowego w jej imieniu.

Słabe lub słabe praktyki bezpieczeństwa witryny oraz nieostrożność na ścieżce użytkownika to jedne z typowych przyczyn udanego ataku CSRF.

Przyjrzyjmy się, czym jest atak CSRF i jakie są możliwe sposoby, aby się przed nim uchronić jako programista lub użytkownik.

Jak wpływają na Ciebie ataki CSRF?

CSRF to atak używany do implementacji nieautoryzowanych żądań podczas działań internetowych, które wymagają logowania użytkownika lub uwierzytelnienia. Ataki CSRF mogą wykorzystywać identyfikatory sesji, pliki cookie, a także inne luki w zabezpieczeniach serwera w celu kradzieży danych uwierzytelniających użytkownika.

instagram viewer

Na przykład włączenie procedur anty-CSRF zapobiega złośliwym interakcjom między domenami.

Po przełamaniu tej bariery osoba atakująca może szybko wykorzystać identyfikator sesji użytkownika za pośrednictwem plików cookie utworzonych przez przeglądarkę użytkownika i osadzić tag skryptu w podatnej na ataki witrynie internetowej.

Manipulując identyfikatorem, osoba atakująca może również przekierować odwiedzających na inną stronę internetową lub wykorzystać lukę w zabezpieczeniach metody inżynierii społecznej jak e-mail do wysyłania linków, zachęcających ofiarę do pobrania złośliwego oprogramowania.

Co to jest inżynieria społeczna? Oto, jak możesz zostać zhakowany

Dowiedz się, w jaki sposób inżynieria społeczna może na Ciebie wpłynąć, oraz popularne przykłady, które pomogą Ci zidentyfikować te schematy i zachować bezpieczeństwo.

Gdy ofiara wykona takie działania, wysyła żądanie HTTP do strony serwisowej użytkownika i autoryzuje działanie żądania na korzyść atakującego. To może być katastrofalne dla niczego niepodejrzewającego użytkownika.

Udany atak CSRF może spowodować, że autoryzowani użytkownicy stracą poświadczenia dostępu do atakującego, zwłaszcza podczas działań na serwerze, takich jak żądania zmiany hasła lub nazwy użytkownika. W gorszych scenariuszach atakujący przejmuje całą sesję i działa w imieniu użytkowników.

CSRF był używany do przechwytywania transakcji funduszy przez Internet, a także do zmiany nazw użytkowników i haseł, co prowadzi do utraty dostępu do usługi, której dotyczy problem.

Jak atakujący przejmują twoje sesje za pomocą CSRF: przykłady

Głównymi celami ataków CSRF są akcje internetowe wymagające uwierzytelnienia użytkownika. Aby odnieść sukces, potrzebuje niezamierzonych działań ofiary.

Podczas ataku CSRF głównymi celami atakującego są akcje GET, DELETE i PUT, a także wrażliwe żądania POST.

Spójrzmy na znaczenie tych terminów:

  • OTRZYMAĆ: Żądanie pobrania wyniku z bazy danych; na przykład wyszukiwarka Google.
  • POCZTA: Zwykle do przesyłania wniosków za pośrednictwem formularzy internetowych. Żądanie POST jest powszechne podczas rejestracji lub logowania użytkownika, inaczej nazywanego uwierzytelnianiem.
  • KASOWAĆ: Aby usunąć zasób z bazy danych. Robisz to za każdym razem, gdy usuwasz swoje konto z określonej usługi internetowej.
  • POŁOŻYĆ: Żądanie PUT modyfikuje lub aktualizuje istniejący zasób. Przykładem jest zmiana nazwy na Facebooku.

W praktyce osoby atakujące wykorzystują przechwytywanie sesji, aby wykonać kopię zapasową ataku CSRF. Korzystając z tej kombinacji, napastnik może wykorzystać przejęcie, aby zmienić adres IP ofiary.

Zmiana adresu IP następnie rejestruje ofiarę na nowej stronie internetowej, na której atakujący wstawił oszukańczy odsyłacz, który przesyła zreplikowany formularz lub zmodyfikowane żądanie serwera utworzone przez CSRF.

Niczego nie podejrzewający użytkownik uważa następnie, że przekierowanie pochodzi od usługodawcy i klika łącze na stronie internetowej osoby atakującej. Gdy to zrobią, hakerzy przesyłają formularz po załadowaniu strony bez ich wiedzy.

Przykład ataku CSRF na żądanie GET

Wyobraź sobie, że próbujesz dokonać płatności online za pośrednictwem niezabezpieczonej platformy handlu elektronicznego. Właściciele platformy używają żądania GET do przetworzenia transakcji. To zapytanie GET może wyglądać następująco:

https://websiteurl/pay? kwota = 10 USD & firma = [konto firmy ABC]

Porywacz może łatwo ukraść Twoją transakcję, zmieniając parametry żądania GET. Aby to zrobić, wystarczy, że zamienią twoje nazwisko na swoje, a co gorsza, zmienią kwotę, którą zamierzasz zapłacić. Następnie dostosowują oryginalne zapytanie do czegoś takiego:

https://websiteurl/pay? kwota = 20000 USD & firma = [konto atakującego]

Po kliknięciu łącza do zmodyfikowanego żądania GET, w końcu dokonujesz niezamierzonego transferu na konto atakującego.

Wykonywanie transakcji za pomocą żądań GET jest złą praktyką i sprawia, że ​​działania są podatne na ataki.

Przykład ataku CSRF na żądanie POST

Jednak wielu programistów uważa, że ​​używanie żądania POST jest bezpieczniejsze przy dokonywaniu transakcji internetowych. Chociaż to prawda, niestety żądanie POST jest również podatne na ataki CSRF.

Aby pomyślnie przejąć żądanie POST, osoba atakująca potrzebuje tylko Twojego identyfikatora bieżącej sesji, niektórych replikowanych niewidocznych formularzy, a czasem trochę inżynierii społecznej.

Na przykład formularz żądania POST może wyglądać następująco:







Jednak osoba atakująca może zamienić Twoje poświadczenia, tworząc nową stronę i modyfikując powyższy formularz do tego:









W zmanipulowanej formie atakujący ustawia wartość pola kwoty na „30000”, zamienia numer konta odbiorcy na ich, przesyła formularz po załadowaniu strony, a także ukrywa pola formularza przed użytkownik.

Po przejęciu bieżącej sesji strona transakcji inicjuje przekierowanie na stronę atakującego, które prosi o kliknięcie odsyłacza, o którym wiedzą, że najprawdopodobniej odwiedzisz.

Kliknięcie tego powoduje załadowanie przesłania zreplikowanego formularza, który przenosi Twoje środki na konto atakującego. Oznacza to, że nie musisz klikać przycisków takich jak „wyślij”, aby transakcja miała miejsce, ponieważ JavaScript robi to automatycznie po załadowaniu następnej strony internetowej.

Atakujący może również sporządzić wiadomość e-mail osadzoną w formacie HTML, która prosi o kliknięcie łącza w celu wykonania tego samego formularza wczytywania strony.

Inną czynnością, która jest podatna na atak CSRF, jest zmiana nazwy użytkownika lub hasła, przykład żądania PUT. Osoba atakująca powiela Twój formularz żądania i zastępuje Twój adres e-mail swoim.

Następnie kradną twoją sesję i albo przekierowują cię na stronę, albo wysyłają e-mail z prośbą o kliknięcie atrakcyjnego łącza.

Następnie przesyła zmanipulowany formularz, który wysyła link do resetowania hasła na adres e-mail hakera zamiast na Twój. W ten sposób haker zmieni hasło i wyloguje Cię z konta.

Jak zapobiegać atakom CSRF jako programista

Jedną z najlepszych metod zapobiegania CSRF jest używanie często zmieniających się tokenów zamiast polegania na plikach cookie sesji w celu zmiany stanu na serwerze.

Związane z: Darmowe przewodniki, które pomogą Ci zrozumieć cyfrowe bezpieczeństwo i chronić swoją prywatność

Wiele nowoczesnych frameworków zaplecza zapewnia ochronę przed CSRF. Więc jeśli chcesz uniknąć technicznych aspektów samodzielnego wzmacniania CSRF, możesz łatwo sobie z tym poradzić, używając struktur po stronie serwera, które są dostarczane z wbudowanymi tokenami anty-CSRF.

Gdy używasz tokena anty-CSRF, żądania oparte na serwerze generują losowe ciągi zamiast bardziej statycznych, podatnych na zagrożenia sesyjnych plików cookie. W ten sposób chronisz swoją sesję przed odgadnięciem przez porywacza.

Wdrożenie systemu uwierzytelniania dwuskładnikowego (2FA) do uruchamiania transakcji w aplikacji internetowej również zmniejsza szanse na CSRF.

Możliwe jest zainicjowanie CSRF poprzez cross-site scripting (XSS), który polega na wstrzyknięciu skryptu do pól użytkownika, takich jak formularze komentarzy. Aby temu zapobiec, dobrą praktyką jest włączenie automatycznego ucieczki HTML we wszystkich polach formularzy użytkownika w całej witrynie. Ta akcja zapobiega interpretowaniu elementów HTML przez pola formularza.

Jak zapobiegać atakom CSRF jako użytkownik

Jako użytkownik usługi sieciowej, która wymaga uwierzytelniania, masz również do odegrania rolę w zapobieganiu atakującym przed kradzieżą Twoich danych uwierzytelniających i sesji za pośrednictwem CSRF.

Upewnij się, że korzystasz z zaufanych usług internetowych podczas działań związanych z transferem środków.

Oprócz tego użyj bezpieczne przeglądarki internetowe które chronią użytkowników przed ujawnieniem sesji, a także bezpieczne wyszukiwarki, które chronią przed wyciekiem danych wyszukiwania.

Związane z: Najlepsze prywatne wyszukiwarki, które szanują Twoje dane

Jako użytkownik możesz również polegać na zewnętrznych urządzeniach uwierzytelniających, takich jak Google Authenticator lub jego alternatywy do weryfikacji Twojej tożsamości w Internecie.

Chociaż możesz czuć się bezsilny, aby powstrzymać napastnika przed przejęciem twojej sesji, nadal możesz pomóc zapobiegaj temu, upewniając się, że Twoja przeglądarka nie przechowuje informacji, takich jak hasła i inne dane logowania Detale.

Zwiększ swoje bezpieczeństwo w sieci

Deweloperzy muszą regularnie testować aplikacje internetowe pod kątem naruszeń bezpieczeństwa podczas opracowywania i wdrażania.

Jednak często wprowadza się inne luki, próbując uniemożliwić innym. Dlatego uważaj, aby nie naruszyć innych parametrów bezpieczeństwa podczas próby zablokowania CSRF.

E-mail
5 narzędzi haseł do tworzenia silnych haseł i aktualizacji zabezpieczeń

Utwórz silne hasło, które będziesz mógł później zapamiętać. Już dziś użyj tych aplikacji, aby zwiększyć swoje bezpieczeństwo dzięki nowym silnym hasłom.

Powiązane tematy
  • Bezpieczeństwo
  • Bezpieczeństwo online
O autorze
Idowu Omisola (46 opublikowanych artykułów)

Idowu jest pasjonatem wszystkiego, co inteligentne technologie i produktywność. W wolnym czasie bawi się kodowaniem, nudzi się szachownicą, ale uwielbia też od czasu do czasu oderwać się od rutyny. Jego pasja do wskazywania ludziom drogi wokół nowoczesnych technologii motywuje go do pisania więcej.

Więcej od dostawcy Idowu Omisola

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Jeszcze jeden krok…!

Potwierdź swój adres e-mail w wiadomości, którą właśnie wysłaliśmy.

.