Как стать автором
Обновить

Комментарии 25

А как вы узнали подробности о связи между действиями ваших ботов и появлением огромного количества элитных ресурсов у игроков?
В игре есть чат где все игроки живо обсуждали происходящее, туда же, с радостными возгласами, они начали скидывать ссылки на скрины своих игровых аккаунтов, которые были полностью «прокачаны» и забиты ресурсами. Происходило это прямо во время работы ботов. После чего я сложил два плюс два и у меня получилась картина произошедшего.
Ну, внезапное обогащение игроков во время работы ботов действительно сложно объяснить простым совпадением.
Просто ваше объяснение произошедшего строится на определенных предположениях (скопление запросов от «министров», возможное отсутствие проверки валидности запросов при их выполнении).
Поэтому интересно, построены ли эти предположения на знании о специфике работы и устройстве серверов игры или это именно просто предположения?
Это мои личные предположения, основывающиеся на анализе сложившейся ситуации, никакого подтверждения кроме фактов от самих игроков, лагов и падения сервера у меня нет и не может быть. Возможно, принципиальная схема сбоя была другой, но то что это произошло из-за массовой отправки внутренней почты лично у меня не вызывает сомнений.
Может была классика жанра в виде вылета за границу массива в коде сервера, а дальше — черт знает как в памяти сервера лежали прочие данные и чем они были перезаписаны.
Так вроде же как в браузерках классика — это как раз подвешивание сервера (часто намеренное), чтобы он при торможении неправильно обрабатывал ситуации. И затем размножение ресурсов и всё подобное, не требующее ничего от читопользователя, кроме бразуера.
вспоминается история про хакера и солонки
Спасибо за статью, интересно. Ну а что же это за таинственная XSS-уязвимость?
Пожалуй напишу, действительно, делать из этого «тайну покрытую мраком» смысла нет.

При отправке письма в поле «Тема» была XSS-уязвимость, собственно украсть cookies через нее получалось, но не все, а лишь самые банальные — настройки языка, внешнего вида и так далее, нужную же cookie с сессией получить не удалось, видимо из-за HTTP-only. Возможно, я что-то делал не так, не суть.

Так вот, в поле Тема возможно было вставить 100 символов, а благодаря тому что оно не фильтровалось можно было вставлять любые HTML-теги, что собственно я и проделал, вставив туда заранее созданную страничку через
Извините, я не очень еще умею обращаться с комментариями, оказывается его теперь нельзя редактировать, продолжу тут :)

Так вот, в поле Тема возможно было вставить 100 символов, а благодаря тому что оно не фильтровалось можно было вставлять любые HTML-теги, что собственно я и проделал, вставив туда заранее созданную страничку через «iframe», получалось примерно следующее (скрины не сохранились, сделал пример, чтобы было понятнее): это обычное письмо, которое получал игрок, а это пример какую зону можно было перекрыть с помощью тегов «iframe», «div», «img» ну или другими, фактически, туда можно было вставить даже ролик с youtube (чем собственно я и занимался), особым шиком стала фоновая загрузка музыки, которая продолжала играть даже после закрытия письма.

Впоследствии мне пришла в голову очередная «гениальная» идея. Если подставить в письмо скриншот с официального сайта и написать на нем EA managment или нечто похожее — люди будут думать что им пишет администрация игры, чем можно воспользоваться в корыстных целях. Сразу отмечу что у меня не было интереса в получении чужих аккаунтов, я все-равно не знал что с ними делать и причинать вред людям не собирался, но чувство интереса было огромным. «Неужели получится? Неужели, после всего что произошло на сервере кто-то попадется?» — примерно такие у меня были в то время мысли.

Реализация задуманного не заняла много времени, я отправил по одному письму примерно 1000 игрокам, после чего получил около 100-120 паролей. Не знаю уместно ли тут слово *facepalm*, но кроме него ни в тот момент, ни сейчас на ум ничего не приходит. В тот же вечер я провел подобный эксперимент на одном из европейских серверов той же игры — проделав лишь отправку письма «якобы» от администрации — после чего из 1000 игроков я получил лишь 10-20 паролей. Почему так — не знаю, возможно, свою роль играет менталитет, ведь при получении писем ЕА заранее предупреждает не отправлять никому ваши логины/пароли, но наш человек давно уже отвык читать разного рода предупреждения, наверное, зря :)
Спасибо за пояснение. Кстати, советую вам обновить им (пояснением со скриншотами) текст статьи, дабы её будущие читатели не рылись в комментах.
Несколько лет назад начинал играть в эту игру, еще тогда была мысль потестить на наличие XSS, но руки так и не дошли, поэтому будет очень интересно про нее почитать.
Так игратся гораздо интереснее чем просто играть в игру.
Может я слишком старомоден, но я бы не стал издеваться над пользователями и игрой just for fun, а потом еще и хвастаться этим здесь.
Я предполагал что у некоторых (или многих) будет подобное отношение к топику, поэтому немного нервничал публикуя его.
Но, во-первых, я ни в коей мере не хвастаюсь — мне действительно показалось интересным что у крупной онлайн игры могут быть проблемы при отправке почты игровыми методами, пусть и с помощью ботов, не без взлома и тому подобного.

Над пользователями никто не издевался, более того, насколько я смог заметить сервер стал более активен, в чате постоянно шло обсуждение, думаю средний онлайн даже вырос.

Не знаю как правильнее это объяснить, но я получал удовольствие от самого процесса, нежели от результата.
НЛО прилетело и опубликовало эту надпись здесь
Мне кажется, на сколько я помню эту историю, там хватило действий одного молодца. Правда разгребали вы потом это уже всей командой.

да, и не обманывай чесных людей. НгаКК и «благо народа» вещи не совместимые.
Мнение оно мнением — автору теперь в ближайшие лет 15 в EU/US лучше не ездить.

Этичность самого поступка мне до фиолетовой звезды.

Просто некорректно заманивать читателей словом «случайно» в статью описывающуют преднамеренную DOS-атаку на проект — случайно, это когда одно письмо отправил и все полегло.
Пост в двух словах:
> О том, как я случайно уронил сервер
> было запущено 5 или 6 одновременных ботов
> можно отправить 201 письмо и делать это можно раз в 1-2 секунды
не отправлять никому ваши логины/пароли
Тем, у кого есть полномочия, ваш логин/пароль просто не требуется…
Выбор в качестве момента проверки команды на исполнимость момента перед постановкой команды в очередь вместо момента получения команды из очереди — упрощает архитектуру игровой системы и тем самым несколько повышает быстродействие: не нужна процедура асинхронной передачи игроку (или его боту-«министру») отчёта о выполнении команды, не нужно закладывать в «министра» ожидание отчёта о выполнении команды. Особенно актуально для браузерной игры: меньше активности, инициированной «сервером» (на самом деле, игровой системой), обратную связь игроку на команду можно выдавать не асинхронно, а синхронно — в течение одного AJAX-запроса.

Разумеется, от такого выбора страдает надёжность, но она, на столько я понял, у них не «пойнт» — не банк же они чтобы обеспечивать целостность транзакций. Да и проблему, судя по статье, решать решили не «в корне». В общем, сомнительно. Но объяснимо.
если бы это был сервер российской компании-скорее всего в один прекрасный день к вам бы из милиции пришли
Надеюсь, mirai не поставит на каждую железяку такого бота.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории