Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Баг-репорты

Важная информация

Баг-репорты Описываем проблемы и ошибки работы ядра

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2010, 17:01   #1
Onfus
Гость
 
Сообщений: n/a
По умолчанию Wpe pro

Недавно игрок выдал сведения о данной программе, точнее о найденном изъяне. Программа не пашет на мангосе в 99% случаев, однако речь пойдёт о более интересном. Как я понял, есть некий нпс в даларане, через которого реализуется возможность рисовать себе любой предмет. Информацию уточню, однако у кого какие мысли по поводу защиты от данной программы. На данном форуме тем про данную программу поиск не выдал.
  Ответить с цитированием
Старый 30.11.2010, 17:18   #2
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

Цитата:
Программа не пашет на мангосе в 99% случаев
Давно смотрю отзывы в инете насчет Тринити - их ядро зато для WPE сплошная дыра.
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Старый 30.11.2010, 18:35   #3
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

WPE внедряет свою dll в клиент, и перехватывает пакеты после отправки их серверу, т.е если защищатся на стороне сервера, надо просто проверять приходящие данные

Пара примеров действующих уже защит :

От подмены спеллов защищает проверка, есть ли этот кастуемый спелл в книжке, соотв. всякие death touch идут лесом

Можно подменить итем при покупке у вендора, но купить например уголь и получить в инвентарь т10 не получится. Проверка наличия этого итема у вендора. Не видал еще у вендоров угля и т10 вместе

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

Вобщем если хорошо подумать и знать как именно рисуют шмот, то можно и закрыть дырку

А 100% защиты нет, только варден или внешний античит
MaS0n вне форума   Ответить с цитированием
Старый 30.11.2010, 22:18   #4
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Вообще говоря wpe это уже не софтина а принцип - замена содержимого пакетов по некоей маске. Тем же самым вполне может заниматься iptables на промежуточном роутере (кстати таким образом шлется большой привет и вардену и 4х сокетному редиректу в 4.х
Все случаи использования эксплойтов с помощью впе закрыть невозможно - кто его знает как извратятся малолетние кульхацкеры. Но по факту отлова дырки закрываются и вполне успешно. В мангосе действительно закрыто множество дыр из до сих пор торчащих в тринити. Но осталось еще не так уж и мало. Я недавно в своем античите прикрыл еще парочку мне известных (например каст оживления покойниками), но думаю это соревнование кто-кого будет существовать столько же сколько мангос
rsa вне форума   Ответить с цитированием
Старый 01.12.2010, 18:30   #5
Onfus
Гость
 
Сообщений: n/a
По умолчанию

Использую:
MaNGOS 10721
YTDB 572
ScriptDev2 1871
Как оказалось, впе работает с любым вендором. За 5 дней распространения программы, пол сервера оделось в фулл а8. Ситуация плачевная. Что делать?

ПС: Думал провести тесты на тринити, а там ещё хуже - чтобы увидеть репозиторий тринити, нужно зарегистрироваться на их форуме, однако требуется код друга при регистрации, т.е. нужно иметь друга с регистрацией. В мире и так хватает людей с... а тут ещё добавок. Зачем было так делать, не понятно. Если защита от спама, то можно было реализовать режим чтения только что зарегистрированным пользователям на 3 дня.
  Ответить с цитированием
Старый 01.12.2010, 18:40   #6
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Onfus Посмотреть сообщение
...чтобы увидеть репозиторий тринити...
http://code.google.com/p/trinitycore/source/list
LordJZ вне форума   Ответить с цитированием
Старый 01.12.2010, 19:42   #7
Onfus
Гость
 
Сообщений: n/a
По умолчанию

Один игрок поделился полной информацией по поводу данной программы. Тестировали программу при мне, шмот само собой рисовался. Пришла идея провести тесты данной программы на ядре тринити. Есть очень много проектов - однодневок. (однодневки удобны тем, что на них как правило админы - новички и они в принципе не знают, как защищаться, например от ДОС атак. Cisco, router - новые слова для них) Зашли на 3-4 сервера с онлайном в 1-10 человек. Проверили ядро командой: .server info Операционки были разные: win32, win64, linux. Произвели тестирование Wpe pro и были в шоке - программа не работает. В игре идёт ответ на рисование любого предмета - предмет не найден.

Подведём итог: Нужно в срочном темпе разбирать данную проблему...
  Ответить с цитированием
Старый 01.12.2010, 20:20   #8
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Не знаю как на чистом ядре (давно не проверял) но ни один старый (и опубликованный на вовж...) способ рисования через впе у меня не работает. Проверяли игроки-кульхацкеры а не я (у меня за успешное читерство призы а не баны .
А, да, на 10105 да еще и скорее всего без патчей Карателя есть минимум 3 способа "рисования". Все заткнуты даже в чистом ядре, причем давно.

Последний раз редактировалось rsa; 01.12.2010 в 20:21. Причина: глянул на ревизию ядра топикстартера
rsa вне форума   Ответить с цитированием
Старый 01.12.2010, 20:29   #9
Onfus
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
Не знаю как на чистом ядре (давно не проверял) но ни один старый (и опубликованный на вовж...) способ рисования через впе у меня не работает. Проверяли игроки-кульхацкеры а не я (у меня за успешное читерство призы а не баны .
А, да, на 10105 да еще и скорее всего без патчей Карателя есть минимум 3 способа "рисования". Все заткнуты даже в чистом ядре, причем давно.
Цитата:
Использую:
MaNGOS 10721
YTDB 572
ScriptDev2 1871
Мой косяк, подпись исправлю.
  Ответить с цитированием
Старый 02.12.2010, 16:44   #10
Lurker
Новичок
 
Регистрация: 08.03.2010
Сообщений: 13
Сказал(а) спасибо: 32
Поблагодарили 7 раз(а) в 6 сообщениях
Lurker На верном пути
По умолчанию

Цитата:
Сообщение от Onfus Посмотреть сообщение
Один игрок поделился полной информацией по поводу данной программы. Тестировали программу при мне, шмот само собой рисовался. Пришла идея провести тесты данной программы на ядре тринити. Есть очень много проектов - однодневок. (однодневки удобны тем, что на них как правило админы - новички и они в принципе не знают, как защищаться, например от ДОС атак. Cisco, router - новые слова для них) Зашли на 3-4 сервера с онлайном в 1-10 человек. Проверили ядро командой: .server info Операционки были разные: win32, win64, linux. Произвели тестирование Wpe pro и были в шоке - программа не работает. В игре идёт ответ на рисование любого предмета - предмет не найден.

Подведём итог: Нужно в срочном темпе разбирать данную проблему...
Чтобы разбирать проблему нужно как минимум расписать метод "рисования", вы пока только очем-то туманном говорите и ничего конкретного.
Lurker вне форума   Ответить с цитированием
Старый 02.12.2010, 17:02   #11
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Он пишет про подмену ида вещи при покупке у торговца (берешь самую дешевую а получаешь самую дорогую, в тч и за марки). Пофикшено аллах помнит когда.
rsa вне форума   Ответить с цитированием
Старый 03.12.2010, 06:48   #12
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

угу. проверка на есть ли итем в вендор листе уже существует очень давно.
zhenya вне форума   Ответить с цитированием
Старый 03.12.2010, 15:41   #13
AndreyVolkov
Гость
 
Сообщений: n/a
По умолчанию

Предварительно проверено лично.
Mangos rev.: 10795
ScriptDev2 rev.: 1892
UDB rev.: 394

Берем вендора фруктов в Даларане, берем ID "Красного яблока", в замену проставляется ID любой вещи, маунтов и т.д. Итог, при покупке яблока в сумку падает нужная вещь. Стоимость списывается именно вещи. Т.е. маунт 20т голды, а не 25 меди как яблоко. Все шмотки за баджи, осколки и т.д - стоят 0. Арена сэт - стоит 0.
Короче все покупается по себестоимости.
  Ответить с цитированием
Старый 03.12.2010, 16:06   #14
Lurker
Новичок
 
Регистрация: 08.03.2010
Сообщений: 13
Сказал(а) спасибо: 32
Поблагодарили 7 раз(а) в 6 сообщениях
Lurker На верном пути
По умолчанию

ну если по себестоимости берется об-чем речь тогда, я думал найден какой-то Другой метод...
Lurker вне форума   Ответить с цитированием
Старый 03.12.2010, 16:09   #15
Stoun
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
ну если по себестоимости берется об-чем речь тогда
собестоемость item_template.BuyPrice

Последний раз редактировалось Stoun; 03.12.2010 в 16:14.
  Ответить с цитированием
Старый 03.12.2010, 17:50   #16
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

получается отвалилось
Код:
    VendorItemData const* vItems = pCreature->GetVendorItems();
    VendorItemData const* tItems = pCreature->GetVendorTemplateItems();
    if ((!vItems || vItems->Empty()) && (!tItems || tItems->Empty()))
    {
        SendBuyError( BUY_ERR_CANT_FIND_ITEM, pCreature, item, 0);
        return false;
    }

    uint32 vCount = vItems ? vItems->GetItemCount() : 0;
    uint32 tCount = tItems ? tItems->GetItemCount() : 0;

    if (vendorslot >= vCount+tCount)
    {
        SendBuyError( BUY_ERR_CANT_FIND_ITEM, pCreature, item, 0);
        return false;
    }

    VendorItem const* crItem = vendorslot < vCount ? vItems->GetItem(vendorslot) : tItems->GetItem(vendorslot - vCount);
    if (!crItem)                                            // store diff item (cheating)
    {
        SendBuyError( BUY_ERR_CANT_FIND_ITEM, pCreature, item, 0);
        return false;
    }
?

Последний раз редактировалось Konctantin; 03.12.2010 в 20:55. Причина: code
zhenya вне форума   Ответить с цитированием
Старый 03.12.2010, 19:00   #17
PSZ
Ученый
 
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
PSZ Обладатель прекрасной аурыPSZ Обладатель прекрасной ауры
По умолчанию

Хм. Все эти проверки на месте.
PSZ вне форума   Ответить с цитированием
Старый 03.12.2010, 21:45   #18
Stoun
Гость
 
Сообщений: n/a
По умолчанию

Mangos_rev: 10795
Сам проверил, работает, место бананов получаю клинки неумолимого...
  Ответить с цитированием
Старый 03.12.2010, 22:45   #19
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Проверил, получаю бананы. Судя по коду вместо бананов я фиг чего получу, хотя использование в коде
if (Item *it = StoreNewItem( dest, item, true ))
тогда как все проверки мы делаем не на приходящий от игрока item а на
crItem->item, вычисляемый от позиции в вендорлисте, далеко не есть хорошо. Возможно эксплойт сложнее и цепляется еще за чтото.
rsa вне форума   Ответить с цитированием
Старый 04.12.2010, 05:24   #20
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Востановлена корректность работы проверки в [10821] для вендоров.
Мои кривые руки ее сломали при добавлении конвертации BOA предметов при покупке.

Если в целом говорить про wpe pro - большую часть подмен можно отследить при аккуратной проверке данных от клиента.
Проблема в том что о вариантах проблем или не сообщается разрабочикам и сообщается в бредовой форме, когда даже простого сообщения пакета который присылается при подмене достаточно для нахождение дыры в проверках...
__________________
Так как устал объяснять знайте ICQ не пользуюсь

Последний раз редактировалось Vladimir; 04.12.2010 в 05:27.
Vladimir вне форума   Ответить с цитированием
16 пользователя(ей) сказали cпасибо:
ANTOMA (06.12.2010), Den (05.12.2010), Fear (07.12.2010), Fedia22 (05.12.2010), Feel the Power (04.12.2010), KiriX (04.12.2010), Konctantin (04.12.2010), Mayss (05.12.2010), PSZ (04.12.2010), rsa (05.12.2010), srv38 (05.12.2010), sven (06.12.2010), VENOM (08.12.2010), YuruY (05.12.2010)
Старый 05.12.2010, 11:14   #21
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Спасибо YuruY за информацию.

https://gist.github.com/728959 добавляет проверки для квестов против подмены пакетов.
Я не добавил в репо по причине не 100% уверенности что все виды внутренних квестов охвачены (из-за добавленного требования присуствия в querst book они не будут работать если я какие забыл). Если проблем не найду - добавлю чуть позже в репозитарий.
__________________
Так как устал объяснять знайте ICQ не пользуюсь

Последний раз редактировалось Vladimir; 05.12.2010 в 11:23.
Vladimir вне форума   Ответить с цитированием
11 пользователя(ей) сказали cпасибо:
ANTOMA (06.12.2010), Den (05.12.2010), Fear (07.12.2010), Fedia22 (05.12.2010), LordJZ (05.12.2010), Lurker (07.12.2010), Mayss (05.12.2010), PSZ (06.12.2010), rsa (05.12.2010), sven (06.12.2010), YuruY (05.12.2010)
Старый 07.12.2010, 11:44   #22
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Vladimir Посмотреть сообщение
Спасибо YuruY за информацию.

https://gist.github.com/728959 добавляет проверки для квестов против подмены пакетов.
Я не добавил в репо по причине не 100% уверенности что все виды внутренних квестов охвачены (из-за добавленного требования присуствия в querst book они не будут работать если я какие забыл). Если проблем не найду - добавлю чуть позже в репозитарий.
требует серьезной доработки. часть легальных квестов после этого сдать нельзя, примеры - цепочка ДК начиная со 2го.
rsa вне форума   Ответить с цитированием
6 пользователя(ей) сказали cпасибо:
Den (07.12.2010), Lurker (07.12.2010), sven (07.12.2010), VENOM (08.12.2010), Vladimir (07.12.2010)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 16:51. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot