Sjark Skrevet 12. oktober 2006 Skrevet 12. oktober 2006 Hey, har laget et lite loginn script å lurer på hvor sikkert det er evt. hvordan andre kan komme inn uten brukernavn/passord <?php session_start(); if (!empty($_POST['username']) && !empty($_POST['password'])) { if (($_POST['username'] == "brukernavn") && (md5($_POST['password']) == "md5 hash av passord")) { $_SESSION["access"] = "Admin"; header("Location: menu.php"); } } else { echo "Feil Brukernavn eller Passord! Klikk <a href='login.form.php'>her</a> for å prøve igjen!"; } ?> og <?php if ($_SESSION["access"] !== "Admin") { echo "Feil brukernavn eller passord, klikk <a href='login.form.php'>her</a> for å prøve igjen"; } else { masse kode } ?> på alle sidene, er det da mulig og komme seg inn?
Equerm Skrevet 13. oktober 2006 Skrevet 13. oktober 2006 Ingenting er 100 % sikkert egentlig, det er fullt mulig å opprette en session som er lik din session med et annet script (men da må man finne ut hva den heter da, og det er kanskje ikke så enkelt..?) Dessuten er md5 veldig enkelt å cracke
MC2 Skrevet 13. oktober 2006 Skrevet 13. oktober 2006 Dessuten er md5 veldig enkelt å cracke 7059942[/snapback] Hvordan? Det går an å bruteforce en md5 hash, men det går på alle. Og hvis du tenker på rainbowtables kan man fikse det med å legge til et salt.
Equerm Skrevet 13. oktober 2006 Skrevet 13. oktober 2006 Dessuten er md5 veldig enkelt å cracke 7059942[/snapback] Hvordan? Det går an å bruteforce en md5 hash, men det går på alle. Og hvis du tenker på rainbowtables kan man fikse det med å legge til et salt. 7060612[/snapback] Om man legger til et salt så er det vanskeligere ja, men uten salting så tar det 5 sekunder med rainbowtables Nå hadde ikke han salting i scriptet sitt da
MC2 Skrevet 13. oktober 2006 Skrevet 13. oktober 2006 ok, nå er jeg veldig prkete her: det heter da ikke 'cracking' Lasso, se litt i denne tråden: https://www.diskusjon.no/index.php?showtopic=548329&hl=
Peter Skrevet 13. oktober 2006 Skrevet 13. oktober 2006 One thing to note in comparison with == When we make a comparison with == php automaticly converts strings to integers when either side of the comparison is an integer, f.e.: <? $value = 0; if($value == "submit") { echo "Let's submit"; } ?> Above would be succesful, since "submit" is converted to an integer (eq 0) and the equation is would return true; (that's why (1 == "1submit") would also return true) That's why we should use strcmp or === (checks type also), for string comparisons. So my conclusion is that when comparing string, you'd better not make use of == (use strmp or === instead). For integer comparisons the == equation can be usefull, since our values will always be casted to an integer (1 == "1" returns true).
BigJackW Skrevet 14. oktober 2006 Skrevet 14. oktober 2006 Du må sjekke databasen HVER gang når noen har logga inn, ikke bare sessions.
olemedkrutt Skrevet 14. oktober 2006 Skrevet 14. oktober 2006 Utifra disse to scriptene kan ikke greiene hackes, men de kan jo hackes via andre scripts eller noe annet.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå