• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Расскажите по подробней про краш rage mp server через marketplace merumond Redage v3

Wsquad

Новый участник
16 Апр 2021
116
4
79
Расскажите по подробней про краш rage mp server через marketplace merumond Redage v3
 

Wsquad

Новый участник
16 Апр 2021
116
4
79
Я понял что они делают как то через маркет запрос который уходит в бд и происходит так что серваком можно управлять через запросы и все его запросы выполняються от именни сервера
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,983
1,980
208
35
если запрос в бд - то скорее всего это скуль инъекция?

пиздец, мерумонд тыщу лет хуячит скрипты и там до сих пор легаси sql просто?
ебануца
 

Wsquad

Новый участник
16 Апр 2021
116
4
79
если запрос в бд - то скорее всего это скуль инъекция?

пиздец, мерумонд тыщу лет хуячит скрипты и там до сих пор легаси sql просто?
ебануца
Потому что они от имени сервера это делают и как до меня дошло это делаеться либо через название товара или через коментарий где будет лежать например запрос на выдачу админки по типу (INSERT INTO)
 

Wsquad

Новый участник
16 Апр 2021
116
4
79
если запрос в бд - то скорее всего это скуль инъекция?

пиздец, мерумонд тыщу лет хуячит скрипты и там до сих пор легаси sql просто?
ебануца
если не сложно можешь примерно объяснить как от этого можно защититься кроме как запретить название у товара INSERT INTO
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,647
2,832
219
если не сложно можешь примерно объяснить как от этого можно защититься кроме как запретить название у товара INSERT INTO
Если в тупую:

1) Поменяй название эвентов на клиенте и сервере
2) Поменяй название таблиц, названия колонок в них
3) Загрузи код в нейронку и попроси ее поискать в нем потенциальные уязвимости

А лучше вместо этого удали этот скрипт и все :super_klass:
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,983
1,980
208
35
если не сложно можешь примерно объяснить как от этого можно защититься
ну давай попробую

запретить название у товара INSERT INTO
так точно делать не надо, потому что это следствие а не причина
это как спид цитрамоном лечить

берём в пример какой то рандомный метод, который напрямую работает со скулём

C#:
public void RegisterUser(string username, string password)
{
    string connectionString = "Server=localhost;Database=ragemp_db;User=inoi;Password=pidor;";

    using (MySqlConnection conn = new MySqlConnection(connectionString))
    {
        conn.Open();

         // твой собсна запрос например такой
        string query = $"INSERT INTO Users (Username, Password) VALUES ('{username}', '{password}')";

        using (MySqlCommand cmd = new MySqlCommand(query, conn))
        {
            cmd.ExecuteNonQuery();
        }
    }
}

вот это - хуйня ебучая, написанная одноклеточным (мной)
начать можно в целом с того что использование легаси плайн sql - это уже диагноз в 2к25
но ну ладно

почему
потому что допустим это форма регистрации
если игрок в форму в поле логина вхуячит че то типа

SQL:
testuser'); DROP TABLE Users; --

то твой итоговый запрос (то что у тебя в коде + то что нахуячил пользователь) будет выглядеть как

SQL:
INSERT INTO Users (Username, Password) VALUES ('testuser'); DROP TABLE Users; -- ', 'пароль')

И он выполнится, и у тебя отлетит табличка Users соответственно к хуям
почему
потому что вот у тебя скуль парсит запрос
сначала он видит до первой ; -

SQL:
INSERT INTO Users (Username, Password) VALUES ('testuser');
в его понимании - всё заебись, нужно просто вставить юзернейм
он вставляет
потом следующий кусок
C#:
DROP TABLE Users;
скуль думает - ага, дропнуть нахуй таблицу СЭР ЕСТЬ СЭР

а вот это
C#:
 -- ', 'пароль')
он просто пропускает, потому что -- - это значок комментария в скуле который нужен просто чтобы закрыть кавычку вокруг твоего username и не отлететь в синтаксическую ошибку


Какие есть ну очевидно простые варианты
Параметризированный запрос

C#:
public void RegisterUserSafe(string username, string password)
{
    string connectionString = "Server=localhost;Database=ragemp_db;User=inoi;Password=nepidor;";

    using (MySqlConnection conn = new MySqlConnection(connectionString))
    {
        conn.Open();

        string query = "INSERT INTO Users (Username, Password) VALUES (@username, @password)";

        using (MySqlCommand cmd = new MySqlCommand(query, conn))
        {
            cmd.Parameters.AddWithValue("@username", username);
            cmd.Parameters.AddWithValue("@password", password);

            cmd.ExecuteNonQuery();
        }
    }
}

че тут происходит
тут у тебя @username и @password - это плейсхолдеры, как замена значений
а AddWithValue(...) - вставляет их в запрос безопасно, потому что скуль знает, что это - значения, а не куски кода
и даже если твою хитрожопый игрок вхуячит всё тот же кусок кода с DROP TABLE - это будет просто строка, а не команда.

но это типа совсем как бы ну база
это не какая то там хитрость, это вообще единственный нормальный способ работы с скл

а ещё лучше вообще вот так

C#:
    cmd.Parameters.Add("@username", MySqlDbType.VarChar).Value = username;
    cmd.Parameters.Add("@password", MySqlDbType.VarChar).Value = password;
потому что типы иногда могут неправильно определиться ну и лучше точно типизировать

а вообще ну минимально есть ну я не говорю про ef уж ок, там видимо ковыряние редаги всё ещё (второй нахуй что ли?) - но ну ХОТЯ БЫ НАХУЙ Dapper

хуячить sqlcommand в современности это ну, я хуй знает даже как назвать
ну только если ты совсем опасный для прода новичек

если это р3, и при существующем там
госпаааади бляяять что там за фреймворк
а
а
а
а

я забыл

линк2дб во
если короче это в рамках р3 "скрипт" на легаси скл, то это вообще пиздец - там уже есть среда, которая позволяет разработчику работать с бд нормально без легаси-кода
а вообще на код надо посмотреть конечно чтобы че то чётче ответить
но базово это вот про это всё

а вообще ну, да спецсимволы можно и в форме цефки фильтровать (и нужно)
но в идеале - и нормально с бд работать хотя бы параметризированными запросами - и формы фильтровать на предмет всяких ; - и прочая, конечно

как-то плюс-минус так
 

6nxverid3e.

Новый участник
20 Июн 2025
6
1
5
Маркетплейс мерумонда есть в опен сорсе? Интересно на код взглянуть)
 

Dmitry_V

Гений
23 Июн 2023
2,223
365
131
28
Он слитый поэтому и берут все кому не лень а т.к не покупали и предъявить не могут
 

LIAS1N

Активный участник
9 Окт 2021
160
29
95
Маркетплейс мерумонда есть в опен сорсе? Интересно на код взглянуть)
Там все радужно. Не следует стилистике проекта, городит повторяющийся функционал, делает свои библиотеки отдельными дллками непонятно нахуя. Рекомендую к покупке :)
 

Dmitry_V

Гений
23 Июн 2023
2,223
365
131
28
Там все радужно. Не следует стилистике проекта, городит повторяющийся функционал, делает свои библиотеки отдельными дллками непонятно нахуя. Рекомендую к покупке :)
Мне тоже интересно нахуя. Давно заметил эту тему.)
 

Wsquad

Новый участник
16 Апр 2021
116
4
79
ну давай попробую


так точно делать не надо, потому что это следствие а не причина
это как спид цитрамоном лечить

берём в пример какой то рандомный метод, который напрямую работает со скулём

C#:
public void RegisterUser(string username, string password)
{
    string connectionString = "Server=localhost;Database=ragemp_db;User=inoi;Password=pidor;";

    using (MySqlConnection conn = new MySqlConnection(connectionString))
    {
        conn.Open();

         // твой собсна запрос например такой
        string query = $"INSERT INTO Users (Username, Password) VALUES ('{username}', '{password}')";

        using (MySqlCommand cmd = new MySqlCommand(query, conn))
        {
            cmd.ExecuteNonQuery();
        }
    }
}

вот это - хуйня ебучая, написанная одноклеточным (мной)
начать можно в целом с того что использование легаси плайн sql - это уже диагноз в 2к25
но ну ладно

почему
потому что допустим это форма регистрации
если игрок в форму в поле логина вхуячит че то типа

SQL:
testuser'); DROP TABLE Users; --

то твой итоговый запрос (то что у тебя в коде + то что нахуячил пользователь) будет выглядеть как

SQL:
INSERT INTO Users (Username, Password) VALUES ('testuser'); DROP TABLE Users; -- ', 'пароль')

И он выполнится, и у тебя отлетит табличка Users соответственно к хуям
почему
потому что вот у тебя скуль парсит запрос
сначала он видит до первой ; -

SQL:
INSERT INTO Users (Username, Password) VALUES ('testuser');
в его понимании - всё заебись, нужно просто вставить юзернейм
он вставляет
потом следующий кусок
C#:
DROP TABLE Users;
скуль думает - ага, дропнуть нахуй таблицу СЭР ЕСТЬ СЭР

а вот это
C#:
 -- ', 'пароль')
он просто пропускает, потому что -- - это значок комментария в скуле который нужен просто чтобы закрыть кавычку вокруг твоего username и не отлететь в синтаксическую ошибку


Какие есть ну очевидно простые варианты
Параметризированный запрос

C#:
public void RegisterUserSafe(string username, string password)
{
    string connectionString = "Server=localhost;Database=ragemp_db;User=inoi;Password=nepidor;";

    using (MySqlConnection conn = new MySqlConnection(connectionString))
    {
        conn.Open();

        string query = "INSERT INTO Users (Username, Password) VALUES (@username, @password)";

        using (MySqlCommand cmd = new MySqlCommand(query, conn))
        {
            cmd.Parameters.AddWithValue("@username", username);
            cmd.Parameters.AddWithValue("@password", password);

            cmd.ExecuteNonQuery();
        }
    }
}

че тут происходит
тут у тебя @username и @password - это плейсхолдеры, как замена значений
а AddWithValue(...) - вставляет их в запрос безопасно, потому что скуль знает, что это - значения, а не куски кода
и даже если твою хитрожопый игрок вхуячит всё тот же кусок кода с DROP TABLE - это будет просто строка, а не команда.

но это типа совсем как бы ну база
это не какая то там хитрость, это вообще единственный нормальный способ работы с скл

а ещё лучше вообще вот так

C#:
    cmd.Parameters.Add("@username", MySqlDbType.VarChar).Value = username;
    cmd.Parameters.Add("@password", MySqlDbType.VarChar).Value = password;
потому что типы иногда могут неправильно определиться ну и лучше точно типизировать

а вообще ну минимально есть ну я не говорю про ef уж ок, там видимо ковыряние редаги всё ещё (второй нахуй что ли?) - но ну ХОТЯ БЫ НАХУЙ Dapper

хуячить sqlcommand в современности это ну, я хуй знает даже как назвать
ну только если ты совсем опасный для прода новичек

если это р3, и при существующем там
госпаааади бляяять что там за фреймворк
а
а
а
а

я забыл

линк2дб во
если короче это в рамках р3 "скрипт" на легаси скл, то это вообще пиздец - там уже есть среда, которая позволяет разработчику работать с бд нормально без легаси-кода
а вообще на код надо посмотреть конечно чтобы че то чётче ответить
но базово это вот про это всё

а вообще ну, да спецсимволы можно и в форме цефки фильтровать (и нужно)
но в идеале - и нормально с бд работать хотя бы параметризированными запросами - и формы фильтровать на предмет всяких ; - и прочая, конечно

как-то плюс-минус так
Спасибо большое попробую реализовать
 
Реакции: Inoi

Wsquad

Новый участник
16 Апр 2021
116
4
79
Если в тупую:

1) Поменяй название эвентов на клиенте и сервере
2) Поменяй название таблиц, названия колонок в них
3) Загрузи код в нейронку и попроси ее поискать в нем потенциальные уязвимости

А лучше вместо этого удали этот скрипт и все :super_klass:
Да не хочется писать маркет с 0 когда можно делать не в тупую
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,869
1,649
211
28
если это р3, и при существующем там
госпаааади бляяять что там за фреймворк
а
а
а
а

я забыл

линк2дб во
если короче это в рамках р3 "скрипт" на легаси скл, то это вообще пиздец - там уже есть среда, которая позволяет разработчику работать с бд нормально без легаси-кода
К сожалению, местами там всё ещё есть просто тупые запросы, которые никто не трогал сотню тысяч лет.
Как пример:
1750526730596.png

Понятное дело, что проблема не в этом конкретном запросе, но в целом и общем вполне вероятно, что где-то что-то да есть.
 
  • Wow
Реакции: Inoi

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,869
1,649
211
28
Звучит сладко, но верится с трудом
И правильно верится.
Если кто-то говорит, что использует редагу и там 90% переделанного "своих купленных систем", то это с вероятностью в те же 90% - не правда.
Какой смысл был брать готовый мод, чтобы потом переработать его на 90% и какая у этого должна быть стоимость (поочерёдно удалять каждый отдельный узел системы и переписывать его с нуля), ведь в таком случае мод с нуля стоил бы в несколько раз дешевле.
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,983
1,980
208
35
И правильно верится.
Если кто-то говорит, что использует редагу и там 90% переделанного "своих купленных систем", то это с вероятностью в те же 90% - не правда.
Какой смысл был брать готовый мод, чтобы потом переработать его на 90% и какая у этого должна быть стоимость (поочерёдно удалять каждый отдельный узел системы и переписывать его с нуля), ведь в таком случае мод с нуля стоил бы в несколько раз дешевле.
ну он сказал 90% своих типа а не пижженых систем
а не на 90% свой мод

то есть всё что им доделывали - доделывали именно им за бабки видимо
а не просто скаченное с паблика че то
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,869
1,649
211
28
ну он сказал 90% своих типа а не пижженых систем
а не на 90% свой мод

то есть всё что им доделывали - доделывали именно им за бабки видимо
а не просто скаченное с паблика че то
Ну это типа как иметь 10 систем, 9 из которых куплены. В формате целого игрового мода 9 систем это ничто.
Поэтому тогда я тем более не понимаю к чему были эти 90%, но ладно :j33r:
 

Dmitry_V

Гений
23 Июн 2023
2,223
365
131
28
И правильно верится.
Если кто-то говорит, что использует редагу и там 90% переделанного "своих купленных систем", то это с вероятностью в те же 90% - не правда.
Какой смысл был брать готовый мод, чтобы потом переработать его на 90% и какая у этого должна быть стоимость (поочерёдно удалять каждый отдельный узел системы и переписывать его с нуля), ведь в таком случае мод с нуля стоил бы в несколько раз дешевле.
Да я больше о том, что все чего не было в редаге по дефолту и есть в их сборке также слито в сети и фраза про купили выглядит несколько сомнительно. А про 90% - это смех вообще. Как я говорил в прошлой теме, ни один фикс любой сборки не сделает ее уникальной или тем более твоей. Владельцем в любом случае будет тот кто не написал/купил т.к огромный пласт кода принадлежит ему