Grüße!
Ich habe ein Problem mit einem Hacksystem. Irgendwie kann man sich auf meinem Server zum Admin machen ohn /rcon login (In der Log nachgeschaut, nichts los gewesen). Weiß jemand wie die Hackprogramme das machen und wie man das verhindern kann?
Grüße!
Ich habe ein Problem mit einem Hacksystem. Irgendwie kann man sich auf meinem Server zum Admin machen ohn /rcon login (In der Log nachgeschaut, nichts los gewesen). Weiß jemand wie die Hackprogramme das machen und wie man das verhindern kann?
Wird der Spieler zu einem RCON Admin, oder hat er lediglich ein Admin Level das im Code so erstellt wurde (zum Beispiel Moderator, oder Admin, ...)?
Ich hab mir die Log angeschaut und dort stand nichts drin von einem rcon Login. Also denke ich mal die Variante ist es nicht. Leider will mir die Person nicht erklären wie genau er es anstellt, deswegen weiß ich auch nicht weiter.
Hab die Variante pAdminLevel schonmal gegen etwas unauffälligeres ausgetauscht, falls der Hack irgendwie ähnliche Varianten abfragt und sich setzt. Aber getestet habe ich das noch nicht und weiß auch nicht ob sowas überhaupt irgendwie möglich ist.
Ich weiß halt nur das er kicken konnte und den Adminchat mitlesen konnte. (Ka ob das RCon Admin automatisch kann, ist jedenfalls nicht eingestellt im Script).
Was auch sein kann, dass du einfach nur ein Bug hast und er dich bissle veräppelt?
Ansonsten, mal gucken ob er wirklich direkt deinen Server gehackt hat.
Hört sich nach ner Variable an, wenn im RCON-Log nichts auftaucht. Denke da wäre es interessant zu wissen, welches Script du benutzt und wie die Leute generell durchs Script zum Admin gemacht werden.
Kenne mich mit den ganzen Godfather-Dingern zwar selber nicht aus, habe aber mehrmals gehört, dass es wohl viele gibt, die einen gesonderten Befehl haben um sich Adminrechte zu geben.
schaue mal das gesamte Script nach dem Variablen ab, irgendwo ist sicherlich ein Befehl.
Wenn es nicht das RCON Admin ist, dann kann ich mir vorstellen, dass du einen Fehler im Code hast, dass zum Beispiel die Admin Variable bei OnPlayerConnect/Disconnect nicht auf 0 gesetzt wird, und der Spieler somit unter Umständen das Level hat, das der Spieler hatte, der zuvor auf dieser playerid war.
Das Admin Level wird ja wie alle anderen Variablen aus der Datenbank geladen. Wenn sich jetzt ein neuer Spieler auf die alte Player ID eines Admin einloggt wird doch sein Admin Level (in dem Fall 0) geladen oder nicht?
Ansonsten schaue ich eben schnell durch was das sein kann. Da es aber ein Selfmade ist und nur 7k Zeilen zur Zeit hat denke ich nicht das ich da einen Fehler gemacht habe.
EDIT:
Er hatte sich zudem direkt nach einem Server Restart eingeloggt. Daher kann es eig nicht sein das er das Admin Level von einer alten Playerid übernommen hat.
EDIT 2:
Hab das Script durchgeschaut. Man kann sich oder andere nur zum Admin machen wenn man selbst den benötigten Rang hat. Diesen hat aber außer mir noch keiner auf dem Server.
Vielleicht Datenbankzugriff? Welche MySQL-Plugin verwendest Du? (SQL-Injections)
Hab das Script durchgeschaut. Man kann sich oder andere nur zum Admin machen wenn man selbst den benötigten Rang hat. Diesen hat aber außer mir noch keiner auf dem Server.
Ohne weitere Details des Scripts können wir da auch nicht mehr tun als blind rein zu raten.
SQL Injection?
Hast du alle Queries, die Nutzereingaben senden, auch escaped?
Bspw. via mysql_real_escape_string() oder wie die Funktion bei dir heißt?
Ich schreibe zur Zeit noch auf Dini und der Server läuft über SAMP4YOU.
Zum Script kann ich nur sagen das es nur den /makeadmin Befehl gibt der einen zum Admin macht und diesen eben nur wenn man Adminrang 3 hat (habe nur ich). Ist zur Zeit noch ein ganz einfaches Adminsystem. Also einen Befehl mit dem er sich zu einem Admin machen kann gibt es nicht.
Die Zugangsdaten zu SAMP4YOU soltle er eig auch nicht haben. Ich nehme immer zufällige Passwörter mit Groß/Kleinbuchstaben und Zahlen.
Auch mal dran gedacht, dass er nur Adminbefehle verwenden kann, weil keine Adminabfrage bei diesen gemacht wurde und sie somit jeder verwenden kann?
Adminabfrage ist drin.
Setze überall dort, wo du schreibend auf die Variable für das Admin Level zugreifst einen Print hin und schaue auch, welcher Print aufgerufen wird, wenn ein Spieler unerlaubt ein Level bekommt.
So kannst du herausfinden, welcher Code aufgerufen wird.