• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Überprüfen ob ein Spieler von einem Bungeecord Server kommt

xXSchrandXx

Schafhirte
Registriert
16 September 2012
Beiträge
126
Diamanten
302
Minecraft
xXSchrandXx
Hi,

mir ist eine "Sicherheitslücke" bei meinem Server aufgefallen, die wahrscheinlich viele Cracked-Server haben werden:
man kann ja über einen Bungeecord Server auf andere Server joinen. Falls der Hoster des Bungeecords ein Plugin hat, welches Kommandos loggt, kann er ja die Passwörter beim Authmelogin sehen.
Wie kann ich jetzt in einem AsyncPlayerPreLoginEvent Spieler, die von einem Bungeecord Server oder ähnliches kommen sperren?

Bisher bin ich nur hier :oops:
Code:
  public void onJoin(AsyncPlayerPreLoginEvent e)
  {
    Player p = Bukkit.getPlayer(e.getName());
    if (??){
     e.disallow(org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result.KICK_FULL, "Benutze die IP: ip");
    }
  }

Danke schon mal im voraus!

Mit freundlichen Grüßen
xXSchrandXx
 

Subjektiv

Kuhfänger
Registriert
8 Juli 2017
Beiträge
54
Diamanten
300
Minecraft
Subjektiv
Hi,

mir ist eine "Sicherheitslücke" bei meinem Server aufgefallen, die wahrscheinlich viele Cracked-Server haben werden:
man kann ja über einen Bungeecord Server auf andere Server joinen. Falls der Hoster des Bungeecords ein Plugin hat, welches Kommandos loggt, kann er ja die Passwörter beim Authmelogin sehen.
Wie kann ich jetzt in einem AsyncPlayerPreLoginEvent Spieler, die von einem Bungeecord Server oder ähnliches kommen sperren?

Bisher bin ich nur hier :oops:
Code:
  public void onJoin(AsyncPlayerPreLoginEvent e)
  {
    Player p = Bukkit.getPlayer(e.getName());
    if (??){
     e.disallow(org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result.KICK_FULL, "Benutze die IP: ip");
    }
  }

Danke schon mal im voraus!

Mit freundlichen Grüßen
xXSchrandXx

Also ich bin mir nicht 100% sicher aber ich glaube, das kannst du nicht mit der normalen Spigot API, wenn ich mich nicht irre dann brauchst du dazu auch BungeeCord..
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
In jeder BungeeCord-Configuration ist es wichtig, dass die dahinterliegenden Spigot-Server nur Verbindungen von den dafür vorgesehenen BungeeCord-Server entgegen nehmen. Im einfachsten Fall laufen alle Server auf dem selben Serverrechner. Dann stellt man in der server.properties einfach server-ip=127.0.0.1 ein. Ansonsten müsste man das über Firewall-Regeln oder Spigot-Plugins regeln.
 

xXSchrandXx

Schafhirte
Registriert
16 September 2012
Beiträge
126
Diamanten
302
Minecraft
xXSchrandXx
In jeder BungeeCord-Configuration ist es wichtig, dass die dahinterliegenden Spigot-Server nur Verbindungen von den dafür vorgesehenen BungeeCord-Server entgegen nehmen. Im einfachsten Fall laufen alle Server auf dem selben Serverrechner. Dann stellt man in der server.properties einfach server-ip=127.0.0.1 ein. Ansonsten müsste man das über Firewall-Regeln oder Spigot-Plugins regeln.
Stimmt, aber ich meine das so:
Jemand fremdes hat einen Bungeecord Server laufen und als Minecraft Server meinen Spigot (cracked) Server eingetragen (ich hab keinen Bungeecord). Falls jetzt jemand über seinen Bungeecord auf meinen Server Joint, kann er alle Kommandos sehen, die der Spieler eingibt. Zum Beispiel den /Login Kommando.
Die Frage ist jetzt nur, wie ich einstellen kann, das auf meinen Spigot/Bukkit Server niemand über einen Bungeecord Server joinen kann.
 

Benny1008

Kuhfänger
Registriert
14 Juni 2017
Beiträge
67
Diamanten
300
Minecraft
Benny1008
*hust* Schon mal was von Clickbait oder Clickgeilerei gehört? *hust*
Solche Videos haben manchmal überhaupt nichts mit der Realität zu tun, sondern sind lediglich auf Profit und Klicks aus ;)
Nicht alles glauben, was man dir im Web erzählt.
Abgesehen davon wird wieder so ein "GriefClient" benutzt, was heißen könnte das es gefaket ist.
Außerdem werden meines Wissens nach, auch bei einem Cracked Server, die Skins von registrierten Spielern bei Mojang geladen. xXDennisXx ist ein registrierter Account bei Mojang und hat einen Skin (https://de.namemc.com/profile/XxDennisxX.3). Aber im Video ist er ein Alex... Mhm Komisch
 

KillawOrCarel

Kuhfänger
Registriert
15 Juli 2017
Beiträge
78
Diamanten
1
Ich hab das Video jetzt nur teilweise überflogen. Die Kinder dieser Szene können einfach nicht Programmieren (fast so schlimm wie Akademiker).

Das hier beschriebene Verfahren nennt MITM. Das hier dargestellte Video ist durchaus realistisch und auch nicht sonderlich schwer umzusetzen.
Dieses Verfahren funktioniert aber nur, wenn die entsprechenden Personen sich auf den Proxy verbinden (Sind diese auch dann selbst Schuld).
Dieses Verfahren funktioniert nicht so einfach dank einem bestimmten Verfahren. Im offline Modus kann man sich davor nicht schützen.
 

Subjektiv

Kuhfänger
Registriert
8 Juli 2017
Beiträge
54
Diamanten
300
Minecraft
Subjektiv
Ich hab das Video jetzt nur teilweise überflogen. Die Kinder dieser Szene können einfach nicht Programmieren (fast so schlimm wie Akademiker).

Das hier beschriebene Verfahren nennt MITM. Das hier dargestellte Video ist durchaus realistisch und auch nicht sonderlich schwer umzusetzen.
Dieses Verfahren funktioniert aber nur, wenn die entsprechenden Personen sich auf den Proxy verbinden (Sind diese auch dann selbst Schuld).
Dieses Verfahren funktioniert nicht so einfach dank einem bestimmten Verfahren. Im offline Modus kann man sich davor nicht schützen.

Hast du irgendein Problem mit Kindern in der Minecraft-Szene?? Scheint so als wärst du einer von denen die bereits ü30 sind und sich darüber aufregen das Kinder Minecraft spielen, fast so als würdest du als Erwachsener in einem Sandkasten spielen und dich beschweren dass Kinder das auch machen, aber gut... Man kann sich sehrwohl davor schützen indem man sich einen kleinen "Zwischen-Server" macht der dann über BungeeCord läuft und direkt auf den normalen Server weiterleitet. ( Auf dem normalen Server muss man dann jedoch auch BungeeCord installieren ). Somit kann man dem Spieler nur die Verbindung von dem "Zwischen-Server" erlauben, und der muss nicht besonders ausgestattet sein, kann also auch ein billiger Gameserver für 1 Euro sein und man schützt seine User vor sowas..
 

KillawOrCarel

Kuhfänger
Registriert
15 Juli 2017
Beiträge
78
Diamanten
1
Hast du irgendein Problem mit Kindern in der Minecraft-Szene??
Gegen kinder im generellen? Nein. Natürlich nicht. Das wäre leichtt heuchlerich, wenn ich selbst Kinder hätte. Mich nerven infantile Kinder im allgemeinen, die mit absolutem Selbstbewusstsein Unsinn reden. Kleine Kostprobe? Personen die sich Entwickler schimpfen und dann Probleme bei den kleinsten Änderungen haben oder meinen sie hätten Ahnung von Netzwerken (siehe unten).

Man kann sich sehrwohl davor schützen indem man sich einen kleinen "Zwischen-Server" macht der dann über BungeeCord läuft und direkt auf den normalen Server weiterleitet.
Sorry, aber wie im Video auch ersichtlich wurde es auf einem Server angewendet, welcher auch Bungecord System verfügt. Wenn man das ganze noch unaufälliger machen möchte, kann man den gesamten Traffic einfach über einen Proxy leiten, welcher die Pakete des Clienten noch nicht einmal wirklich versteht. Das ist im übrigen eine der Demos vom Netty Projekt. (Wird zwar als solches nicht bezeichnet, kann aber ganz leicht so verwendet werden).
 

Subjektiv

Kuhfänger
Registriert
8 Juli 2017
Beiträge
54
Diamanten
300
Minecraft
Subjektiv
Gegen kinder im generellen? Nein. Natürlich nicht. Das wäre leichtt heuchlerich, wenn ich selbst Kinder hätte. Mich nerven infantile Kinder im allgemeinen, die mit absolutem Selbstbewusstsein Unsinn reden. Kleine Kostprobe? Personen die sich Entwickler schimpfen und dann Probleme bei den kleinsten Änderungen haben oder meinen sie hätten Ahnung von Netzwerken (siehe unten).

Sorry, aber wie im Video auch ersichtlich wurde es auf einem Server angewendet, welcher auch Bungecord System verfügt. Wenn man das ganze noch unaufälliger machen möchte, kann man den gesamten Traffic einfach über einen Proxy leiten, welcher die Pakete des Clienten noch nicht einmal wirklich versteht. Das ist im übrigen eine der Demos vom Netty Projekt. (Wird zwar als solches nicht bezeichnet, kann aber ganz leicht so verwendet werden).

Ja das stimmt, das Login-System ist aber auch auf dem Lobbyserver. Ich meinte das so, dass man auf einen Server verbunden wird der einen ohne weiteres auf einen anderen Server weiterleitet wo schließlich der Login usw stattfindet.
 

xXSchrandXx

Schafhirte
Registriert
16 September 2012
Beiträge
126
Diamanten
302
Minecraft
xXSchrandXx
*hust* Schon mal was von Clickbait oder Clickgeilerei gehört? *hust*
Solche Videos haben manchmal überhaupt nichts mit der Realität zu tun, sondern sind lediglich auf Profit und Klicks aus ;)
Nicht alles glauben, was man dir im Web erzählt.
Abgesehen davon wird wieder so ein "GriefClient" benutzt, was heißen könnte das es gefaket ist.
Außerdem werden meines Wissens nach, auch bei einem Cracked Server, die Skins von registrierten Spielern bei Mojang geladen. xXDennisXx ist ein registrierter Account bei Mojang und hat einen Skin (https://de.namemc.com/profile/XxDennisxX.3). Aber im Video ist er ein Alex... Mhm Komisch
Ich habs mit nem Freund getestet, es funktioniert leider..
 

xXSchrandXx

Schafhirte
Registriert
16 September 2012
Beiträge
126
Diamanten
302
Minecraft
xXSchrandXx
Kann man den Spieler nicht einfach über den BungeeCord kicken?
https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/

Code:
  @EventHandler(priority=EventPriority.HIGHEST)
  public void onJoin(PlayerJoinEvent e)
  {
    Player p = e.getPlayer();
    de.xforcehd.Data.BungeeCord.onBungee(p.getName().replace("CraftPlayer{name=", "").replace("}", ""), p);
  }
Code:
  public static boolean onBungee (String Playername, Player Player){
    ByteArrayOutputStream b = new ByteArrayOutputStream();
    DataOutputStream out = new DataOutputStream(b);
    try {
      Messenger messenger = Bukkit.getMessenger();
      if (!messenger.isOutgoingChannelRegistered(System_Main.getInstance(), "BungeeCord")) {
        messenger.registerOutgoingPluginChannel(System_Main.getInstance(), "BungeeCord");
      }
      out.writeUTF("KickPlayer");
      out.writeUTF(Playername);
      out.writeUTF("Benutze die IP: Gamestrike.de");
    }
    catch (IOException ex) {
      ex.printStackTrace();
      log.warning("Could not handle BungeeCord command from " + Playername + ".");
      return false;
    }
    Player.sendPluginMessage(System_Main.getInstance(), "BungeeCord", b.toByteArray());
    return true;
  }
 
Oben