#hacktivity #writeup



DOM Based XSS с помощью postMessage в Facebook



Напомню, что XSS на основе DOM (DOM XSS) возникает, когда приложение содержит некоторый клиентский JavaScript, который обрабатывает данные из ненадежного источника небезопасным способом, обычно путем записи данных обратно в DOM.



Не так давно исследователь Youssef Sammouda обнаружил две уязвимости, первая из которых позволяла злоумышленнику отправлять сообщения из разных источников с помощью метода postMessage из домена facebook.com. Уязвимый endpoint принимает контролируемый пользователем контент в параметрах запроса и создает объект с данными, предоставленными для отправки с postMessage в окно открытия.



Вторая уязвимость связана с предыдущей и заключается в том, что сценарий небезопасно создает и отправляет форму на основе данных, полученных в сообщениях через Eventlistener.



А самое главное, что все подробно описано и наглядно показано. К слову, на данном сайте исследователь описывает все уязвимости, которые он нашел в рамках программы Bug Bounty от Facebook.



Если вы не знакомы с XSS, а уж тем более с DOM XSS, то ставьте 🤔.