Эта чудесная история произошла несколько лет назад. Если вы не читали об этом раньше, сейчас мы разложим все по полочкам. А если вы уже знаете об этом, можете поделиться историей с друзьями. Я думаю, что это одновременно забавная и действительно отличная демонстрация уязвимостей межсайтового скриптинга.

В первую очередь, разберёмся в терминах и дадим определение [XSS][xss]: [xss]: https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника. Является разновидностью атаки «внедрение кода».

Если это не понятно, то давайте перейдём к примеру. Это приложение TweetDeck. Это должно прояснить ситуацию.

{{< tweet 476764918763749376 >}}

TweetDeck --- это стороннее приложение (клиент) для Twitter. Он позволяет использовать несколько аккаунтов одновременно, разделять экран на несколько колонок и прочие функции для тех кто много сидит в Twitter. В итоге этот клиент был куплен компанией Twitter за $40 миллионов. После покупки TweetDeck смог читать данные напрямую от Twitter'a. И в тоже время после переключения на "сырые" данные появилась уязвимость, так как они обрабатывали приходящие данные, а сразу их показывали конечному пользователю. Таким образом код, который находился в твите мог выполняться на стороне клиента. 😐

Код твита

Рассмотрим буквально по буквам что представлял из себя твит.

<script class="xss">

Это код открытия script элемента, с классом "xss". Это обыкновенный HTML тег, который выполнится браузером.

$(".xss");

Это уже JavaScript код, использующий библиотеку jQuery.

Это пока оставлю, так как статься в основном была для того чтоб проверить возможности и все. Ссылки на оригинал находятся под шапкой слева (в белой полосе) Если что, пишите в комментарии.


https://dev.to/ben/my-all-time-favorite-demonstration-of-a-cross-site-scripting-attack


https://github.com/grishy/blog/blob/hugo/content/post/my-all-time-favorite-demonstration-of-a-cross-site-scripting-attack.md