[RELEASE]Networkchat

08/29/2013 23:19 .Colossus.#16
interessant...
habe nicht gedacht das so etwas möglich ist.

Vll kann ich daraus was nützliches machen
08/29/2013 23:20 Nick#17
Hut ab @ .XXShuzZzle - die Idee ist wahrhaft lobenswert.

Nett, was sich mit der Zeit für neue Möglichkeiten aufdecken, das Spiel zu modifizieren, an der Umsetzung haperts meiner Meinung nach auch nicht.
__

Gruß.
08/30/2013 12:17 Red Firestar#18
Danke für die Arbeit und danke fürs teilen.
08/30/2013 14:27 DaRealFreak#19
Quote:
Originally Posted by Mi4uric3 View Post
Schlechter Code macht es angreifbarer. Und keiner will hier seinen unsicheren Metin2-Server noch unsicherer machen..
Nur einmal Code Ausschnitte:
PHP Code:
nickname_client player.GetName()
server_client str(net.GetServerInfo().split(',')[0])
sock socket.socket(socket.AF_INETsocket.SOCK_STREAM)

...
sock.send(nickname_client "#" nachricht "#" server_client)

...
Server nachricht.split("#")[2]
Message nachricht.split("#")[1]
User nachricht.split("#")[0]
...
Rechte Rechtepruefung(ServerUserBefehl)
    
Rechte DoQuery("SELECT allowed FROM globalplayer WHERE user='"+str(User)+"' and server='"+str(Server)+"';"2)

-->
if (
Rechte == "ALLOWED"):
    
Text ExecuteBefehl(MessageBefehl)

----->
Zeiger.execute(Query
Du fragst hier nur den player.GetName() ab.
Falls jemand extern die Verbindung aufbaut und einfach den Admin Namen angibt kann er beliebige Queries ausführen, die er mitliefert.


Coding Style würde ich eventuell auch empfehlen, immerhin gibt es extra auf der offiziellen Python Dokumentation x Hinweise, diesen zu nutzen:
[Only registered and activated users can see links. Click Here To Register...]


Edit:
Was ist überhaupt der Vorteil gegenüber dem normalen Chat, welcher nicht exploitbar ist?

@Raicon:
Wenn dir diese Lücke bereits bekannt war(was ich aufgrund deiner Formulierung stark vermute), wäre es denke ich für andere User hilfreich eben diese Lücke auch zu erwähnen und nicht zu verschweigen bzw. auszunutzen.

MfG DaRealFreak
08/30/2013 16:00 .Raicon#20
Quote:
Originally Posted by DaRealFreak View Post
Nur einmal Code Ausschnitte:
PHP Code:
nickname_client player.GetName()
server_client str(net.GetServerInfo().split(',')[0])
sock socket.socket(socket.AF_INETsocket.SOCK_STREAM)

...
sock.send(nickname_client "#" nachricht "#" server_client)

...
Server nachricht.split("#")[2]
Message nachricht.split("#")[1]
User nachricht.split("#")[0]
...
Rechte Rechtepruefung(ServerUserBefehl)
    
Rechte DoQuery("SELECT allowed FROM globalplayer WHERE user='"+str(User)+"' and server='"+str(Server)+"';"2)

-->
if (
Rechte == "ALLOWED"):
    
Text ExecuteBefehl(MessageBefehl)

----->
Zeiger.execute(Query
Du fragst hier nur den player.GetName() ab.
Falls jemand extern die Verbindung aufbaut und einfach den Admin Namen angibt kann er beliebige Queries ausführen, die er mitliefert.


Coding Style würde ich eventuell auch empfehlen, immerhin gibt es extra auf der offiziellen Python Dokumentation x Hinweise, diesen zu nutzen:
[Only registered and activated users can see links. Click Here To Register...]


Edit:
Was ist überhaupt der Vorteil gegenüber dem normalen Chat, welcher nicht exploitbar ist?

MfG DaRealFreak
Vorteil ist nur das man von Server zu Server chatten kann ;)
Aber zum Thema Style solange ich es gut und sauber lesen und verstehen kann ist es perfekt. Ich meine jeder hat seinen eigenden Style so du deinen ich meinen.... Und wie du schon einen schönen Fehler gefunden hast, kannst du dir ja auch bestimmt denken wieso sowas auf EPvP landet ;)
08/30/2013 16:08 Sintiax#21
Keine schlechte Idee, wenn es nur noch einer umsetzen würde, das es sicherer wäre ;P