[BUG] Connection-less player flood

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [BUG] Connection-less player flood

      Also wie ihr wahrscheinlich wisst sind die build+ server von mir und G@mer sehr beliebt für viele Spieler und ein paar "German Lolkids (thx Kottizen for this word :P)" mögen mich und meine server überhaupt nicht! Und einer von diesen "German Lolkids" (ja es ist ein deutscher wohnt in Frankfurt laut ip lookup, home pc laut tracert und ping) hat einen bug in Teeworlds gefunden der den Server mit ungültigen Spielern floodet diese machen den server voll und andere können darauf nicht joinen! Man kann die Spieler nur im Server Browser sehen und ingame oder mit status nicht (status habe ich für diese Zwecke modifiziert da ich die ip brauchte). Kennt jemand von euch einen Patch dagegen oder habt ihr selber so ein tool was weiß ich irgend was was mir helfen könnte? Ich hab das "German Lolkid" mit iptables einen permban gegeben aber die server sind weiterhin unsicher deshalbe brauche ich einen patch oder irgend was anderes das mir hilft. Auf refactor umsteigen wäre zu aufwendig und das will ich wirklich nicht machen..


      Also nochmal für die die es nicht kapieren: Jemand hat ein tool entwickelt das den Server floodet mit nicht existierenden Spielern obwohl ein Multiclient Schutz oben ist (alle Spieler haben die selbe ip). Die Spieler kann man nur im Server browser bei info sehen und mit einem modifiziertem status befehl der alle verbundenen ips anzeigt. ich werde nicht mehr details an die öffentlichkeit geben da man sonst so etwas nachcoden könnte was ich wirklich nicht will.

      Wieso müssen in Teeworlds eigentlich so destruktive Leute sein? (Ich weiß Teecrash ist von mir aber ich habe es nie an die öffentlichkeit gegeben! Das war nur für den Privatgebrauch und nie um damit fast ganz Teeworlds zu zerstören)


      PS:Darf man hier IP's posten ich würde das nämlich liebend gerne machen ;)
      Wenn ihr sie wollt sendet mir eine PN

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von BotoX ()

    • In trunk hab ich nichts gefunden obwohl ich über 15 minuten gesucht habe aber ich hab rausgefunden das der dummy hier nicht mal hin kommt da ich überall dbg_msg fallen aufgestellt habe :P

      Quellcode

      1. static void server_process_client_packet(NETCHUNK *packet)
      2. {
      3. int cid = packet->client_id;
      4. NETADDR addr;
      5. int sys;
      6. int msg = msg_unpack_start(packet->data, packet->data_size, &sys);
      7. if(clients[cid].state == SRVCLIENT_STATE_AUTH)
      8. {
      9. if(sys && msg == NETMSG_INFO)
      10. {
      11. int i, ipcnt = 0; // ip count
      12. char version[64];
      13. const char *password;
      14. int player_count = 0;
      15. str_copy(version, msg_unpack_string(), 64);
      16. if(strcmp(version, mods_net_version()) != 0)
      17. {
      18. /* OH FUCK! wrong version, drop him */
      19. char reason[256];
      20. str_format(reason, sizeof(reason), "wrong version. server is running '%s' and client '%s'.", mods_net_version(), version);
      21. netserver_drop(net, cid, reason);
      22. return;
      23. }
      24. netserver_client_addr(net, cid, &addr);
      25. dbg_msg("server", "player is in auth state 1. cid=%x ip=%d.%d.%d.%d",
      26. cid,
      27. addr.ip[0], addr.ip[1], addr.ip[2], addr.ip[3]
      28. );
      Alles anzeigen


      In network server verstehe ich nur bahnhof... wo könnte diese verdammte lücke liegen er kommt ja nicht mal zum punkt wo er nach passwort fragt oder schaut ob es eine richtige version ist aber trägt ihn schon als client ein der dann den server vollmachen kann oO wie schlecht ist das gecodet....
    • Also ich hab die Stelle gefunden wo der "Bug" liegt. in network_server gibt es eine stelle wo die connect packete verarbeitet werden. Dort muss man auch noch einen Multiconnect schutz einbauen und das ist er in der trunk version glücklicherweise schon :D also hab ich das ins alte 0.5.2 umgecodet und einfach wild kompiliert in 5 min war ich fertig es gab einen bug und ich bin schlafen gegangen :P
      Morgen habe ich nur 4 Stunden Schule danach werde ich es beheben und ausserdem vor dem release von 0.5.3 einen sicherheits patch herausbringen

      Ps: Falls wer Lust hat kann er das in der network_server coden :P


      MFG BotoX
    • öhm fisico... laber kein scheiß ;)

      ein 0.5.3 ist im Moment durchaus möglich!

      hast du schonmal überlegt, wie die versionsnummer zustande kommt?

      major.netversion.patch
      ...und da der netcode sich nicht geändert hat, ist es immernoch 0.5 ;)


      und joa... der flooding bug wurde schon vor ewigkeiten gefixt, wenn ich mich recht erinnere... wer nicht die trunk version benutzt ist selber schuld :D