MMORPG Core - Deutsche Community für Online Rollenspiele - Powered by vBulletin

  • AAA
  • Aggressive
  • Alienated
  • Amazed
  • Amused
  • Angelic
  • Angry
  • Apelike
  • Artistic
  • Asleep
  • Balanced
  • Banhappy
  • Bashful
  • Bitchy
  • Blah
  • Bookworm
  • Bored
  • Breezy
  • Brooding
  • Busy
  • Buzzed
  • Chatty
  • Cheeky
  • Cheerful
  • Cloud 9
  • Cold
  • Coldturkey
  • Confused
  • Cool
  • Crappy
  • Creative
  • Curious
  • Cynical
  • Daring
  • Dead
  • Depressed
  • Devilish
  • Disagree
  • Doh
  • Doubtful
  • Dramaqueen
  • Dreaming
  • Drunk
  • Elated
  • Energetic
  • Fiendish
  • Fine
  • Flirty
  • Gloomy
  • Goofy
  • Grumpy
  • Happy
  • Horny
  • Hot
  • Hungover
  • In Love
  • Innocent
  • Inpain
  • Insomnious
  • Inspired
  • Lonely
  • Lucky
  • Lurking
  • Mellow
  • Mischievious
  • Mondayblues
  • Musical
  • Nerdy
  • Notamused
  • Notworthy
  • Paranoid
  • Pensive
  • Predatory
  • Procrastinating
  • Psychedelic
  • Question
  • Relaxed
  • Roflmao
  • Sad
  • Scared
  • Scurvy
  • Shocked
  • Sick
  • Sleepy
  • Sluggish
  • Sneaky
  • Snobbish
  • Spaced
  • Spooky
  • Sporty
  • Starving
  • Stressed
  • Sunshine
  • Sweettooth
  • Thinking
  • Tired
  • Torn
  • Twisted
  • Veggedout
  • Volatile
  • Woot
  • Worried
  • Yeehaw
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • Tweet   
    Ergebnis 1 bis 4 von 4
    1. #1
      rulez
      Gast
       

      Standard [Security Fix]Char Create Bug

      Die Werbung stört? Registriere dich hier!
      Hi Community,

      hab vor ca. 1 Monat mal einen Bug gefixt, der es Angreifern ermöglicht hat einen Character im Account eines anderen zu erstellen.
      Ich weiß das klingt zwar nicht so böse aber immerhin ist es ein Bug der andere Accounts beeinflussen kann und sollte daher gefixt werden.

      Deshalb release ich hier ein kleines Snippet, welches diesen Bug behebt. :)

      Ihr sucht erstmal folgendes: "CDbManager::CreatePlayer(" im DatabaseServer und kopiert folgenden Code unter den Code des "2nd Password Systems":

      #ifdef __CHAR_CREATE_FIX
      char szQuery0[QUERY_SIZE] = { 0,};
      sprintf(szQuery0, "SELECT * FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL WHERE account='%s' AND password='%s'", lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPassword);

      if( FALSE == qry->Exec( szQuery0 ))
      {
      WriteLog( "%s, %d\r\n\t%s", __FILE__, __LINE__, szQuery0 );
      FreeRequest( lpDbOverlappedPlus );
      return;
      }

      if(!qry->Fetch())
      {
      FreeRequest( lpDbOverlappedPlus );
      return;
      }
      #endif
      Als nächstes nurnoch ein #define __CHAR_CREATE_FIX in der VersionCommon des DB Servers und es sollte behoben sein. :)
      Ist wahrscheinlich nicht der schönste Code aber es funktioniert.^^
      lg Ich;

    2. #2
      Neuling
       

      Registriert seit
      Dec 2010
      Beiträge
      16
      Danke
      0
      Danke erhalten: 0

      Standard

      Hat das schon jemand getestet? Weil hier niemand was schreibt

    3. #3
      Top Poster
       
      Avatar von dennisdra
      Registriert seit
      Sep 2009
      Ort
      Leverkusen
      Beiträge
      613
      Danke
      365
      Danke erhalten: 67

      Standard

      Richtig,

      würd mich auch gern ma interessieren.


    4. #4
      Gesperrt
       

      Registriert seit
      Aug 2009
      Beiträge
      1,273
      Danke
      98
      Danke erhalten: 1,210

      Standard

      Funktionieren tuts schon. Ist aber kacke extra einen Query dafür auszuführen.

      Schaut einfach in der CHARACTER_STR welche @iGu übergeben wird und in diesem Bereich könnt ihr es direkt via. Datenbank fixxen.

    Lesezeichen

    Berechtigungen

    • Neue Themen erstellen: Nein
    • Themen beantworten: Nein
    • Anhänge hochladen: Nein
    • Beiträge bearbeiten: Nein
    •