Czym jest Cross-site-scripting ?

Czym jest Cross-site-scripting ?

Cross-site-scripting (znane również jako XSS) to luka w zabezpieczeniach sieci Web, która pozwala osobie atakującej na złamanie interakcji użytkowników z aplikacją zawierającą lukę. Umożliwia osobie atakującej obejście tej samej zasady pochodzenia, która ma na celu oddzielenie różnych witryn sieci Web od siebie wzajemnie. Luki w zabezpieczeniach cross-site-scripting zwykle umożliwiają atakującemu na podszywanie się pod użytkownika będącego ofiarą, na wykonywanie wszelkich działań, które użytkownik jest w stanie wykonać, oraz na dostęp do dowolnych danych użytkownika. Jeśli użytkownik ofiary ma uprzywilejowany dostęp do aplikacji, osoba atakująca może uzyskać pełną kontrolę nad wszystkimi funkcjami i danymi aplikacji.

 

Istnieją trzy główne typy ataków XSS. Są to:

  • Reflected XSS – gdzie złośliwy skrypt pochodzi z bieżącego żądania HTTP.
  • Stored XSS – gdzie złośliwy skrypt pochodzi z bazy danych witryny.
  • DOM-based XSS – gdzie luka występuje w kodzie po stronie klienta, a nie w kodzie po stronie serwera.

 

Jak zapobiegać atakom Cross-site-scripting (XSS) ?

Zapobieganie atakom cross-site-scripting jest w niektórych przypadkach trywialne, ale może być znacznie trudniejsze w zależności od złożoności aplikacji i sposobu, w jaki obsługuje ona dane kontrolowane przez użytkownika. Ogólnie rzecz ujmując, skuteczne zapobieganie podatności XSS będzie wymagało połączenia następujących środków:

  • Filter input on arrival – w punkcie, w którym otrzymywane są dane wejściowe użytkownika, filtruj tak ściśle, jak to możliwe, na podstawie oczekiwanych lub prawidłowych danych wejściowych.
  • Encode data on output – w punkcie, w którym dane sterowane przez użytkownika są wyprowadzane w odpowiedziach HTTP, należy zakodować dane wyjściowe, aby zapobiec ich interpretacji jako aktywnej zawartości. W zależności od kontekstu wyjściowego może to wymagać zastosowania kombinacji kodowania HTML, URL, JavaScript i CSS.
  • Use appropriate response headers – aby zapobiec XSS w odpowiedziach HTTP, które nie mają zawierać kodu HTML ani JavaScript, możesz użyć nagłówków Content-Type i X-Content-Type-Options, aby upewnić się, że przeglądarki interpretują odpowiedzi w zamierzony sposób.
  • Content Security Policy – ostatnią linią obrony jest stosowanie zasad bezpieczeństwa treści (CSP), aby zmniejszyć wagę wszelkich nadal występujących luk w zabezpieczeniach XSS.

W celu uzyskania szczegółowych informacji jak bronić się przed atakami typu XSS, CERT Energa rekomenduje zapoznanie się z artykułem Organizacji OWASP: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w ustawieniach przeglądarki.

Rozumiem