Новая атака
Представьте следующую ситуацию: игрок, представляющийся членом известной гильдии, обещает продать вам какую-то классную вещь (которой у него скорее всего нет). Всё, что от вас требуется — ввести в чат одну строку:
/run RemoveExtraSpaces=RunScript
Интерфейс WoW и его дополнения написаны на скриптовом языке Lua. Обе части вышеуказанного равенства являются рабочими функциями WoW Lua API. Исполнение этой строчки кода меняет поведение интерфейса.
Что делает эта команда?
/run — это команда воспринимать следующий текст как скрипт Lua;
RemoveExtraSpaces — встроенная функция, удаляющая лишние пробелы;
RunScript — функция, исполняющая код Lua code (аналогично /run)
Почему это опасно?
Функция RemoveExtraSpaces применяется к каждому полученному в чате сообщению. Вышеуказанная команда заменяет эту функцию на функцию RunScript, что называетсяперехватом. После этого все сообщения в чате воспринимаются как код Lua и исполняются.
Ни о чём не подозревающий игрок собирается ввести злополучную строчку
Как пример, мошенник отправляет жертве сообщение
Полученное сообщение было исполнено
Первоисточник(на английском, с подробным описанием): https://blog.gdataso...cost-you-dearly
От себя: воспроизвести не удалось(но я тестил на CellCore, там много чего из /run ограничивается для использования со стороны сервера).
Потестите у нас кто-нибудь с двух аккаунтов.
UPD: только сейчас заметил, что мошенник отправляет текст через некое gdata. Короче лень ковыряться, сами разбирайтесь, кому интересно
Обезопаситься:
Code that needs to be deleted: SET AllowDangerousScripts "1"
File: config-cache.wtf
Path: World of Warcraft\WTF\Account\<ACCOUNTNAME>\
Сообщение отредактировал Rescor: 29 июля 2016 - 22:03