1. Kevin Meeuwisse Member

    Veiligheid

    Topic geplaatst op: 04-06-2014 om 14:32

    Hallo,

    Onlangs heb ik een heel systeem (PHP, MySQL, JavaScript, HTML, CSS) gemaakt waar mensen kunnen inloggen facturen in kunnen zien, tickets kunnen aanmaken etc. echter is mijn vraag; Is hij wel veilig?!

    Wat gebruik ik;

    - PDO, Incl. Prepared statements
    - Special Character filter, alles wordt omgezet VOORDAT het in een Query komt. Bijv. " wordt &quot; en < wordt &lt;
    - Aan bijv facturen en berichten geef ik 2 random md5 hashes mee, deze hashes moeten correct zijn in combinatie met het klantnummer.
    - Eventuele parameters die in de URL gegeven zijn worden eerst Special Character gefilter VOORDAT het in de Query komt.
    - Prepared Statements worden gebruikt.
    - Bij het inloggen wordt en een random session_hash gegenereerd, als men uitlogt en weer inlogt heeft men een andere session_hash. Zover ik weet is session hijacking dus niet mogelijk omdat de session ids wisselen.
    - IP wordt gelogd tijdens het inloggen, hierin wordt ook aangegeven of de login succesvol was of niet en als er een klant bestaat met het email ook het klantnummer waar de login betrekking op heeft.
    - De admin interface wordt gecheckt of het IP juist is, is dit niet het geval dan wordt je naar de error pagina gestuurd.

    Voor zover ik weet is hij nu dus enkel vurnirable als je in de server komt omdat;

    - Alles eerst gefilterd wordt en geprepared is.
    - XSS is niet mogelijk doordat JavaScript niet uitgevoerd wordt dankzei de filtering van onder andere < en >.
    - Sessie Hijacking is niet mogelijk doordat de sessie id steeds veranderd.
    - Ik heb er met Havij Pro opgezeten, deze gaf naar herhaaldelijk proberen steeds een error terug dat hij niks kon vinden

    Mijn vraag is, kloppen mijn veronderstellingen en is hij inderdaad veilig? (Ik weet ook wel dat niks 100% safe is natuurlijk) Maar ik wil gewoon zeker weten dat hij niet makkelijk te hacken is.

    Graag hoor ik van jullie!

  2. Mitchell Verbruggen Member
    Reactie geplaatst op: 11-06-2014 om 19:44

    Beste,
    MD5 is helemaal achterhaald en zwak.
    ik zou aanraden van bcrypt te gebruiken.

    Groetjes,
    Mitchell

    Vond u dit antwoord nuttig?

  3. Kevin Meeuwisse Member
    Reactie geplaatst op: 11-06-2014 om 19:52

    Dat klopt, daarom zet ik hier ook geen data in maar is het enkel om de verschillende dingen bij de juiste klant te brengen. Er wordt dus geen data zoals wachtwoorden of gegevens in opgeslagen

    Vond u dit antwoord nuttig?

  4. Mitchell Verbruggen Member
    Reactie geplaatst op: 11-06-2014 om 19:57

    Oke dan zie ik geen enkel veiligheidsprobleem.

    Vond u dit antwoord nuttig?

  5. Kevin Meeuwisse Member
    Reactie geplaatst op: 11-06-2014 om 19:58

    Oke, Hartelijk dank voor de feedback!

    Vond u dit antwoord nuttig?

  6. zaza Member
    Reactie geplaatst op: 13-10-2014 om 13:50

    Als je plugins gebruikt als ckeditor dan moet je wel rekening houden met de versie, dus hou het up-to-date anders komen hun va daar binnen. ;)

    Vond u dit antwoord nuttig?

  7. jordivn Member
    Reactie geplaatst op: 13-10-2014 om 20:41

    "- IP wordt gelogd tijdens het inloggen, hierin wordt ook aangegeven of de login succesvol was of niet en als er een klant bestaat met het email ook het klantnummer waar de login betrekking op heeft."

    Ik zelf gooi de user agent in combi met het ip in een md5 voor gebruikers indentificatie.
    Bij alleen een ip bestaat de kans dat men vanaf het zelfde ip adres de zelfde inlog gebruiken.
    BV: pc1 logt in als gebruikerA. Als bij pc2 de pagina wordt geladen is deze meestal al ingelogd. Met user agent wordt deze kans nog kleiner.

    Ik zelf maak geen sessies aan bij de gebruiker maar hou het in de db. Dus een tabel sessie.

    Zelf werk ik ook met ACL. Ook bij iedere gegevens verwerking en data requests controleer ik de rechten.

    Verder werk je met persoonsgegevens. Officieel gezien ben je dan verplicht een ssl verbinding te gebruiken.
    Dit maakt het geheel nog veiliger.

    Vond u dit antwoord nuttig?

  8. Joey De Vries Member
    Reactie geplaatst op: 19-10-2014 om 10:46

    Als Havij Pro niks vindt betekend niet dat de anderen software ook niks vindt.

    Vond u dit antwoord nuttig?