Rus Eng
Решения
Технологии
Дискуссии
Компания
 
Rambler's Top100
© Copyright iNetique
info@inetique.ru

 

Серия атак на Twitter, когда от имени пользователя постится в ленту некоторый спам. Как они это делали?

Классический пример использования CSRF. Используют тот факт, что авторизовавшись один раз в веб-клиенте, пользователь остается в таком состоянии надолго. И это состояние авторизации распространяется, в том числе, на новые окна, открываемые в браузере.

Атакующий создает страницу со следующим кодом (возможно - не у себя на сайте, а на публичном хостинге/сервисе):


<script>
var el1 = document.createElement('iframe');
el1.style.visibility="hidden";
el1.src = "http://twitter.com/share/update?status=Здесь_текст_со_спамом" + window.location;
document.getElementsByTagName("body")[0].appendChild(el1);
</script>

Это из последней атаки. Ссылку на такую траницу размещают в Twitter. Теперь, если кто-то кликнул на ней, открывается вредоносная страница. В веб-клиенте Twitter она открывается в новом окне, но текущие полномочия пользователя на нее распространяются. Создается скрытый iframe, в котором и размещается код отправки сообщения в Twitter. А к сообщению добавляют ссылку на страницу с эксплоитом. Вирусное распространение.

С аккаунтом/паролем, как видно, ничего плохого не происходит, но спам таким образом распространяется.

Вот этот вот URL: http://twitter.com/share/update и есть очень опасное место в API. Он размещает сообщение автоматически. Лучше бы просто готовить текст сообщения и переводить пользователя в Twitter, чтобы кнопку Send (отправить) нужно было бы все-таки вручную нажать. Предварительно прочитав, что предлагают отправить. Ну или, по крайней мере, чтобы это можно было сконфигурировать в своем аккаунте - разрешать авто-отправку или нет.