Co to jest skrypty między witrynami (XSS) i dlaczego stanowi zagrożenie dla bezpieczeństwa

  • Brian Curtis
  • 0
  • 4081
  • 738
Reklama

Luki w skryptach między witrynami stanowią obecnie największy problem bezpieczeństwa witryny. Badania wykazały, że są szokująco częste - 55% stron internetowych zawierało luki w zabezpieczeniach XSS w 2011 r., Zgodnie z najnowszym raportem White Hat Security opublikowanym w czerwcu 2012 r. Podczas gdy większość ludzi słyszała o wirusach komputerowych Krótka historia 5 najgorszych wirusów komputerowych Cały czas Krótka historia 5 najgorszych wirusów komputerowych wszechczasów Słowo „wirus” i jego związek z komputerami został umieszczony przez amerykańskiego informatyka Fredericka Cohena, który użył go do opisania „programu, który może„ zainfekować ”inne programy poprzez ich modyfikację w celu uwzględnienia ewentualnie… i innych takich problemów, luki w XSS pozostają nieznane przeciętnej osobie.

Luka w skryptach umożliwiająca atak między witrynami umożliwia osobie atakującej wykonanie dowolnego kodu JavaScript (z innej strony) na stronie internetowej. Kod jest wykonywany na stronie internetowej w przeglądarce użytkownika.

Przykład - robak StalkDaily na Twitterze

Rzućmy okiem na atak XSS, który miał miejsce w przeszłości za pomocą Twittera. W 2009 roku robak StalkDaily Jaka jest różnica między robakiem, trojanem i wirusem? [MakeUseOf wyjaśnia] Jaka jest różnica między robakiem, trojanem i wirusem? [MakeUseOf wyjaśnia] Niektóre osoby nazywają każdy rodzaj złośliwego oprogramowania „wirusem komputerowym”, ale to nie jest dokładne. Wirusy, robaki i trojany to różnego rodzaju złośliwe oprogramowanie o różnych zachowaniach. W szczególności rozprzestrzeniły się w bardzo… rozprzestrzenionym na całym Twitterze. Gdy użytkownik Twittera odwiedził stronę profilu zainfekowanego użytkownika, jego strona profilu również została zainfekowana, rozprzestrzeniając robaka. Robak wysyłał również tweety z każdego zainfekowanego konta.

Jak dokładnie działał robak StalkDaily? Czy ktoś włamał się do serwerów Twittera? Niezupełnie - chociaż był to rodzaj włamania.

Każdy użytkownik Twittera może ustawić krótką biografię na swojej stronie profilu. Użytkownicy wpisują tekst w polu profilu, a po zapisaniu profilu tekst pojawia się na stronie profilu. Ktoś zdał sobie sprawę, że Twitter nie zdezynfekował poprawnie tekstu wprowadzonego z pola bio (przejdziemy do tego później) - po prostu umieścił tekst wprowadzony przez użytkowników bezpośrednio w kodzie źródłowym strony internetowej. Umożliwiło to użytkownikowi wprowadzenie znacznika HTML, który ładuje plik JavaScript z serwera WWW innej firmy.

Gdy inny użytkownik Twittera odwiedził zainfekowaną stronę profilu, jego przeglądarka załadowała skrypt. Skrypt miał pełny dostęp do wszystkiego, co oficjalny kod Twittera użył na stronie - dzięki czemu skrypt mógł poprosić o cookie użytkownika Twittera (które przechowuje stan logowania użytkownika) i nazwę użytkownika z przeglądarki. Skrypt następnie wysłał te informacje z powrotem do zewnętrznego serwera WWW. Dzięki tym szczegółom zewnętrzny serwer sieciowy może uwierzytelnić się jako użytkownik Twittera, zmodyfikować biografię użytkownika, aby rozprzestrzeniać robaka, i wysłać tweety z konta użytkownika.

Jak programiści mogą zapobiegać atakom XSS

Jedna prosta zasada pozwala twórcom stron internetowych Jak stwierdzić, czy ktoś jest dobrym programistą WWW dla twojego projektu Jak powiedzieć, czy ktoś jest dobrym programistą WWW dla twojego projektu Wybranie kogoś do zbudowania strony internetowej nie jest łatwym zadaniem. Nawet jeśli nie budujesz następnego Gmaila, za pierwszym razem powinieneś robić wszystko dobrze. Ale wybranie dobrego ... aby zapobiec atakom skryptowym między witrynami: nie ufaj żadnym informacjom pochodzącym od użytkowników. Na przykład w przypadku Twittera nie powinni ufać użytkownikom tekstu wprowadzonym do ich bioboksów. Twitter powinien był wziąć tekst i “zdezynfekowany” lub “uciekł” to - na przykład, należy zmienić nao