web

Пример XSS атаки на магазины Shopify и Хранимый XSS на Yahoo Mail

Настройки магазинов Shopify включают возможность изменить форматирование валюты. 9 декабря было сообщено, что значения из этих полей ввода не были надлежащим образом очищены при настройке страниц в социальных сетях.

Другими словами, злоумышленник мог настроить магазин и изменить настройки валюты для магазина следующим образом:

Скриншот форматирования валюты Shopify

Далее, пользователь мог включить каналы продаж в социальных сетях, в случае отчета, Facebook и Twitter, и когда пользователи кликали на вкладку канала продаж, выполнялся Javascript, вызывающий XSS.

XSS-уязвимости возникают при небезопасном рендере Javascript. Есть вероятность, что текст будет использован в нескольких местах на сайте, так что исследовать нужно каждый уголок. В этом случае Shopify не осуществлял проверку на XSS на страницах оплаты и магазина, поскольку пользователи имеют возможность использовать Javascript в своих собственных магазинах. Эту уязвимость можно было бы списать со счетов, если бы не возможность использования значения, введенного в поле, на внешних сайтах социальных сетей.

Ссылка на отчет: https://hackerone.com/reports/104359

[ad name=»test3″]

Хранимый XSS на Yahoo Mail

Редактор почты Yahoo позволял людям вставлять изображения в письма через HTML, с помощью тега IMG. Эта уязвимость обнаруживается, когда тег IMG некорректно сформирован или невалиден.

Большинство HTML-тегов принимают атрибуты, дополнительную информацию о HTML-теге. Например, тег IMG принимает атрибут src, указывающий расположение вставляемого

изображения. Более того, некоторые атрибуты являются булевыми, что значит, что если они включены, они означают значение true в HTML, а когда они пропущены, они равны false.

Зная об этой уязвимости, Jouko Pynnonen обнаружил, что если он добавит булевы атрибуты со значениями к HTML-тегам, Yahoo Mail удалит значения, но оставит знаки равенства. Вот пример с сайта Klikki.fi:

1  <INPUT TYPE=”checkbox” CHECKED=”hello” NAME=”check box”>

Здесь, тег input может включать в себя атрибут checked, определяющий, должен ли чекбокс быть помеченным включенным или выключенным. В соответствии с парсингом, описанным выше, эта конструкция превращалась в следующее:

<INPUT TYPE=”checkbox” CHECKED= NAME=”check box”>

Обратите внимание, что HTML уже не содержит значения для атрибута checked, но по-прежнему содержит знак равенства.

Это выглядит безобидно, но в соответствии с HTML-спецификациями, браузеры читают это как если бы атрибут CHECKED имел значение NAME=”check” и третий атрибут box, у которого нет значения. Это происходит из-за того, что HTML позволяет вставлять ноль или более символов пробела вокруг знака равенства при указании значения атрибута без кавычек.

Чтобы использовать это, Jouko отправил следующий IMG тег:

<img ismap=’xxx’ itemtype=’yyy style=width:100%;height: 2 100%;position:fixed;left:0px;top:0px; onmouseover=alert 3 (/XSS/)//’>

а Yahoo Mail отфильтровал его, и в результате получилось это:

<img ismap=itemtype=yyy style=width:100%;height:100%;po sition:fixed;left:0px;top:0px; onmouseover=alert(/XSS/) //>

В результате, браузер отрисовывал бы IMG-тег, занимающий все окно браузера, а при наведении мыши на изображение, выполнялся бы Javascript.

[ad name=»Responbl»]

Выводы

Передача некорректного или сломанного HTML — отличный способ тестирования того, как сайты парсят ввод. Для белого хакера важно думать нестандартно и рассматривать вещи, кото- рые могли не предусмотреть разработчики. На- пример, с обычными тегами изображениями, что произойдет, если вы передадите два атрибута src? Как будет отрисовано изображение?

Ссылка на отчет: https://klikki.fi/adv/yahoo.html

 

Click to rate this post!
[Total: 11 Average: 4.6]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

12 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

1 год ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

1 год ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

1 год ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

1 год ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

1 год ago