ЗАКРЫТЬ
Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

02-дек
17-апр
30-дек
29-дек

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

Перед тем как создать тему или задать вопрос, ознакомьтесь с данной темой, там собраны наиболее распространенные уязвимости и способы устранения.
Так же не поленитесь воспользоваться поиском, вполне возможно, что ваш вопрос уже поднимался на форуме.
При создании новой темы уделите внимание ее названию, оно должно кратко описывать суть вашего вопроса/проблемы. Все вновь созданные темы с названиями "Помогите", "Объясните", "Подскажите" и т.д. будут удалены, а их авторы наказаны.
18 страниц V   1 2 ... 16 17 »
Раскрутка Counter-Strike 1.6

Защита от подмены на определённые SteamID

, и взлом админки
Safety1st
сообщение 19.12.2013, 18:37
Сообщение #1
Стаж: 9 лет 4 месяца
Город: Moscow

Сообщений: 7228
Благодарностей: 8061
Полезность: 196

Не надо тупо плодить одни и те же темы. Ответ между тем не изменится.

Для защиты от подмены на определённые SteamID достаточно включить хэширование ID эмуляторов (параметр SteamIdHashSalt). Эмуляторы в dproto - это все типы клиентов, кроме cid_Steam, cid_NoSteam47 и cid_NoSteam48.


Инфа по параметру SteamIdHashSalt в dproto.cfg
Q: Зачем эта опция нужна?
A: Эта опция позволяет защитить от подмены на определённые SteamID. Реализуется защита изменением алгоритма превращения данных от игрока в ID, в этом процессе участвует произвольное 'число', заданное в строке SteamIdHashSalt. Работает только для эмуляторов. Превращение – необратимое: из полученного ID нельзя восстановить исходный, чтобы вбить его в айдичейнджер для подмены. Т.о. 'украсть' чужой ID становится возможным, только заманив игрока на свой сервер с сюрпризом, что достаточно сложно организовать. 'Своё' значение SteamIdHashSalt нужно держать в секрете.

Q: gffthtyngsybhjkutryu и gffthtyngsybhjkutryu1 будет разное превращение ID или одно и то же?
A: Разное. Поэтому эта настройка должна быть одинаковой на всех серверах владельца.

Q: Нужен ли пробел после 'SteamIdHashSalt =' ?
A: Без разницы. Пробелы на концах значения автоматически отбрасываются.
В строке можно указать любые символы, минимум - 16, максимум - не ограничен, но будут использованы только первые 255. Подробнее.

Q: Если сейчас я поставлю 'соль' в dproto, то у всех моих игроков изменится SteamID?
A: Он поменяется только у игроков с эмуляторами: 'слетит' стата и т.д.

После настройки параметра SteamIdHashSalt для вступления изменений в силу сервер необходимо выключить и включить; просто смены карты не достаточно.


Дополнительно по защите админок
Железный вариант - админку выдавать только Steam-игрокам по реальному SteamID.

При включенном в dproto хэшировании ID эмуляторов становится допустимым и админку пираткам по ID выдавать, и префиксы не менять. НО: заполучить ID пиратки значительно проще, чем данные, чтобы использовать ID Steam-клиента (последние и действительны ограниченное время, и играть под чужим реальным ID можно не более 2-х минут). Потому по меньшей мере защищайте админки по пиратским ID паролем, раз выдаёте. Использование native Steam обеспечивает стороннюю верификацию клиентов - посредством VALVe, а ID эмуляторов и пароли извне не проверяются.

Также железный вариант - админка по IP, у кого он постоянный, что бывает нечасто.


Скрытие SteamID игроков
Многие свято верят, что проблему подмены можно обойти, скрывая ID игроков в ответе команды status. Это не так, существует достаточно мест и способов вытащить ID. В современных разработках кулхацкеров для получения ID игроков существуют специальные команды. 'Соль' в dproto (хэширование ID эмуляторов) своим существованием делает получаемые таким образом ID'ники бесполезными цифрами.


Инфа для тех, кто юзает авторизацию ник+пароль и доволен
Бан-системы обычно банят по SteamID при его наличии у игрока. Это значит, что ололошка с айдичейнджером с произвольным ником может подвести любого игрока (и админа) под бан: из-за совпадения ID бан 'перекинется'. Если вы используете dproto 0.9.390 и выше с включенным хэшированием ID эмуляторов - эта проблема вам не грозит. Второе неудобство такой 'защиты' - распространяется только на админов (постояльцы 'за бортом'), которые вынуждены всегда играть под одним и тем же ником. Хотя на большинстве серверов владельцам это, наоборот, удобно, я больше забочусь о серверах 'из альтруистических соображений' (админы бесплатные) и уверен, что узнаваемость - большое неудобство для админов: игроки пристают + сложнее вычислять читеров, знающих, что на сервере админ и пытающихся шифроваться.


Остальное содержимое шапки (внимание! всё тут неактуально, оставлено на всякий случай)
Пока подделать реальный SteamID возможно, но это организовать не так-то просто да и на сервере игрок сможет находиться 1-2 минуты. Использовать в дополнение к админке по реальному SteamID пароль в setinfo - неудобно и малополезно: при указанной выше организации и без пароля всё достаточно надёжно, а пароль угнать ещё проще, чем инфу для подделывания SteamID админа. Имеет смысл только авторизация вводом пароля в MOTD-окне или командой в консоли. Попросите Steam-админов пока не гулять по чужим серверам, особенно если кто-то им настойчиво предлагает зайти - и в принципе можно об угоне их ID не беспокоиться. Когда придёт время, недоработка Steam будет легко закрыта VALVe.


Смена префиксов:
Вот у dproto 0.9.187:
Код
IPGen_Prefix1 = X
Native_Prefix1 = X
SC2XX9_Prefix1 = X
RevEmu_Prefix1 = X
OldRevEmu_Prefix1 = X
SteamEmu_Prefix1 = X
AVSMP_Prefix1 = X
Setti_Prefix1 = X
SXEI_Prefix1 = X
Вот у dproto 'второго поколения' 0.9.3xx:
Код
IPGen_Prefix1 = X
Native_Prefix1 = X
SC2XX9_Prefix1 = X
RevEmu_Prefix1 = X
RevEmu2013_Prefix1 = X
OldRevEmu_Prefix1 = X
SteamEmu_Prefix1 = X
AVSMP_Prefix1 = X
Setti_Prefix1 = X
SXEI_Prefix1 = X
Для всех типов авторизации, где cid_<> выставлен в 1, т.е. Real (or generated by HW) steam (STEAM_xx:xx:xx), число в <>_Prefix1 должно отличаться от всех остальных.

Если список банов/статистика начинаются с чистого листа или настройка нового сервера, то для стимовцев стоит оставить привычный 0, а всем эмуляторам назначить префиксы, не равные 0.

Смена префикса у стимовцев разбанит до 10% таких игроков (максимум). Если беспокоиться о сохранении банов и статистики, то разумнее вначале 'скриптом' обойти все нужные места и изменить первый префикс STEAM_X:Y:<> в ID у стимовцев, а затем в dproto назначить им этот уникальный X. gameME не учитывает первый префикс, с ней проблем нет.


Допинфа для тех, кто юзает авторизацию ник+пароль, но не использует хэширование ID эмуляторов
Нужно банить как минимум IP - дефолтная AMXX-команда amx_addban, чуть лучше - заодно навешивать различные метки (SuperBan, FreshBans с DopBan2 и т.п.), лишь бы бан-система при этом SteamID не банила.


Допинфа для пользователей плагина AMXX Gag от xPaw и Exolent. Аналогичная проблема с Advanced Bans от Exolent. Credits to xSav.


Советую также ознакомиться с темой 'Обход бана подменой SteamID'.

Отредактировал: Safety1st, - 30.4.2015, 22:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя xSav
сообщение 19.12.2013, 20:19
Сообщение #2
Стаж: 11 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Было бы неплохо, основные квары дпрото привести в пример. Я вот к примеру все хочу так сделать но как представлю что нужно кучу инфы перелопатить чтоб разобраться как правильно сделать чтоб не накосячить меня это сразу останавливает :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя myself777
сообщение 19.12.2013, 21:14
Сообщение #3
Стаж: 7 лет 8 месяцев

Сообщений: 88
Благодарностей: 71
Полезность: < 0

Цитата(xSav @ 19.12.2013, 21:19) *
Было бы неплохо, основные квары дпрото привести в пример. Я вот к примеру все хочу так сделать но как представлю что нужно кучу инфы перелопатить чтоб разобраться как правильно сделать чтоб не накосячить меня это сразу останавливает :)

А как? скиньте мне ваш dproto.cfg, если вас это не затруднит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Affl
сообщение 19.12.2013, 21:25
Сообщение #4


Иконка группы

Стаж: 9 лет

Сообщений: 1524
Благодарностей: 1131
Полезность: 1037

Добавлять к стим айди ещё и пароли - тоже неплохо на мой взгляд


WAR3FT Пивка для Рывка 202 lvl
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя 3JIou CKuH
сообщение 19.12.2013, 23:36
Сообщение #5
Стаж: 9 лет

Сообщений: 491
Благодарностей: 279
Полезность: 818

Мало того что
Цитата
Ну и дурак!

Да ещё и пакостный софт выложил! Мало ли кто скачает!
После начнётся хаос... А всё из-за того, что
Цитата
Ну и дурак!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 19.12.2013, 23:50
Сообщение #6
Стаж: 9 лет 4 месяца
Город: Moscow

Сообщений: 7228
Благодарностей: 8061
Полезность: 196

Цитата(Affl @ 19.12.2013, 23:25) *
Добавлять к стим айди ещё и пароли - тоже неплохо на мой взгляд

Если в дополнение ;)

Цитата(xSav @ 19.12.2013, 22:19) *
Было бы неплохо, основные квары дпрото привести в пример. Я вот к примеру все хочу так сделать но как представлю что нужно кучу инфы перелопатить чтоб разобраться как правильно сделать чтоб не накосячить меня это сразу останавливает :)

Код
Native_Prefix1 = 5;

Должен отличаться от остальных.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя myself777
сообщение 20.12.2013, 14:26
Сообщение #7
Стаж: 7 лет 8 месяцев

Сообщений: 88
Благодарностей: 71
Полезность: < 0

Цитата(Safety1st @ 20.12.2013, 0:50) *
Если в дополнение ;)


Код
Native_Prefix1 = 5;

Должен отличаться от остальных.

все понял, спасибо всем!)

Отредактировал: myself777, - 20.12.2013, 14:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя shaid
сообщение 20.12.2013, 14:35
Сообщение #8


Стаж: 8 лет 11 месяцев

Сообщений: 1009
Благодарностей: 430
Полезность: 834

Цитата(myself777 @ 20.12.2013, 14:26) *
Native_Prefix1 = 5
Все равно можно стать админом(

что как где каким образом?
если админка выдана на лицензию, если префикс native отличается от других, можно?
а, ну да, забыл. всё можно подделать. ип админа подделать же тоже можно для угона админки, прописанной по ип...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 20.12.2013, 15:16
Сообщение #9
Стаж: 9 лет 4 месяца
Город: Moscow

Сообщений: 7228
Благодарностей: 8061
Полезность: 196

myself777 поправился уже)

Цитата
ип админа подделать же тоже можно для угона админки, прописанной по ип...

Админка по IP тоже норм, у кого он постоянный.

Использование native Steam обеспечивает стороннюю верификацию клиентов - посредством VALVe, поэтому настоящий SteamID не подделать по определению. ID эмуляторов и пароли извне не проверяются.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
kritik
сообщение 20.12.2013, 15:30
Сообщение #10
Стаж: 7 лет 3 месяца

Сообщений: 511
Благодарностей: 708
Полезность: 0

Круто. Пусть ноустим играет с нормальным стимид с нулями, а у лицензионщиков будет поддельный.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 20.12.2013, 15:34
Сообщение #11


Иконка группы

Стаж: 10 лет

Сообщений: 7522
Благодарностей: 5407
Полезность: 1291

kritik, откуда критерий нормальности? сами выдумали?


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 21.12.2013, 4:57
Сообщение #12
Стаж: 8 лет 7 месяцев

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Safety1st, лучше стиму так и оставить префикс 0, а каждому эмулятору выставить свой уникальный префикс.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mistrick
сообщение 21.12.2013, 8:33
Сообщение #13


Стаж: 8 лет 4 месяца

Сообщений: 541
Благодарностей: 423
Полезность: 1031

Как вариант, пусть эмули с VALVE_X:X:X бегают.
Скрытый текст
Код
# For players having revEmu ( >= 9.74) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu = 2

# For players having RevEmu 2013 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu2013 = 2

# For players having SteamClient 2009 / revEmu > 9.82 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SC2009 = 2

# For players having old revEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_OldRevEmu = 2

# For players having hCupa's SteamEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SteamEmu = 2

# For players having AVSMP (Cracked Steam) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_AVSMP = 2

# For SETTI ServerScanner
# default is STEAM_xx:xx:xx generated by IP [3]
cid_Setti = 4

# For SXEI Clients
# default is real STEAM_xx:xx:xx [1]
cid_SXEI = 2


Отредактировал: Mistrick94, - 21.12.2013, 8:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 21.12.2013, 13:22
Сообщение #14
Стаж: 9 лет 4 месяца
Город: Moscow

Сообщений: 7228
Благодарностей: 8061
Полезность: 196

Цитата(kritik @ 20.12.2013, 17:30) *
Круто. Пусть ноустим играет с нормальным стимид с нулями, а у лицензионщиков будет поддельный.

Who cares? xD Все ID имеют какой-то там вид только на вашем сервере.

Цитата([WPMG]PRoSToTeM@ @ 21.12.2013, 6:57) *
Safety1st, лучше стиму так и оставить префикс 0, а каждому эмулятору выставить свой уникальный префикс.

Нет, не лучше. Во всяком случае - как общая рекомендация.

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

--

Вы пишите, пишите, я шапку дополняю потихоньку.
Только не забываем, чтобы что-что авторитетно рекомендовать другим, надо самому хорошо разбираться в вопросе и быть знакомым не только с несколькими частными случаями)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Anton1o
сообщение 21.12.2013, 13:33
Сообщение #15


Стаж: 11 лет

Сообщений: 919
Благодарностей: 1392
Полезность: 1160

Цитата(Safety1st @ 21.12.2013, 13:22) *
Назначать отличный Native_Prefix1 разумно именно для стимовцев, если на сервере уже имеется большое число банов, чтобы они не перестали действовать из-за смены ID'ников игроков. Стимовцы, понятное дело, разбанятся, но их баны составляют малую часть от общего числа.
Если список банов начинается с чистого листа или настройка нового сервера, то можно для стимовцев оставить привычный 0, а всем эмуляторам назначить префиксы, не равные 0.

У меня к примеру овер дохрена стим банов...

upd: плюс сюда-же статистика.

Отредактировал: Anton1o, - 21.12.2013, 13:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 21.12.2013, 14:00
Сообщение #16
Стаж: 9 лет 4 месяца
Город: Moscow

Сообщений: 7228
Благодарностей: 8061
Полезность: 196

Цитата(Anton1o @ 21.12.2013, 15:33) *
У меня к примеру овер дохрена стим банов...

Оу)

Цитата(Anton1o @ 21.12.2013, 15:33) *
upd: плюс сюда-же статистика.

Хм... gameME игнорит первый префикс как игнорит его сам HLDS.
Смена префикса по-любому что-то 'сломает'. Тут нужно только выбрать - что))

Для статы или бан листа в базе у всех, у кого STEAM_0:0:XXXXXXXX и STEAM_0:1:XXXXXXXX и короче можно обходом поставить новый префикс. Или же, наоборот, у всех остальных ID поставить новый. Я за второй вариант)


P.S. Накидайте мне готовых скриптов для массовой замены, я добавлю в шапку и сменю рекомендацию)

Отредактировал: Safety1st, - 21.12.2013, 14:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RedL1ne
сообщение 21.12.2013, 14:11
Сообщение #17


Стаж: 10 лет

Сообщений: 3828
Благодарностей: 1854
Полезность: 876

Код
IPGen_Prefix1 = 3
IPGen_Prefix2 = 3
Native_Prefix1 = 0;
SC2009_Prefix1 = 4;
RevEmu_Prefix1 = 5;
OldRevEmu_Prefix1 = 4;
SteamEmu_Prefix1 = 4;
AVSMP_Prefix1 = 4;
Setti_Prefix1 = 4;
SXEI_Prefix1 = 6;
RevEmu2013_Prefix1 = 7;


Моя подборка префиксов, возможно кому пригодится. Использовалась сразу после вайпа банов/статы, потому нет проблем с переходом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dep3ku
сообщение 21.12.2013, 14:15
Сообщение #18


Стаж: 8 лет 1 месяц

Сообщений: 736
Благодарностей: 77
Полезность: < 0

Цитата(RedL1ne @ 21.12.2013, 16:11) *
Код
IPGen_Prefix1 = 3
IPGen_Prefix2 = 3
Native_Prefix1 = 0;
SC2009_Prefix1 = 4;
RevEmu_Prefix1 = 5;
OldRevEmu_Prefix1 = 4;
SteamEmu_Prefix1 = 4;
AVSMP_Prefix1 = 4;
Setti_Prefix1 = 4;
SXEI_Prefix1 = 6;
RevEmu2013_Prefix1 = 7;


Моя подборка префиксов, возможно кому пригодится. Использовалась сразу после вайпа банов/статы, потому нет проблем с переходом.

если не сложно можешь расписать каждый префикс за что он отвечает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 21.12.2013, 14:16
Сообщение #19


Иконка группы

Стаж: 11 лет

Сообщений: 6594
Благодарностей: 2367
Полезность: 812

RedL1ne,
Немножко бы описания еще :)


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 21.12.2013, 14:38
Сообщение #20
Стаж: 9 лет 4 месяца
Город: Moscow

Сообщений: 7228
Благодарностей: 8061
Полезность: 196

Цитата(RedL1ne @ 21.12.2013, 16:11) *
Моя подборка префиксов, возможно кому пригодится. Использовалась сразу после вайпа банов/статы, потому нет проблем с переходом.

На всякий случай: 'вайп' - wipe - затирание.

Цитата(Dep3ku @ 21.12.2013, 16:15) *
если не сложно можешь расписать каждый префикс за что он отвечает?

Оу, а комментариев в dproto.cfg по каждому параметру уже мало?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
18 страниц V   1 2 ... 16 17 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: