Jump to content
×
×
  • Create New...

Correctif de vulnérabilité DoS - HEADER_CG_CHARACTER_SELECT


Recommended Posts

  • Administrator

Il y a existe une attaque DoS qui contourne HEADER_CG_CHARACTER_SELECT avec un identifiant de personnage invalide provoquant une surcharge et un plantage de la base de données, dans la base de données syslog, vous trouverez de nombreuses entrées [PLAYER_LOAD] Load from PlayerDB pid[0]

Dans le fichier input_login.cpp

Au dessus de :

db_clientdesc->DBPacket(HEADER_GD_PLAYER_LOAD, d->GetHandle(), &player_load_packet, sizeof(TPlayerLoadPacket));

Ajoutez :

if (player_load_packet.player_id == 0)
{
  sys_err("invalid player_id from account %d\n",c_r.id);
  d->DelayedDisconnect(0);
  return;
}

Ca doit ressemble à ça :

if (player_load_packet.player_id == 0)
{
  sys_err("invalid player_id from account %d\n",c_r.id);
  d->DelayedDisconnect(0);
  return;
}

db_clientdesc->DBPacket(HEADER_GD_PLAYER_LOAD, d->GetHandle(), &player_load_packet, sizeof(TPlayerLoadPacket));

Ce correctif garantira que le joueur sera déconnecté lors du choix d'un personnage invalide, ce qui rendra plus difficile le spam.

french_banner.gif

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.