Да, именно JavaScript. Я только что встретил такого червя и попытался расшифровать его.
Какова реальная проблема:
Последний червь Facebook работает, заставляя пользователей посещать страницу, что заставляет их вставлять строку JavaScript в свою адресную строку и, следовательно, выполнять ее.
Так что, НИКОГДА не копируйте код JavaScript в адресную строку. Это главная проблема. И не нажимайте ссылки, которым вы не доверяете. Или, по крайней мере, откройте эти ссылки в новом окне, используя режим конфиденциальности (Firefox) или режим инкогнито (Chrome), чтобы он не смог получить доступ к вашему сеансу Facebook.
Что сделали наши хакеры, чтобы люди не поняли, что они делают?
Спасаясь от сценария
Строка, которую вы копируете в строку URL, в основном ссылается на другой исполняемый JavaScript. Этот скрипт фактически расшифровывается в сущности. Таким образом, вместо использования строковых символов, весь сценарий был помещен в строку и экранирован так, что никто не мог прочитать его в первую очередь.
Например, если бы у меня была очень вредоносная функция, я бы избежал ее, и пользователь увидел бы только:
Функция% 20Test% 28% 29% 20% 7B% 20alert% 20% 28% 22LOL% 22% 29% 3B% 20% 7D
и бежал бы
function test () {alert ("LOL"); }
Таким образом, сценарий освобождает себя перед выполнением.
Запутывая это
Теперь это становится уродливым: перед тем как убежать от него, злой код JavaScript обфусцируется, с именами функций like _____x
и переменными like aLDIWEJ
. Это все еще имеет смысл для JavaScript, но это совершенно нечитаемо для людей. Это сделано, опять же, чтобы замаскировать намерения наших хакеров на Facebook.
На данный момент код мог бы выглядеть примерно так:
Что делает скрипт
Хорошо, что этот скрипт делает ваш текущий сеанс Facebook. Поскольку вы вошли на сайт, он может делать что угодно на ваше имя. Например, то, что он может делать через API Facebook:
- создавая событие типа "OMG, я вижу, кто преследовал меня!"
- общаться с людьми
- публикация обновлений статуса
- и т.п.
Все это происходит путем вызова некоторых страниц API Facebook (некоторые страницы PHP, я забыл, какие).