>
Сентябрь 2017
Пн Вт Ср Чт Пт Сб Вс
« Авг    
 123
45678910
11121314151617
18192021222324
252627282930  

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

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

Картинки по запросу xss attack

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

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

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

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

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

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

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

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

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

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

Картинки по запросу xss attack

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

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

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

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

Картинки по запросу xss attack yahoo

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

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

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

Выводы

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

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

 

Share Button
[Всего голосов: 11    Средний: 4.6/5]

Вам может быть интересно также:

Last updated by at .

Leave a Reply

You can use these HTML tags

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">