Brugerpasswords bør da krypteres?

Tags:    udvikleren.dk

Da jeg lidt tilfældigt kiggede i kildekoden til 'Dit kontrolcenter' (http://www.udvikleren.dk/settings.php ) så jeg at mit password stod der i almindelig 'rå' tekst. Det fortæller mig med det samme at I ikke krypterer passwordsne når de lægges i databasen. Ok, nu er det måske ikke så vigtigt her, fordi der ikke er så mange følsomme informationer, men alligevel. Man kan ligeså godt gøre det så sikkert som muligt :)

// XyborX \\\<?php $thinkers=Array('Albert Einstein'=>'Imagination is more important than knowledge');?>[Redigeret d. 12/12-02 14:52:38 af XyborX]



Du har da ingen mulighed for at vide om det bliver krypteret via php f.eks. inden det bliver sendt til databasen ... men noget helt andet er, det er da også ligemeget. Hvem ville være interesseret i at hacke udvikleren.dk?


vnc - vence@mriis.dk
Michael Riis



Da jeg lidt tilfældigt kiggede i kildekoden til 'Dit kontrolcenter' (http://www.udvikleren.dk/settings.php ) så jeg at mit password stod der i almindelig 'rå' tekst. Det fortæller mig med det samme at I ikke krypterer passwordsne når de lægges i databasen. Ok, nu er det måske ikke så vigtigt her, fordi der ikke er så mange følsomme informationer, men alligevel. Man kan ligeså godt gøre det så sikkert som muligt :)

// XyborX \\\<?php $thinkers=Array('Albert Einstein'=>'Imagination is more important than knowledge');?>[Redigeret d. 12/12-02 14:52:38 af XyborX]


Da PHP er et serversite script er der i den kildekoden du kan se en masse information som du ikke kan se!

Dit password kan sagtens være krypteret i databasen og så afkrypteres når dne hentes!

Den er ikke kryptere i ouput men blot indsat i en såkaldt passwordbox
hvor tegne bliver til stjerne!

Passworden kan sagtens være kryptere når de står i databasen selv om du ikke kan se det!

Mvh.
Thomas Christensen




Kan se at jeg burde have skrevet lidt mere :)
Når I ved hjælp af PHP (eller ASP for den sags skyld) kan dekryptere passwordet fra databasen, så er det jo ikke krypteret godt nok. Jeg ville da helt klart foretrække at bruge en en-vejs kryptering, som fx md5() i PHP eller password() i MySQL.

// XyborX \\\<?php $thinkers=Array('Albert Einstein'=>'Imagination is more important than knowledge');?>



Jeg tror ikke I har fattet det... prøv at kaste et blik på HTML-koden for "Dit Kontrolcenter" har kan du tydeligt aflæse ens password direkte i HTML...

...men det er slet ikke det værste... prøv at kaste et blik på dine cookie-data, her kan du også tydeligt aflæse det originale password og login... eftersom alle informationer i en cookie automatisk bliver sendt med hver eneste HTTP header, så vil man nemt kunne opsnappe både login og password... sikkerheden er altså helt i bund!




yes - jeg har godt nok ikke lige set på cookies'ne - men selvom den f.eks. putter dit pass ind i et "hidden-felt" så kan det da stadig godt være det bliver krypteret inden det bliver smidt i databasen... det har man da ingen chance for at vide når det går gennem php.. som er et serverside sprog...

men ja, hvis du har ret så er sikkerheden ikke helt i top

men som sagt, jeg tror heller ikke det er nødvendigt...


vnc - vence@mriis.dk
Michael Riis



Jeg tror heller ikke det er nødvendigt. Jeg gør bare opmærksom på noget der måske kunne blive udnyttet som sikkerhedshul.
Jeg er selv igang med at lave et mindre community, og selvom det er lille, så har jeg alligevel valgt at sætte sikkerheden godt op i forhold til mit gamle site. Fx vil det 'rå' password kun blive sendt én gang, og det er når brugeren submitter login-formen. Derefter foregår det krypteret med en en-vejs kryptering. Passwordet bliver ikke engang vist på den side hvor man kan redigere sin profil, da det rent faktisk ville kræve en (umulig) dekryptering. Man kan sige at når først brugeren er færdig med at logge ind, så eksisterer det rå password ikke længere i hverken server eller client.

// XyborX \\\<?php $thinkers=Array('Albert Einstein'=>'Imagination is more important than knowledge');?>



t