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.

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 http://www.example.com/dir/inner/other.html https://www.example.com/dir2/other.html inny protokół http://en.example.com/dir2/other.html inny serwer http://example.com/dir2/other.html inny serwer http://www.example.com:81/dir2/other.html inny port