Netencyclo, The wikipedia mirror - The biggest multilingual encyclopedia : Cross-site scripting

- Cross-site scripting -

Cross-site scripting :

Outils :

Vous avez un site web ? Un blog ?

 Netencyclo Directory Project 




Mettre en favoris !

Add to Netvibes
Technorati reactions
rencontre

Cross-site scripting

Z Wikipedii

Skocz do: nawigacji, szukaj

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 liczba doniesień o podatności istotnych serwisów na ataki XSS. Poniżej kilka przykładów:

[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

rencontre

Cross-site scripting - En savoir plus

Rencontre Cross-site scripting - Articles à  la une


"Je rencontre quelques peines, je rencontre beaucoup de joie, c'est parfois une question de chance, souvent une rencontre de choix."
© 2009 Netencyclo - Netencyclo Home - Terms of Service - Privacy Policy - Program Policies
Netencyclo, the Wikipedia mirror : the biggest multilingual free-content encyclopedia on the Internet. Cet article, miroir de l'article de Wikipédia est conforme aux termes de la GFDL All Wikipedia content is licensed under the GNU Free Documentation License (see details). Content on this web site is provided for informational purposes only. We accept no responsibility for any loss, injury or inconvenience sustained by any person resulting from information published on this site. We encourage you to verify any critical information with the relevant authorities.