Lücken in einem CMS schließen

  • Hallo,
    da es immer mehr Angriffe auf Habbo Retro Hotels gibt die durch Lücken entstehen wollte ich euch mal eine Anleitung geben wie ihr sie schließen könnt.
    Diese Anleitung ist für Anfänger gedacht da die meisten das schon wissen.

    Schritt1:
    Wir überprüfen alle Strings die in die Datenbank eingefügt werden.
    Wenn der String noch nicht escapet wird tun wir das indem wir dies hier schreiben:

    PHP
    mysql_real_escape_string($deinstring);

    .
    Auch alle Strings die ohne escapen ausgegeben werden müssen wir mit mysql_real_escape_string escapen.


    Schritt2:
    Wir suchen im CMS nach versteckten 'Lücken' wie z.B "$sql="INSERT INTO users (username,password,rank) VALUES ('hacked', 'cb1c7c51b953af58d6521b57f14cb166','7')";
    mysql_query($sql);" diese Query erstellt einen neuen User mit rank 7.
    Diese Query kann in ein beliebiges Script im CMS mit eingebunden werden.

    Schritt3:
    Benutzt nie das gleiche Datenbank Passwort wie es schon in der Konfigurationsdatei war, das stellt ein hohes Risiko da.

    Schritt4:
    Nehmen wir an wir haben eine Kommentar Funktion programmiert,
    die ist natürlich noch nicht geschützt vor XSS.
    Dies können wir tun indem wir das hier machen

    PHP
    htmlspeacialchars($ausgabedesstrings);


    Mit XSS kann man Cookies klauen sowie eine Weiterleitung auf eine andere Webseite machen sowie alle anderen Javascripts ausführen.

    Ich hoffe ich konnte euch helfen.

    Cheers,
    Airwaves

    Einmal editiert, zuletzt von #Airwaves (6. Juli 2014 um 21:08)

  • Mit einem mysql_real_escape_string kann man nur die Post & Get Lücken schließen. Es ist jedoch wichtiger, alle XXS Lücken zu schließen, damit man keinen Zugriff auf die Cookies erhält. Ebenso sollte man einen Schutz gegen CSRF einrichten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!