LiQuid X - aka "Tut: How to get GM rights."

02/10/2010 16:52 Banana_jo#436
das war wie Kalleno sagt ZU einfach um war zu sein :P
das problem ist ebend wie er sagt die umsetztung ..
das würde ich denken nicht funktionieren da das wirklich einfach wäre sonst...


Peace
02/10/2010 16:55 Xereon#437
Quote:
Originally Posted by Kalleno View Post
Aaaaber... wie willst du es ohne das ein gm dieses Trojan-Addon hat es so aussehen lassen als käme das direkt von ihm? Irgendwie muss der GM ja von Hells Produkt daten erhalten und diese an den Server senden wenn es so aussehen soll als wäre er das. Direkt von uns aus etwas an den Server senden, somit die Accountlevel-Sperre zu umgehen wurde noch nicht entdeckt (weder wpe oder ähnliche Spielzeuge) um so befehle durchkommen zu lassen die für normale Spieler nicht vorgesehen sind. Klar, das wäre die einfachste Möglichkeit.. jedoch von der Umsetzung her sehr viel schwerer, bzw. unmöglich. Naja, man kann jetzt auch Toyota sagen.. jedoch glaub ich das die Server-Coredevs. sowas schon aus dem Weg geräumt haben um soetwas zu vermeiden.
Man kann Packets so faken, dass sie so aussehen als würden sie von einer anderne IP kommen. Das wäre der erste Schritt. Der zweite Schritt wäre, die Teile im Packet zu finden, die sagen, dass ich das Packet gesendet habe. Wenn man die beiden Faktoren gefunden hat $ :awesome: $ :D

edit: Problematisch würde es nur werden, wenn der Server ein Packet zurückschickt, um zu überprüfen, obs auch wirklich der GM ist ;)
02/10/2010 17:01 Kalleno#438
Andere IP? Hast du mal eben die IP von nen GM? :D Ich wüsste nicht wie ich da dran kommen sollte. Die frage wäre noch.. braucht man die überhaupt? Oder ist das eher als Sicherheitsmaßnahme gemeint? Und was auch interessant wäre..

das Account-Level:
wird beim login überprüft und sagt dem clienten was ich darf/nicht darf?

Oder wird das jedes mal gecheckt wenn ich einen Befehl eingebe?

Zweiteres wäre bestimmt einfacher, sofern überhaupt möglich, zu umgehen als das erste. Naja, gibt viel diskusionsstoff dank Xereon :D.

Mag deinen 2. Spoiler im Signaturteil von dir :P
02/10/2010 17:07 Xereon#439
Quote:
Originally Posted by Kalleno View Post
Die frage wäre noch.. braucht man die überhaupt? Oder ist das eher als Sicherheitsmaßnahme gemeint?
Eigentlich glaube ich nicht das man die IP umbedingt benötigt, daher würde ich es wohl eher eine Sicherheitsmaßnahme nennen.

Quote:
Originally Posted by Kalleno View Post
das Account-Level:
wird beim login überprüft und sagt dem clienten was ich darf/nicht darf?

Oder wird das jedes mal gecheckt wenn ich einen Befehl eingebe?
Dürfte immer gecheckt werden, wenn du ein Request zum Server schickts.
02/10/2010 17:16 Kalleno#440
Account-Level

Quote:
Originally Posted by Xereon View Post
Dürfte immer gecheckt werden, wenn du ein Request zum Server schickts.
So, das lässt sich ja relativ leicht testen, man nehme einen PServer, erstelle sich einen Account mit Acclevel 1. loggt sich ein, stellt dessen Accountlevel auf 5 oder so und probiert dann mal irgendwelche befehle aus (Ohne Relog natürlich). Wenn diese durchkommen haben wir die Lösung. Jedoch hab ich letztens meinen PC abgeschossen und werde mir keinen Server auf mein Laptop spielen. Vielleicht hat ja jemand anders so viel langeweile :D
02/10/2010 17:18 Banana_jo#441
ja aber warum 5? geht doch nur bis 3 oder?
oder wie meinste?
also ich kann jetz von erfahrung reden vllt hilft es weiter..
wenn man ein GM runterstuft wenn er Online ist kann er noch GM befehle ausführen bis er sich neu einloggt das weiß ich also heist das beim einloggen wird es geprüft ;)
und nicht bei jedem befehl


Peace
02/10/2010 17:22 Kalleno#442
Yoa.. gut :D da haben wir die Lösung. Einfacher hätten wir es nicht haben können. Nun sollte man nach Xereon Theorie dem Server vorspielen man sei GM, lässt sich aber einen anderen Namen in den Logs anzeigen und fertig ists? Idee gut, Umsetzung warscheinlich unmöglich :D

Quote:
Die Welt könnte so schön sein wenn alles so rein von der Logik schnell lösbar ist.
02/10/2010 17:27 Banana_jo#443
haha stimmt :D...
würde nicht funktionieren da man dann in die DB eingreifen müsste.
Oder vllt würde es gehen wenn man ein extra Programm nebenbei läuft der auf Wow zugreift und dein username in die von dem Gm umendert beim einloggen würde aber auch nicht funktionieren da mann das passwort bräuchte :D


Peace
02/10/2010 17:31 Kalleno#444
Quote:
Originally Posted by Banana_jo View Post
haha stimmt :D...
würde nicht funktionieren da man dann in die DB eingreifen müsste.
Oder vllt würde es gehen wenn man ein extra Programm nebenbei läuft der auf Wow zugreift und dein username in die von dem Gm umendert beim einloggen würde aber auch nicht funktionieren da mann das passwort bräuchte :D

Peace
Eben.. hätte ich das Passwort von den GM's bräuchte ich auch kein addon oder ähnliches dafür :D
02/10/2010 17:43 H3llf!re#445
Quote:
Originally Posted by Xereon View Post
Man kann Packets so faken, dass sie so aussehen als würden sie von einer anderne IP kommen. Das wäre der erste Schritt. Der zweite Schritt wäre, die Teile im Packet zu finden, die sagen, dass ich das Packet gesendet habe. Wenn man die beiden Faktoren gefunden hat $ :awesome: $ :D

edit: Problematisch würde es nur werden, wenn der Server ein Packet zurückschickt, um zu überprüfen, obs auch wirklich der GM ist ;)
der server schickt dir nur die nachricht und von dem sie ist zurück. checks finden da keine mehr statt. ich guck mir gleich nochmal an ob cliend den eigenen namen beim versenden einer nachricht mitschickt oder nicht.

Quote:
Originally Posted by Kalleno View Post
[...]
das Account-Level:
wird beim login überprüft und sagt dem clienten was ich darf/nicht darf?

Oder wird das jedes mal gecheckt wenn ich einen Befehl eingebe?[...]
der client an sich kennt (zumindes in der retail version) gar keinen unterschied zwischen gm und player modus (/sowas existiert garnicht) es ist so dass du client einfach eine nachricht mit "." am anfang werschickt... der server registriert den punkt an der esten stelle der nachricht und merkt "aha ein command..." dann wird geprüft ob der sender das command ausführen darf. interessant hier ist jetzt WIE geprüft wird. per accountname oder player name... (ich tippe auf den account, was aber blöd wäre...) wenn es aber trotzdem der player name sein sollte und der beim versenden einer nachricht mitgeschickt wird wäre das natürlich extrem lustig^^

Quote:
Originally Posted by Kalleno View Post
Account-Level



So, das lässt sich ja relativ leicht testen, man nehme einen PServer, erstelle sich einen Account mit Acclevel 1. loggt sich ein, stellt dessen Accountlevel auf 5 oder so und probiert dann mal irgendwelche befehle aus (Ohne Relog natürlich). Wenn diese durchkommen haben wir die Lösung. Jedoch hab ich letztens meinen PC abgeschossen und werde mir keinen Server auf mein Laptop spielen. Vielleicht hat ja jemand anders so viel langeweile :D

den ansatz kannst du knicken. die definition von accountlevel ist eine serverside only geschichte. da stellst du garnix um :D

Quote:
Originally Posted by Banana_jo View Post
haha stimmt :D...
würde nicht funktionieren da man dann in die DB eingreifen müsste.
Oder vllt würde es gehen wenn man ein extra Programm nebenbei läuft der auf Wow zugreift und dein username in die von dem Gm umendert beim einloggen würde aber auch nicht funktionieren da mann das passwort bräuchte :D
Peace
in die db musst du nicht eingreifen. du musst nur den server dazu bringen dich mit einem gm zu "verwechseln" dazu gibts (theoretisch) eine million möglichkeiten. wobei die db zu manipulieren sicher eine der schwersten ist (sql injection ist hier das stichwort. nicht unmöglich aber das andere wäre einfach einfacher :P)

zum schluss möchte ich falls wer mit ein bissel verständniss der materie das hier ließt einfach noch das wort "char guid" in den ring werfen was vllt auch ein vielversprechender ansatz wäre.
02/10/2010 17:49 Kalleno#446
SQL Injection ist heutzutage auch kaum noch möglich.. viele hinterlegen eben deshalb sicherheitsscripts. Glaube das muss ich dir aber hier nicht mit auf den Weg geben :D. Zumindest funktionierts mit invalide Zeichen bei PHP, diese unterbinden halt das SQL Befehle per Adresszeile übertragen werden.

Also als kleiner Tip an webdevs.. macht euer script gegen Injections sicher ^^

Zu dem "Charname Check".. Die ganze Sache wird ja Accountgesteuert, Sofern ich einen GM Account habe kann ich Chars anlegen mit den wildesten Namen.. alle hätten dann GM Rechte.
Oder hab ich an der Stelle etwas falsch verstanden und etwas völlig anderes versucht zu erklären? ^^

*auf Zeichnung wart* :D
02/10/2010 18:01 H3llf!re#447
Quote:
Originally Posted by Kalleno View Post
SQL Injection ist heutzutage auch kaum noch möglich.. viele hinterlegen eben deshalb sicherheitsscripts. Glaube das muss ich dir aber hier nicht mit auf den Weg geben :D. Zumindest funktionierts mit invalide Zeichen bei PHP, diese unterbinden halt das SQL Befehle per Adresszeile übertragen werden.

Also als kleiner Tip an webdevs.. macht euer script gegen Injections sicher ^^

Zu dem "Charname Check".. Die ganze Sache wird ja Accountgesteuert, Sofern ich einen GM Account habe kann ich Chars anlegen mit den wildesten Namen.. alle hätten dann GM Rechte.
Oder hab ich an der Stelle etwas falsch verstanden und etwas völlig anderes versucht zu erklären? ^^
ja du hast mich missverstanden:

die frage mit dem charname check ist so gemeint: WIE genau wird überprüft oder das command ausgeführt werden darf?

ach scheiß drauf für was hab ich die tafel... ich mals an gebt mir ne sek:

//edit: [Only registered and activated users can see links. Click Here To Register...]

hoffe man kanns halbwegs lesen (& auch verstehen...)
02/10/2010 18:29 Xereon#448
So ich glaube meine Theory wurde etwas missverstanden.
Meine Idee war eigentlich vorzugauckeln, dass der Command von dem GM gesendet wurde, dass hat erstmal garnichts mit Char Namen zu tuen.
Wichtig ist jetzt zu wissen, wie der Server die Packets kontroliert.
Ich werde mir daher mal einen kleinen Server auf meinen PC iunstallieren, um etwas rumtesten zu können.

PS:
Mal ne kleine Frage: sind bei den Emus auch der Source beigelegt?

Edit: Ich will auch eine Tafel T_T
02/10/2010 18:32 Kalleno#449
achsooo, das klärt mich auf. Punkt 2 und 4 find ich irgendwie am Sinnvollsten.
Zudem bezweifle ich das in einem Packet großartig der Name des GM's auftaucht. Zumindest nicht in direkterweise, vielleicht per zuordnung einer Nummer ums blöd zu sagen (Mir iss nichts besseres eingefallen) :D, like:

0001 : Name1
0002 : Name2

Und so weiter..
02/10/2010 18:34 Xereon#450
Quote:
Originally Posted by Kalleno View Post
achsooo, das klärt mich auf. Punkt 2 und 4 find ich irgendwie am Sinnvollsten.
Zudem bezweifle ich das in keinem Packet großartig der Name des GM's auftaucht. Zumindest nicht in direkterweise, vielleicht per zuordnung einer Nummer ums blöd zu sagen (Mir iss nichts besseres eingefallen) :D, like:

0001 : Name1
0002 : Name2

Und so weiter..
Jap das ist wie Hellfire jetzt schon sagte die große Frage ;)
Wie verarbeitet der Server die Packets? Um das herrauszufinden wäre es echt nicht schlecht, den Source von paar Emus zu haben.