Грядет сезон распродаж, близится Черная пятница, а согласно исследованиям, количество кибератак на онлайн-магазины удвоилось с 2016 года. Специалисты компании Check Point призвали пользователей быть очень внимательными во время новогоднего шопинга и в преддверии Черной Пятницы, а в качестве иллюстрации своих слов рассказали о баге, который недавно был обнаружен на AliExpress.

Уязвимость на сайте AliExpress была выявлена еще 9 октября 2017 года, и уже через два дня, 11 октября, проблему устранили. Баг позволял злоумышленникам присылать пользователям ссылки на страницы AliExpress, содержащие вредоносный код Javascript. Когда жертва открывала такую ссылку, в ее браузере выполнялся вредоносный код, а защита AliExpress от XSS-атак оказывалась бессильна из-за уязвимости open redirect на сайте.

Исследователи объясняют, что AliExpress имеет множество поддоменов и сайтов, принадлежащих Alibaba Group. К примеру, специалисты обнаружили, что us.cobra.aliexpress.com не совсем корректно работает с параметром cb. Манипуляции с данным параметром позволили исследователям добавиться выполнения произвольного JavaScript кода на поддомене AliExpress.

Но отправка вредоносного пейлоада напрямую жертве не давала эффекта, так как AliExpress имеет простую защиту от межсайтового скриптинга. Защита базируется на проверке referer header, и если referer не задан или задан некорректно, сервер не станет работать с таким запросом.

Эксперты объясняют, что referer – это HTTP header, который идентифицирует URL веб-страницы, с которой поступил запрос. В статье исследователи приводят простой пример: если зайти на blog.checkpoint.com, referer header не будет задан, так как эта страница была открыта в первый раз:

GET /2017/03/15/check-point-discloses-vulnerability-whatsapp-telegram/ HTTP/1.1Host: blog.checkpoint.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0

Но если перейти по ссылке на YouTube, браузер добавит referer header, который сообщит YouTube, что пользователь пришел с blog.checkpoint.com:

GET /UR_i5XSAKrg HTTP/1.1Host: youtu.beUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0Referer: https://blog.checkpoint.com/2017/03/15/check-point-discloses-vulnerability-whatsapp-telegram/

Чтобы обойти защиту AliExpress, специалисты внимательно изучили, как выглядят ссылки на AliExpress, которые работают как редирект на вторую ссылку на AliExpress, которую можно подменить и осуществить внедрение вредоносного кода. Получилась ссылка следующего вида:

После этого осталось только пропустить полученную URL через любой сервис для создания коротких ссылок или «упаковать» в QR-код.

Переход по такой ссылке переадресует жертву на страницу логина AliExpress, куда будет внедрен JavaScript  отображающий фальшивый popup:

Подобное поведение не вызовет подозрения у пользователей. Дело в том, что сайт часто использует скидочные купоны для привлечения пользователей, и во время визита на AliExpress нередко можно увидеть рекламу, которая предлагает посетителю ввести данные своей банковской карты, сделав работу с ресурсом более удобной, а также попутно выиграть купон на скидку.

Если атакующий найдет способ осуществить инъекцию кода, он сможет подорвать логику работы защитных механизмов и создать пейлоад, который может выглядеть следующим образом:

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

6 комментариев

  1. john_

    22.11.2017 at 08:19

    Опаснееько. Китайцы быстро исправили.

  2. PenGenKiddy

    22.11.2017 at 14:47

    Ну нашли они XSS и что? Ничего «супер опасного» в ней нету, как минимум из за необходимости обхода X-XSS-Auditor для исполнения скриптов, плюсом почти все сайты по типу AliExpress, BangGood и тп уязвимы для атак JSONP и XSS. Лично я выслал уже более 20 уязвимостей им…
    А на счет обычной формы, нужно для начала «словить трафф», к тому же кардеров, которые разбираются в XSS мало, а кредитку отозвать дело 5 секунд

    • Egor3f

      26.11.2017 at 09:20

      Судя по видео, окошко ввода данных сделано весьма правдоподобно, имхо множество простых юзеров поведутся. Большинство из них поймут, что данные карты украли, только когда она уже будет обналичена дропом.
      Кардеры и не должны разбираться в XSS. Те, кто разбирается, сливают пачки «номер/дата/cvv» за копейки, а потом уже кардеры их обналививают. А уязвимость вообще может быть обнаружена кем-то третьим и впоследствии продана скрипткидди.

    • P_3_

      26.11.2017 at 12:31

      За найденные уязвимости благодарность финансовую получили?

    • snowden

      26.11.2017 at 13:30

      Да ладно, нашли — так молодцы (+ за байпас Referer), я вот многих знаю на H1, кто лишь попапит alert(1), или куки, там импакт тоже не очевиден (наверное, каждый white-hat так любит свою XSS, что считает именно свой попап достаточным доказательством убер-опасности).
      Под X-XSS-Auditor наверное имелся в виду x-xss-protection, так как байпасы к аудитору есть постоянно (что-то фиксится, что-то находится), но я никогда не слышал, чтобы этот хедер останавливал кого-то. Против DOM XSS он бесполезен, равно как против Reflected в секции.

    • snowden

      02.12.2017 at 19:29

Оставить мнение