OSBanditi | beveiliging lek

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Dus, iedereen heeft er al wel een keer mee te maken gehad of een keer gezien OSBanditi V3. Menig mens is er mee bezig en er zijn al genoeg varianten op te vinden die bugs oplossen of hier een functionaliteit toevoegen en daar een pop upje iets mooier maken. Maar heeft iemnd ook eens een keer naar het registratie proces gekeken; ik presenteer u één regel hiervan:

    PHP Source Code

    1. mysql_query("INSERT INTO `users`(signup,login,pass,IP,email,passdecoded,activationcode)
    2. values(NOW(),'$login',MD5('$pass'),'$IP','$email','$passconfirm',$activation)");


    Kijk eens heel goed naar bovenstaande regel...

    Nee nog niet gezien?

    passdecoded > $passconfirm


    Het wachtwoord van de gebruiker wordt onbeveiligd en ongecontroleerd opgeslagen in de database, wat ik ten eerste al heel gek vind dat het gebeurd zowel voor veiligheid als wat de admins toen der tijd dachten. Admins met sql access kunnen zo wachtwoorden zien dat al niet alleen wanneer er een sql hack plaats vind (waar OSBanditi toch wel bekend omstaat dat het wel eens kan gebeuren) kunnen mensen zo de wachtwoorden zien van wellicht 100'den leden.

    Hoe aan te passen? Heel simpel:
    verander bovenstaande sql regel naar:

    PHP Source Code

    1. mysql_query("INSERT INTO `users`(signup,login,pass,IP,email,passdecoded,activationcode)
    2. values(NOW(),'$login',MD5('$pass'),'$IP','$email','null',$activation)");


    Hierdoor wordt de regel gewoon met leeg gevuld waardoor het niet meer in de database wordt opgeslagen; wellicht wel handig voor de veiligheid van je game.

    1,414 times read

Comments 8

  • DirkZz -

    Als je toch bezig bent sloop dan die MD5() er ook uit, en vervang deze met iets dat wel iets nuttigs doet.

  • M.Remijn -

    Lars is toch bezig met een nieuwe versie?
    Waarschijnlijk zal hij dat ook wel opgelost hebben.

  • swaffelaar -

    Ja die staat op deze website.
    maar dat script heeft wel meerdere problemen (veiligheid).
    [code] mysql_query("INSERT INTO users (login, pass, email, activatiecode, stad) VALUES('" . $_POST['login'] . "', '" . $_POST['pass'] . "', '" . $_POST['email'] . "', '" . $activatiecode . "', '" . rand(0, count($steden) - 1) . "')") or die(mysql_error());
    [/code] even een stukje uit de inc.register.php

  • K.Rens -

    En staat die op deze site, bij de downloads?

  • swaffelaar -

    criminolz source slaat ook wachtwoorden op in plaintext :p

  • M.Martens -

    Zo op het eerste gezicht niet Koen.
    Tevens verwacht ik ook dat dit ook in een anderen source kan zitten.

  • K.Rens -

    Weet iemand van jullie of deze fout in 1 van de hier aangeboden downloads zit?
    Want dan corrigeer ik dit in de downloads.
    Dit is inderdaad iets smerigs dat niet mag.
    Wachtwoorden zijn privé!

  • M.Martens -

    Ik ben me nu ook bezig met die source.
    Ik erger me suf dat er in elk apart bestand meer dan 100 fouten zitten.
    Al is het maar dat de script taal niet goed is ingevoerd of niet goed geincludeerd is.