This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

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

Wsquad

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

Wsquad

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

Inoi

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

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

Wsquad

Новый участник
16 Апр 2021
119
4
79
Потому что они от имени сервера это делают и как до меня дошло это делаеться либо через название товара или через коментарий где будет лежать например запрос на выдачу админки по типу (INSERT INTO)
 

Wsquad

Новый участник
16 Апр 2021
119
4
79
если не сложно можешь примерно объяснить как от этого можно защититься кроме как запретить название у товара INSERT INTO
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219
Если в тупую:

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

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

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,080
2,006
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
7
1
5
Маркетплейс мерумонда есть в опен сорсе? Интересно на код взглянуть)
 

Dmitry_V

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

LIAS1N

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

Dmitry_V

Гений
23 Июн 2023
2,393
396
131
28
Мне тоже интересно нахуя. Давно заметил эту тему.)
 

Wsquad

Новый участник
16 Апр 2021
119
4
79
Спасибо большое попробую реализовать
 
Реакции: Inoi

Wsquad

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

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,934
1,676
211
28
К сожалению, местами там всё ещё есть просто тупые запросы, которые никто не трогал сотню тысяч лет.
Как пример:

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

XDeveluxe

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

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,080
2,006
208
35
ну он сказал 90% своих типа а не пижженых систем
а не на 90% свой мод

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

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,934
1,676
211
28
Ну это типа как иметь 10 систем, 9 из которых куплены. В формате целого игрового мода 9 систем это ничто.
Поэтому тогда я тем более не понимаю к чему были эти 90%, но ладно
 

Dmitry_V

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

Similar threads