Gå til innhold

Hvor sikkert er dette login scriptet?


Anbefalte innlegg

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?

Lenke til kommentar
Videoannonse
Annonse
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 :)

Lenke til kommentar
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).

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...