Эксперты Check Point обнаружили опасный баг на сайте AliExpress

Грядет сезон распродаж, близится Черная пятница, а согласно исследованиям, количество кибератак на онлайн-магазины удвоилось с 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)

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

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

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

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

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