Ошибка DOM-XSS, влияющая на порчу, Shopify, Yelp и многое другое
Наша команда исследователей в области безопасности занималась исследованием безопасности приложений на стороне клиента, и одной из главных целей была Tinder.
После того, как начальные шаги по разведке были выполнены, был обнаружен домен Tinder с множеством проблем безопасности на стороне клиента. хакеры могут иметь доступ к профилям и деталям пользователей.
Сразу же после обнаружения этих уязвимостей мы связались с Tinder через программу ответственного раскрытия информации и начали работать с ними..
Мы узнали, что уязвимая конечная точка принадлежит не Tinder, а branch.io, атрибутивной платформе, используемой многими крупными корпорациями по всему миру. Команда безопасности Tinder помогла нам связаться с ними, и, соответственно, они выпустили своевременное исправление.
Углубившись вглубь, мы обнаружили, что многие крупные сайты делят уязвимую конечную точку в своем коде и доменах, включая Shopify, Yelp, Western Union и Imgur. Это означает, что до 685 миллионов пользователей могут быть в опасности.
Хотя эта ошибка уже исправлена, если вы недавно использовали Tinder или любой другой уязвимый сайт, мы рекомендуем проверить, чтобы убедиться, что ваша учетная запись не была взломана. Это хорошая идея, чтобы изменить свой пароль как можно скорее.
Детали:
XSS-уязвимость, основанная на DOM, также известная как «type-0 XSS», является классом уязвимости межсайтового скриптинга, которая появляется в DOM. Это тип атаки, при котором полезная нагрузка атаки выполняется в результате изменения среды DOM в браузере жертвы, особенно в динамической среде. В XSS на основе DOM исходный код HTML и ответ атаки будут одинаковыми. Это означает, что вредоносная полезная нагрузка не может быть найдена в ответе, что чрезвычайно затрудняет выполнение встроенных в браузер функций смягчения последствий XSS, таких как Chrome XSS Auditor.
Можете ли вы определить уязвимости?
Тот факт, что эта уязвимость основана на DPM, а branch.io по-прежнему не использует CSP, облегчает использование этих уязвимостей в любом браузере, который нам нравится..
Это означало, что путем изменения стратегии перенаправления на специально созданную полезную нагрузку для управления DOM.
1. ДОМ XSS
Например, нашим первоначальным открытием было то, что конечная точка https://go.tinder.com/amp-iframe-redirect была подвержена множественным уязвимостям (sche_redirect & redirect_strategy GET-параметры управляют содержимым div).
redirect_strategy – это «INJECTIONA», а circuit_redirect – это «INJECTIONB» из кода выше.
Это означало, что, изменив redirect_strategy на полезную нагрузку dom-xss, можно было выполнить код на стороне клиента в контексте домена Tinder в любом браузере:
https://go.tinder.com/amp-iframe-redirect?scheme_redirect=http://google.com&redirect_strategy = 1)% 7B% 0Aalert (1)% 3B //
будет отображаться в DOM как:
если (1) {alert (1); // && «ИНЪЕКЦИЯ») {
вар синтаксический анализатор знак равно document.createElement ( «а»);
parser.href знак равно «INJECTIONA»;
вар протокол знак равно parser.protocol.toLowerCase ();
2. validateProtocol () и validate () Обход
Также обратите внимание, как validateProtocol () использует indexOf для проверки схем – метод indexOf () возвращает позицию первого вхождения указанного значения в строке. Этот метод возвращает -1, если значение для поиска никогда не встречается. Однако его можно обмануть, используя javascript: //% 0aalert (0) //good.com/https:// – обе функции проверки можно обойти, потому что indexOf найдет «https: //«
вар синтаксический анализатор знак равно document.createElement ( «а»);
parser.href знак равно URL;
вар протокол знак равно parser.protocol.toLowerCase ();
if ((av javascript: ’,‘ vbscript: ’,‘ data: ’). indexOf (протокол) < 0) {
возвращение URL;
}
….
вернуть ноль;
если ([‘Http:’, ‘https:’]. IndexOf (протокол) < 0) {
window.top.location = validate («http://google.com»);
}
Итак, как эта ошибка повлияла больше, чем Tinder?
go.tinder.com – это псевдоним для custom.bnc.lt, ресурса Branch.io. И многие другие компании имеют псевдоним, указывающий на это.
Назовите несколько сайтов, затронутых этой уязвимостью: RobinHood, Shopify, Canva, Yelp, Western Union, Letgo, Cuvva, imgur, Lookout, fair.com и другие..
Благодаря быстрому отклику, который мы получили от службы безопасности Branch, эта уязвимость теперь исправлена для всех доменов..
Другие наши последние исследования:
Является ли базирующаяся в Панаме NordVPN на самом деле американской компанией под названием CloudVPN?
В более чем миллионе домашних маршрутизаторов GPON обнаружена критическая уязвимость RCE
Kason
17.04.2023 @ 21:20
It is important to note the discovery made by the team of security researchers regarding the vulnerabilities found in the client-side security of Tinder. The fact that hackers could have access to user profiles and details is concerning. It is commendable that the team immediately contacted Tinder and worked with them to resolve the issue. However, it is alarming to learn that other major websites also share the same vulnerable endpoint in their code and domains, potentially putting up to 685 million users at risk. It is recommended that users who have recently used Tinder or any other vulnerable website check their accounts and change their passwords as soon as possible. The XSS vulnerability based on DOM is a serious issue that can be exploited in any browser, making it difficult to mitigate the consequences of the attack. It is important for website developers to take necessary measures to prevent such vulnerabilities in the future.