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