Cross-site scripting jest jednym z popularnych metod ataku hakerskiego na konkretny serwis WWW. Jest to wyjątkowo podstępny sposób na to, by skłonić daną witrynę do wykonania niepożądanej akcji, w momencie kiedy jest ona odwiedzana przez użytkowników. Co ciekawe, ataki typu, cross-site scripting są w stanie obejść niektóre systemy zabezpieczeń, a także inne mechanizmy kontroli, jakie zostały w danej witrynie zamieszczone.
Czym jest cross-site scripting?
Cross-site scripting – zgodnie z tym co już zostało wspomniane – jest rodzajem ataku hakerskiego na stronę internetową. Cyberprzestępca osadza w kodzie źródłowym atakowanej witryny opracowany kod. To właśnie on skłania witrynę do wykonania niepożądanych działań lub akcji w momencie, kiedy jest ona przeglądana przez użytkowników. Atak cross-site scripting odnosi się nie tylko do samych witryn WWW, ale także do różnych aplikacji internetowych czy też formularzy sieciowych. Złośliwy kod zwykle napisany jest w języku skryptowym (stąd też nazwa cross-site scripting) jak np. JavaScript czy PHP. Może on zrobić z daną witryną dosłownie wszystko – od jej kompletnego zdewastowania, aż po kradzież haseł czy danych logowania.
Jak działa atak typu cross-site scripting?
Atak cross-site scripting jest wyjątkowo podstępny, gdyż haker korzysta z pośrednika, którą jest dana strona internetowa. To właśnie klikając w daną witrynę, złośliwy kod źródłowy po prostu dostanie się na komputer ofiary i go zainfekuje. Co ciekawe, cyberprzestępcy nie muszą już korzystać z uprzywilejowanych serwerów i ukradkiem przemycać złośliwych kodów. Takie możliwości – niestety – dają im nowoczesne witryny oraz sposób, w jaki są one konstruowane. Podsumowując, atak cross-site scripting polega na wykorzystaniu swoistej interakcji jaka zachodzi pomiędzy daną witryną, a samym internautą. Warto również mieć świadomość tego, iż ataki cross-site scripting dzielą się na trzy, zasadnicze rodzaje:
- cross-site scripting odbity – w tym wypadku wysłany kod – paradoksalnie – wysłany jest z komputera ofiary do wyszukiwarki Google, a następnie powraca i nigdy nie jest przechowywany na serwerze;
- cross-site scripting oparty na DOM – jest to atak podobny do ataku odbitego. Jedyną różnicą jest fakt, iż złośliwy kod jest najczęściej przekazywany w formie parametru konkretnej funkcji JavaScript;
- cross-site scripting przechowywany – w tym wypadku cyberprzestępca korzysta z witryny funkcji, które pozostają interaktywne i zapisuje złośliwy kod w serwerze.
Warto również pamiętać, iż niektóre witryny cechują się większą podatnością na ataki typu cross-site scripting niż inne.
Jak zapobiegać atakom cross-site scripting?
Zapobieganie atakom cross-site scripting powinno odbywać się już na poziomie projektowania witryny lub aplikacji. Istnieje konieczność skorzystania z filtracji danych wejściowych, by ewentualny kod był odbijany do użytkownika. Warto także regularnie testować witrynę i sprawdzać jej podatność na ataki typu cross-site scripting. W ten sposób będzie można trzymać przysłowiową rękę na pulsie.