Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Cross-site scripting - Wikipedia, wolna encyklopedia

Cross-site scripting

Z Wikipedii

Cross-site scripting (XSS) – sposób ataku na serwis WWW polegający na osadzeniu w treści atakowanej strony kodu (zazwyczaj JavaScript), który wyświetlony innym użytkownikom może doprowadzić do wykonania przez nich niepożądanych akcji. Skrypt umieszczony w zaatakowanej stronie może obejść niektóre mechanizmy kontroli dostępu do danych użytkownika.

Spis treści

[edytuj] Mechanizm działania

Przeglądarki internetowe udostępniają skryptom jedynie te obiekty, które pochodzą z tego samego źródła, co strona, w której kontekście dany skrypt się wykonuje. Posługują się przy tym zasadą tożsamego pochodzenia (ang. same origin policy), która zezwala na dostęp do zasobów stron, których adres wyróżnia się takim samym protokołem, nazwą domeny serwera i numerem portu. Poniższa tabela podaje kilka przykładów stron wraz z informacją, czy ich pochodzenie jest zgodne z adresem "http://www.example.com/dir/page.html".

Adres Zgodny Komentarz
http://www.example.com/dir2/other.html tak
http://www.example.com/dir/inner/other.html tak
https://www.example.com/dir2/other.html nie inny protokół
http://en.example.com/dir2/other.html nie inny serwer
http://example.com/dir2/other.html nie inny serwer
http://www.example.com:81/dir2/other.html nie inny port

Obostrzenia w dostępie są szczególnie istotne w przypadku ciasteczek, które bardzo często wykorzystywane są do utrwalenia uwierzytelnienia. Jeśli kod napastnika znajdzie się w treści atakowanego serwisu, posiądzie nie tylko możliwość zmodyfikowania wyglądu tej strony, ale również pozyskania i przesłania (patrz XMLHTTP) innym potencjalnie istotnych danych. Gdyby ten sam kod został umieszczony na innej stronie, przeglądarka ofiary odmówiłaby mu dostępu do zasobów związanych z atakowaną witryną.

[edytuj] Okoliczności występowania

Aby atak XSS był możliwy witryna musi prezentować treść przekazaną od użytkownika jako kod HTML serwisu, bez uprzedniej konwersji tekstu na HTML (poprzez zamianę specjalnych znaków HTML na encje). Ochrona przed XSS poprzez samą weryfikację i filtrowanie niebezpiecznych danych jest bardzo trudna[1].

Jeśli treść zawierająca spreparowany skrypt prezentowana jest wyłącznie w odpowiedzi na to konkretne zapytanie, podatność określana jest jako non-persistent XSS i z reguły może być każdorazowo użyta tylko wobec pojedynczych ofiar. Jeśli serwis zapamiętuje przesłaną treść i prezentuje ją kolejnym odwiedzającym (np. na forum internetowym), atak określany jest jako persistent XSS i jego jednorazowe wykorzystanie może posłużyć do naruszenia bezpieczeństwa kont tysięcy użytkowników[2].

Ze względu na szeregową strukturę dokumentów HTML i trudność oddzielenia kodu JavaScript od znaczników kontrolujących prezentację treści, a także ze względu na wady przewidzianych przez JavaScript mechanizmów zabezpieczeń, podatności tego typu są niezwykle częstym problemem we współczesnych dynamicznych witrynach WWW, zwłaszcza w tak zwanych stronach Web 2.0, a ich wyeliminowanie wymaga dużej staranności.

W rzadkich sytuacjach, gdy serwis WWW nie umożliwia użytkownikom dodawania treści, wykorzystanie luki typu SQL Injection może być skuteczną metodą przeprowadzenia ataku persistent XSS. Umożliwia to zmianę danych zapisanych w bazie danych, a w konsekwencji przyczynia się do rozprzestrzenienia złowrogiego skryptu na wszystkich użytkowników strony.

[edytuj] Przykłady

Wraz z upowszechnianiem się aplikacji webowych, rośnie ilość doniesień o podatności istotnych serwisów na ataki XSS. Poniżej kilka przykładów:

  • Dwie luki w bezpieczeństwie wyszukiwarki Google zostały opublikowane w grudniu 2005 roku przez Yaira Amita[3]. Błędy typu non-persistent XSS pozwalały atakującemu na umieszczenie dowolnie wybranej treści na stronach firmy Google. Atak ten mógł zostać np. wykorzystany do przygotowania specjalnej strony pozyskującej dane użytkowników przy pomocy techniki phishingu.
  • Ataki non-persistent XSS, wykorzystujące luki w stronach internetowych magazynów CBS News i BBC, umożliwiły w sierpniu 2006 pewnemu dowcipnisiowi na rozpowszechnienie fałszywej informacji o nominacji dziewięciolatka na szefa departamentu bezpieczeństwa informatycznego w USA[4].
  • Luka w algorytmach filtrujących kod HTML w mailach przychodzących do użytkowników systemu pocztowego Hotmail pozwalała w październiku 2001 atakującemu na kradzież ciasteczek potwierdzających autoryzację w profilu Windows Live ID[5]. Choć problem został szybko naprawiony, podobne luki pojawiały się w innych usługach, których uwierzytelnienie oparte było na usłudze .NET Passport.
  • 13 października 2005 wirus Samy rozprzestrzenił się (przy pomocy ataku persistent XSS) w portalu MySpace, w wyniku czego miliony użytkowników nieświadomie wysłały prośbę o dodanie do grona swoich przyjaciół twórcy wirusa - Samy'ego Kamkara oraz rozesłała wirusa do pozostałych swoich znajomych.
  • W styczniu 2008 luka non-persistent XSS w internetowym serwisie włoskiego banku Banca Fideuram umożliwiała podmianę fragmentu strony logowania[6]. Umożliwiło to atakującym przygotowanie trudnego do wykrycia phishingu, w którego następstwie użytkownicy mogli nieświadomie przekazać swoje dane autoryzacyjne osobom postronnym.

[edytuj] XSS a CSS

Cross-site scripting czasami skracany jest jako "CSS", co może być przyczyną nieporozumień - nie ma to nic wspólnego z kaskadowymi arkuszami stylów, które częściej określane są tym skrótem.

Przypisy

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com