Позавчера, Oren Hafif известный багхантер обнаружил уязвимость в Gmail. Точнее говоря, не одну уязвимость, а целую цепочку, которая позволяет угнать пароль от аккаунта.
Для тех, кто не хочет читать, но любит смотреть видео может сразу взглянуть на результат.
Первым делом необходимо было отправить жертве фишинговую ссылку, которая выглядела как настоящая:
После клика, клиента отправляет на специально сформированную страницу с JavaScript кодом, который благодаря CSRF отправляет запрос на https://www.google.com/accounts/recovery/verifyuser?jsEnabled=False&preoption=1&Email=' + location.hash.split("Email=")[1] + '&Email2=
, затем берет полученный из параметров email и производит редирект на нужную ссылку вида: https://google.com/accounts/recovery/ktpass?rpu=EVIL_JS
. Уязвимым параметром является rpu, который позволяет выполнять произвольный JS код. Далее происходит отрисовка формы ввода пароля.
Передав в параметре rpu нужный нам JS, можно отследить результат ввода пароля, а затем передать данные на сниффер.
За данную уязвимость Google заплатил Орену 5100$ по программе вознаграждений за найденные уязвимости. Я думаю достойная награда.
Всегда есть уязвимые места, даже у такого гиганта как Google. Стоит только поискать.
Автор: akamajoris