Software protection css v34

[CS:S v34] ProtectCMDS 1.0.8

ProtectCMDS — новая система защиты от взлома сервера, альтернатива ProcessCmds.
Описание: Система будет представлена в виде расширения и будет иметь доступ по средствам API.
Поддерживаемые игры: CS:S v34 [ep1] [Core && Core Legacy Support] (Linux).
Если эта система получит широкое распространение, то и под CS:S и CS:GO будут версии. Так же и под Windows.

В случае ошибок или неверной работы расширения — пишите в ЛС. Проверю и поправлю.

Читаем, чему научился ProtectCMDS!

Формат:
1. [Степень важности] Название.
Описание.

1. [Критическая] Фикс кривых пакетов.
Описание: Включена фильтрация на кривые пакеты, которые приводили сервер к очень долгому «задумыванию» и остановки игрового процесса.
Полностью переработана фильтрация пакетов. Заблокированы все Split пакеты. Добавлена защита от DoS атак. Можно смело убирать dosprotect. (Не помогает в случае забивания канала);
Блокировка следующих эксплоитов:
Cmds_Exploit, Love_x, PacketSender, Salamon, Srcds_death, UltraHook flood, Split_Exploit, Ping_Exploit, kickserv_c, Voice_Exploit, Mass disconnect, SAMP Crash, Lag Server и другие;

2. [Критическая] Фикс голосового чата «buffer overflow in net message» + блокировка FPSKiller 1.0
Описание: Добавлена фильтрация и forward на голосовой чат. Пофикшено выкидывание игроков и FPSKiller 1.0.

3. [Критическая] Реализовано хеширование steamID
Описание: Хешируется SteamID при заходе игрока. Для каждого сервера создается уникальная соль для хеширования.
Если вы хотите, чтобы на ваших серверах был один и тот же SteamID, то скопируйте файл
sourcemod/data/protectcmds_steamid_salt.dat на все сервера. Есть возможность задавать любой SteamID. Файл лежит sourcemod/data/protectcmds/steamid_hash.txt

Читайте также:  Импорт стиля

4. [Критическая] Запрещена загрузка левых плагинов/расширений не из стандартных папок SourceMod.
Описание: Блокируются команды, которые позволяли загружать сторонние плагины/расширения не из стандартных папок SourceMod

5. [Важная] Защита от фейк ботов.
Описание: На данный момент реализован forward, который позволяет перехватить первый пакет, который отсылает игрок и зафиксить фейковых ботов. Боты тупо зависают на моменте подключения и SourceMod их не видит.

6. [Важная] Фикс кривых игровых пакетов.
Описание: Зафикшены кривые игровые пакеты.

7. [Средняя] Фикс выхода игрока.
Описание: Зафикшен кривой выход игрока, который мог привести сервер к паузе и т. д.

8. [Средняя] Фикс Kick SourceTV.
Описание: Блокируется возможность кикнуть SourceTV, при том, что игрок спокойно может зайти на сервер и его не кикнет.

9. [Средняя] Фильтрация и блокировка команд.
Описание: Блокируются команды: sm и meta. Включена блокировка команд при превышении 30 UserCmds/сек. Так же можно указать блокировку других команд в файле sourcemod/data/protectcmds/blockcmds.txt

10. [Низкая] Фикс краша сервера с помощью функции Studio_BoneIndexByName.
Описание: При установке непрекешированной модели (0), например, через SetEntData, pStudioHdr мог быть равен NULL, что приводило к крашу сервера.

11. [Низкая] Фикс краша сервера с помощью GameUI::Deactivate.
Описание: Когда игрок активировал GameUI (это возможность управлять объектами (с белым прицелом) ) — умер или вышел с сервера, то при деактивации, сервер не мог получить валидную Entity и пытался разыменовать NULL или -1, что приводило к крашу сервера.

12. [Низкая] Фикс краша сервера TakeDamage.
Описание: При попытке нанести урон после удаления g_pGameRules переменной, сервер мог крашнуться.

13. [Низкая] Фикс движка на новых версия ОС.
Описание: Можно запускать сервер на Debian 10, Ubuntu 20. Только отредактировать конфиг valve.rc. После запуска — будет работать фикс.

14. [Низкая] Фикс расширения Rest In Pawn
Описание: Пофикшена одна из функций, в которой мог возникнуть краш сервера при использовании EXT RIP

15. [Средняя] Фикс функции, которая приводила сервер к зависанию
Описание: Была найдена и пофикшена функция, которая приводила сервер к зависанию (loop).

16. [Низкая] Добавлен конфигурационный файл
Описание: Был добавлен конфигурационный файл для изменения настроек ProtectCMDS

1. Добавление расширения Cassandra в ProtectCMDS.
2. Фикс спама status, ping.
3. Фикс бомбы.
4. Фикс загрузки.
5. Еще мелкие фиксы от пользователей.
6. Фикс спрея.
7. Фикс краша RCON.
8. Фикс спама оружием.
9. Фикс физики.

Я надеюсь на развитие данной системы и вашу помощь по нахождение багов/ошибок/уязвимости и их устранению.

Контакты:
1. ВК — Каменкин Алексей
2. Дискорд — Мармелад#4028

Спасибо можно сказать:
QIWI: +79201222365
Сбер: +79201222365 или можно на карту (в ЛС)

Более подробную информацию можно узнать в ЛС.

Огромное спасибо komashchenko за помощь!

Автор WeSTMan Скачивания 441 Просмотры 12,075 Первый выпуск 5 Янв 2021 Обновление 28 Апр 2023 Оценка 5.00 звёзд 9 оценок

Источник

[CSS:V34] Server Protection 1

Просто я заметил что блок VPN есть загорелся думал норм block VPN а видимо хуже чем да же чем тот что слит давно.

РАМАЗАН

Участник

Просто я заметил что блок VPN есть загорелся думал норм block VPN а видимо хуже чем да же чем тот что слит д

gladiatorteam

Участник

Paranoiiik

хачю клиентмод

gladiatorteam

Участник

Hossinkia

Участник

Plugin copied from SourceMod Security :))
This plugin is not yet public. And will soon be available as extensions .
+Temporary))

Shahin — Bwx

Участник

gladiatorteam

Участник

Plugin copied from SourceMod Security :))
This plugin is not yet public. And will soon be available as extensions .
+Temporary))

Danyas

Участник

WeSTMan

А вот тут текст!

Если автору интересны замечания, то
1. Сделать кэш на IP, ибо каждый раз обращаться к сайту за принятием решения по VPN — не приятно.
2. Так же и с block contry
3. К сожалению, используется библиотека ConsoleHook, которая нормально так нагружает сервер. Блокировка такого типа имеет место быть, но лучше бы предоставить расширению блокировать команды.
4. Так же ты там и инициируешь двумерный строковый массив.

Это можно сделать, как глобальную переменную и инициировать только 1 раз. Так же и с Metamod.
А лучше вывести в файлик.
5. Для определения VPN, используется сайт Mind Media, он делает редирект на BlackBox. Можно изменить на второй

Grey83

не пишу плагины с весны 2022
 if (reject_type.IntValue == 1) ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam); else if (reject_type.IntValue == 2) ServerCommand("addip %i %s", ban_time.IntValue, IP); else< ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam); ServerCommand("addip %i %s", ban_time.IntValue, IP);
 if (reject_type.IntValue & 1) ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam); if (reject_type.IntValue & 2) ServerCommand("addip %i %s", ban_time.IntValue, IP);

В функциях SilentConVars(), SPLog() и CDLog() пути к файлам журналирования можно хранить в статичных или глобальных переменных и просто проверять необходимость создания путей (равен ли первый символ нулю; сомневаюсь, что можно изменить путь к папке SM не выключая работающие плагины). Кмк, глобальные предпочтительней и сроздавать их лучше при старте плагина.

Защита от выгрузки будет конфликтовать со смаком (и может положить сервер, кмк), емнип.

Про остальное WeSMan уже написал.

gladiatorteam

Участник

Если автору интересны замечания, то
1. Сделать кэш на IP, ибо каждый раз обращаться к сайту за принятием решения по VPN - не приятно.
2. Так же и с block contry
3. К сожалению, используется библиотека ConsoleHook, которая нормально так нагружает сервер. Блокировка такого типа имеет место быть, но лучше бы предоставить расширению блокировать команды.
4. Так же ты там и инициируешь двумерный строковый массив.

Это можно сделать, как глобальную переменную и инициировать только 1 раз. Так же и с Metamod.
А лучше вывести в файлик.
5. Для определения VPN, используется сайт Mind Media, он делает редирект на BlackBox. Можно изменить на второй

 if (reject_type.IntValue == 1) ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam); else if (reject_type.IntValue == 2) ServerCommand("addip %i %s", ban_time.IntValue, IP); else< ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam); ServerCommand("addip %i %s", ban_time.IntValue, IP);
 if (reject_type.IntValue & 1) ServerCommand("sm_addban %i %s Rejected By ServerProtection", ban_time.IntValue, Steam); if (reject_type.IntValue & 2) ServerCommand("addip %i %s", ban_time.IntValue, IP);

В функциях SilentConVars(), SPLog() и CDLog() пути к файлам журналирования можно хранить в статичных или глобальных переменных и просто проверять необходимость создания путей (равен ли первый символ нулю; сомневаюсь, что можно изменить путь к папке SM не выключая работающие плагины). Кмк, глобальные предпочтительней и сроздавать их лучше при старте плагина.

Защита от выгрузки будет конфликтовать со смаком (и может положить сервер, кмк), емнип.

Про остальное WeSMan уже написал.

Спасибо за советы
Исправлю проблемы в обновлении

Источник

[CS:S v34] ProtectCMDS 1.0.8

ProtectCMDS - новая система защиты от взлома сервера, альтернатива ProcessCmds.
Описание: Система будет представлена в виде расширения и будет иметь доступ по.

NaN

FPE_INTDIV_TRAP

1609864717069.png

а зачем этот костыль? ради case sensitive сравнения строк? тогда логичнее сразу эту функцию запилить только под это либо тогда уж проверять в начале необходимость приведения к нижнему регистру и если нужно, то тогда создавать переменные и копировать строки

1609864959953.png

мне кажется можно сразу по массиву проходиться с помощью while

helper можно объединить с utils

1609865098814.png

бесполезный метод который заменяется простым выражением:

WeSTMan

А вот тут текст!

Посмотреть вложение 70158
а зачем этот костыль? ради case sensitive сравнения строк? тогда логичнее сразу эту функцию запилить только под это либо тогда уж проверять в начале необходимость приведения к нижнему регистру и если нужно, то тогда создавать переменные и копировать строки

Посмотреть вложение 70159
мне кажется можно сразу по массиву проходиться с помощью while

helper можно объединить с utils

Посмотреть вложение 70160
бесполезный метод который заменяется простым выражением:

WeSTMan

А вот тут текст!

WeSMan обновил(а) ресурс [CS:S v34] ProtectCMDS новой записью:

Работы, которые были произведены:
1. Рефакторинг кода;
2. Оптимизация;
3. Переписаны несколько методов класса CNetChan;
4. Фикс кривого выхода игрока;
5. Фикс спама кривыми игровыми пакетами.

Boeing 767

заскамили мамонта ни за что, ни про что

Глянул бегло код , не очень понравились захардкоженные оффсеты для получения данных из классов(в 34 я так думаю вообще не меняется ничего, и можно было нормально класс описать с переменными и тд.) и много чего по мелочи.
Но что бросилось в глаза , функция IsSafeFileToDownload , которую можно было бы взять получше из более свежих сурсов игры, т.к в текущей можно с помощью костылей обойти проверку и скачать и загрузить что нужно.
Я бы посоветовал брать код отсюда, т.к здесь более "свежий" сервер и движок. По поводу проверки файлов, функцию скопировать лучше отсюда.

Источник

Оцените статью