Jaki jest najlepszy sposób na zapobieganie atakom XSS?

luki w zabezpieczeniach między stronami zostały wykorzystane przez atakujących od początku 2000 roku, a XSS znajduje się na liście 10 najważniejszych zagrożeń bezpieczeństwa dla aplikacji internetowych OWASP od 2004 roku. Jednak wielu programistów, administratorów systemu, a nawet niektórych testerów penetracyjnych nadal nie traktuje tego poważnie. Aby stać się skutecznym hakerem lub obrońcą aplikacji internetowych, musisz zrozumieć podstawy zapobiegania atakom XSS.

ataki XSS są nadal problemem

Cross-Site scripting to rodzaj luki w zabezpieczeniach aplikacji internetowych, która umożliwia atakującym wstrzyknięcie i wykonanie złośliwego kodu po stronie klienta w przeglądarce ofiary w ramach legalnej aplikacji internetowej.

wpływ i nasilenie udanych ataków XSS mogą się różnić. Ataki XSS mogą skutkować przejęciem sesji, skradzionymi tokenami, skradzionymi Plikami cookie sesji i atakami fałszerstwa żądań między witrynami. Ataki te mogą prowadzić do naruszenia kont użytkowników.

pomyślny atak XSS może również umożliwić atakującemu używanie skradzionych lub sfałszowanych plików cookie do podszywania się pod ważnych użytkowników. W przypadkach, gdy ważny użytkownik ma uprawnienia administracyjne w aplikacji, atakujący może wykorzystać te uprawnienia do zmiany stron lub zdalnego wykonywania kodu po stronie serwera aplikacji.

typy ataków XSS

istnieją trzy typy ataków XSS: stored, reflected i Document Object Model (DOM).

  1. zapisany atak XSS umożliwia atakującemu osadzenie złośliwego skryptu na Stronie Zawierającej luki, która jest następnie wykonywana, gdy ofiara wyświetla stronę. Przechowywany XSS jest uważany za najbardziej szkodliwy Typ ataku XSS. Na przykład, gdy atakujący wstrzyknie złośliwy ładunek JavaScript bezpośrednio do podatnej aplikacji internetowej, przeglądarka internetowa zapisuje wstrzyknięty ładunek JavaScript. Następnie, za każdym razem, gdy ofiara odwiedza tę stronę internetową lub aplikację internetową, złośliwy kod jest wykonywany.
  2. odbity atak XSS występuje, gdy złośliwy ładunek jest osadzony w łączu i aktywowany tylko wtedy, gdy użytkownik kliknie łącze. Tutaj złośliwy ładunek nie jest przechowywany, ale wyświetlany tylko na stronie internetowej w postaci adresu URL lub danych POST.
  3. Luka XSS oparta na DOM pojawia się, gdy DOM jest używany do generowania dynamicznej zawartości zawierającej dane wejściowe użytkownika, które mogą być przetwarzane bez sprawdzania. Ten rodzaj ataku jest przeprowadzany przy użyciu JavaScript w przeglądarce ofiary

zapobieganie atakom XSS

aby zapobiec atakom XSS, programiści muszą zweryfikować dane wejściowe użytkownika, odpowiednio filtrując lub unikając znaków specjalnych, a następnie kodując dane wyjściowe, aby zapobiec przechowywanym atakom XSS i odbitym atakom XSS. Następujące znaki specjalne należy zawsze odfiltrować lub uciec, aby zapobiec ich złośliwemu wykorzystywaniu:

<

>

)

(

&

programiści powinni zweryfikować dane wejściowe użytkownika — sources — i zakodować dane wyjściowe — sinks–, aby zapobiec atakom XSS opartym na DOM. Właściwość input source jest miejscem, z którego DOM czyta, a źródło jest miejscem, w którym atakujący może wstrzyknąć złośliwy kod, aby wykorzystać lukę XSS. Należy unikać następujących właściwości źródłowych:

  • URL
  • documentURI
  • lokalizacja
  • href
  • Szukaj
  • hash

Zlewozmywaki to punkty, w których DOM wykonuje złośliwe znaki lub kod z wejścia-źródła-które z kolei zostaje wyprowadzone na stronę internetową. Takich zlewozmywaków należy unikać, aby zapobiec atakom XSS opartym na odmowie usługi:

  • innerHTML
  • outerHTML
  • napisz

jeśli chcesz lepiej zrozumieć i zapobiegać atakom XSS, Google stworzyło stronę gry XSS, aby dowiedzieć się, jak te ataki działają i jak lepiej im zapobiegać. Projekt Mutillidae 2 firmy OWASP oferuje również cel edukacyjny dla specjalistów ds. bezpieczeństwa w sieci w celu wyostrzenia obrony przed atakami XSS.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.