Основы этичного веб-хакинга (перевод)

3. Twitter Web Intents

Url: twitter.com 
Ссылка на отчет: Parameter Tamperting Attack on Twitter Web 
Intents⁸ 
Дата отчета: Ноябрь 2015 
Выплаченное вознаграждение: Не раскрыто 
Описание: 
В соответствии с дкументацией, Twitter Web Intents предостав- 
ляют попап-оптимизированные панели для работы с твита- 
ми и пользователями: Твит, ответ, ретвит, лайк и фоллоу. 
Они позволяют пользователям взаимдействовать с контен- 
том Твиттера в контексте вашего сайта, не покидая страни- 
цу или не требуя авторизоваться в приложении для простого 
взаимодействия.

Тестируя эту возможность, хакер Эрик Рафалофф обнаружил, 
что все четыре типа “интентов”, фолловинг пользователя, лайк 
твита, ретвит и твит, были уязвимы к HPP. 
В своем блоге он написал, что если создать URL с двумя 
параметрами screen_name: 
https://twitter.com/intent/follow?screen_name=twitter&screen_- 
name=erictest3 
то Твиттер обработает этот запрос, отдавая приоритет второму 
параметру.Веб-форма выглядела бы так:

1 <form class=”follow” id=”follow_btn_form” action=”/inte\ 
2 nt/follow?screen_name=ericrtest3” method=”post”> 
3 <input type=”hidden” name=”authenticity_token” value=\ 
4 ”...”> 
5 <input type=”hidden” name=”screen_name” value=”twitte\ 
6 r”> 

8 <input type=”hidden” name=”profile_id” value=”783214”> 

10 <button class=”button” type=”submit” > 
11 <b></b><strong>Follow</strong> 
12 </button> 
13 </form>

Жертва бы видела профиль пользователя, определенного в 
первом screen_name, twitter, но кликом по кнопке он бы за- 
фолловил erictest3. 
Подобным образом, создавая интент для лайка, Эрик обнару- 
жил, что может включить параметр screen_name несмотря на 
то, что он вообще не относится к лайку твита. Пример: 
https://twitter.com/intent/like?tweet_id=6616252302978211845&screen_- 
name=erictest3 
Это показало бы пользователю корректный профиль владель- 
ца, но клик на “Follow” снова заставил бы его зафолловить 
erictest3

Выводы 
Это похоже на предыдущую уязвимость в Твит- 
тере, касающуюся UID. Неудивительно, что когда 
сайт уязвим к вещам вроде HPP, это может быть 
индикатором более широкой системной пробле- 
мы. Иногда, если вы находите подобную уязви- 
мость, стоит потратить время на исследование 
платформы в целом, чтобы убедиться, что вы 
не обнаружите (или обнаружите) другие обла- 
сти, в которых можно будет использовать похо- 
жий сценарий. В этом примере, как в UID выше, 
Твиттер передавал идентификатор пользователя, 
screen_name, который был восприимчив к HPP, 
основанном на логике бэкенда.



Отредактировано: 08.03.2019





Понравилась книга?
Отложите ее в библиотеку, чтобы не потерять