Rezolvare exploit SQL Inject Metin2 Tipărire

  • 0

Există o vulnerabilitate în messenger, friend list şi creare breaslă unde poţi executa un code sql ce şterge tabelele din player, iar rezolvările sunt următoarele:

Pentru GAME 2089 (Diff GAME)

002EB6F5: 01 00

Pentru GAME 2089 (Diff DATABASE)

00082F15: 01 00

Pentru GAME 34k (Diff GAME)

game_r34083_32
0040DFE5: 01 00

Pentru GAME 34k (Diff DATABASE)

db_r33820_32_u
000925A5: 01 00


Pentru GAME 40k

Căutaţi fişierul db.cpp, îl deschideţi iar în el căutaţi următoarea linie :

void DBManager::Query(const char * c_pszFormat, …)

şi înlocuiţi toată linia cu :

    void DBManager::Query(const char * c_pszFormat, …)
    {
    char szQuery[4096];
    va_list args;

    va_start(args, c_pszFormat);
    vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
    va_end(args);
    std::string sQuery(szQuery);

    m_sql.AsyncQuery(sQuery.substr(0,sQuery.find_first_of(„;”)==-1?sQuery.length(): sQuery.find_first_of(„;”)).c_str());
    }


după aceea căutaţi linia :

    SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, …)

pe care o înlocuiţi cu :

SQLMsg * DBManager::DirectQuery(const char * c_pszFormat, …)
{
char szQuery[4096];
va_list args;
va_start(args, c_pszFormat);
vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
va_end(args);
std::string sQuery(szQuery);
return m_sql_direct.DirectQuery(sQuery.substr(0, sQuery.find_first_of(„;”) == -1 ? sQuery.length() : sQuery.find_first_of(„;”)).c_str());
}

Răspunsul a fost util?

« înapoi

xServere.NET în Cifre: Încredere, Stabilitate și Performanță

0
Clienți activi
0
Servere livrate
0%
Uptime garantat
0
Domenii înregistrate

Te muti la noi?

Migrarea catre un nou furnizor de hosting poate fi extrem de complicata .
Fii relaxat si lasa-i expertii nostri sa o faca! Vom muta site-ul existent în 48 de ore, fara intrerupere .
Inclus GRATUIT la achizitionarea oricarui pachet de gazduire .

Solicită Migrare Gratuită