|
| Krypteret password sendt fra php -> mySQL!~ Fra : M |
Dato : 11-01-06 21:39 |
|
Hej!
Jeg har rodet lidt med flg. script:
http://hjemmesideskolen.dk/scripts/phpmysql/default.php
Det ser ud til at virke super fedt, men der er ikke tænkt på
sikkerheden i det.
Når jeg opretter en ny bruger, bliver passworded sendt i clear tekst.
Hvordan får jeg scriptet til at sende passworded krypteret, så det
også står krypteret i mySQL databasen?
På forhånd tak!
-M
| |
Martin (11-01-2006)
| Kommentar Fra : Martin |
Dato : 11-01-06 22:04 |
|
M wrote:
> Hej!
>
> Jeg har rodet lidt med flg. script:
> http://hjemmesideskolen.dk/scripts/phpmysql/default.php
>
> Det ser ud til at virke super fedt, men der er ikke tænkt på
> sikkerheden i det.
>
> Når jeg opretter en ny bruger, bliver passworded sendt i clear tekst.
> Hvordan får jeg scriptet til at sende passworded krypteret, så det
> også står krypteret i mySQL databasen?
i php.
$password = md5($_POST["passwordfelt_fra_form"]);
>
> På forhånd tak!
>
> -M
| |
M (11-01-2006)
| Kommentar Fra : M |
Dato : 11-01-06 22:34 |
|
>
>$password = md5($_POST["passwordfelt_fra_form"]);
>
Mange tak!
Sad lige og søgte lidt på MD5, men kunne ikke helt finde ud af,
hvordan jeg skal indsætte koden i flg. script som er brugeroprettelses
scriptet:
<?php
mysql_connect("localhost", "bigm", "adgangskode2005");
mysql_select_db("bigm");
$sql="SELECT brugernavn FROM users WHERE
brugernavn='$_POST[brugernavn]'";
$result=mysql_query($sql)or die(mysql_error());
$number=mysql_num_rows($result);
if($number > 0){
print "<h1> $strTitle ikke godkendt</h1>";
print "<p>Desværre, brugernavnet er optaget</p>";
}
elseif($_POST['brugernavn'] && $_POST['password']){
$sql2="INSERT INTO users (brugernavn, password)
VALUES('$_POST[brugernavn]', '$_POST[password]')";
mysql_query($sql2) or
die(mysql_error());
echo "<h1> $strTitle godkendt</h1>";
echo "<p>Brugernavn og password var ledigt og er godkendt! </p>";
}
else{
echo "<h1>Indtastningsfejl</h1>";
echo "<p>Du skal udfylde begge felterne</p>";
}
?>
</div>
<? include("menu1.inc"); ?>
-M
| |
Michael Rasmussen (11-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 11-01-06 23:18 |
|
On Wed, 11 Jan 2006 22:34:27 +0100, M wrote:
> Mange tak!
>
> Sad lige og søgte lidt på MD5, men kunne ikke helt finde ud af, hvordan
> jeg skal indsætte koden i flg. script som er brugeroprettelses scriptet:
Det er jo alt sammen meget godt, men det ændrer ikke ved det faktum, at
password bliver sent i klar tekst over internettet, så jeg vil mene, at
dit ændrede scipt, har nul effekt på sikkerheden!
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Henrik Stidsen (12-01-2006)
| Kommentar Fra : Henrik Stidsen |
Dato : 12-01-06 00:58 |
|
Michael Rasmussen explained on 11-01-2006 :
> Det er jo alt sammen meget godt, men det ændrer ikke ved det faktum, at
> password bliver sent i klar tekst over internettet, så jeg vil mene, at
> dit ændrede scipt, har nul effekt på sikkerheden!
Ikke helt korrekt. Når passwordet opbevares som en MD5 hash er der
ingen der kan aflæse det - f.eks. hvis serveren bliver komprimeteret
eller en administrator får sjove ideer.
Men i forhold til klient-server kommunikationen har du ret, der er det
ligemeget.
--
Henrik Stidsen - http://henrikstidsen.dk/
This is not an automated signature. I type this in to the bottom of
every message.
| |
Michael Rasmussen (12-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 12-01-06 01:36 |
| | |
Henrik Stidsen (12-01-2006)
| Kommentar Fra : Henrik Stidsen |
Dato : 12-01-06 01:38 |
|
Michael Rasmussen wrote on 12-01-2006 :
>> Men i forhold til klient-server kommunikationen har du ret, der er det
>> ligemeget.
> Til dette brug kan jeg anbefale
> http://pajhome.org.uk/crypt/md5/md5src.html
Spændende - tak for link :)
--
Henrik Stidsen - http://henrikstidsen.dk/
"I love deadlines. I like the whooshing sound they make as they fly
by."
- Douglas Adams
| |
M (12-01-2006)
| Kommentar Fra : M |
Dato : 12-01-06 08:09 |
|
> Ikke helt korrekt. Når passwordet opbevares som en MD5 hash er der ingen
> der kan aflæse det - f.eks. hvis serveren bliver komprimeteret eller en
> administrator får sjove ideer.
>
> Men i forhold til klient-server kommunikationen har du ret, der er det
> ligemeget.
Vi er vel enige i, at hvis jeg fik MD5 krypteret mit password, vil det på
intet tidspunkt blive sendt i clear text. Det er jo det, der er pointen med
det hele. Ellers vil man jo kunne sniffe passworded alt for let.
Mit problem ligger pt. i, hvordan jeg modificere det script jeg postede i
3'ede indlæs, så passworded bliver krypteret.
-M
| |
Nygaard (12-01-2006)
| Kommentar Fra : Nygaard |
Dato : 12-01-06 10:01 |
|
> Vi er vel enige i, at hvis jeg fik MD5 krypteret mit password, vil det på
> intet tidspunkt blive sendt i clear text. Det er jo det, der er pointen
med
> det hele. Ellers vil man jo kunne sniffe passworded alt for let.
Løsningen her beskytter dit "rå" password, men din side er lige så sårbar.
Nu kan man jo blot sniffe dit krypterede password, og så sende det fra en
form man har stukket sammen, og derved få adgang til din side...
/Nygaard
| |
M (12-01-2006)
| Kommentar Fra : M |
Dato : 12-01-06 11:12 |
|
>Løsningen her beskytter dit "rå" password, men din side er lige så sårbar.
>Nu kan man jo blot sniffe dit krypterede password, og så sende det fra en
>form man har stukket sammen, og derved få adgang til din side...
Så kunne man vel gøre flg.:
Almindeligvis laver man en dobbelt md5:
$pass = md5( md5($password) );
Evt. sammen med f.eks. brugenavnet:
$pass = md5( md5($password).$username );
Men jeg kan bare stadig ikke gennemskue at smide det ind i koden, så
det ender sq nok med at jeg må genskrive alt selv. Men så ved jeg
da, hvad alt gør!
-M
| |
Nygaard (12-01-2006)
| Kommentar Fra : Nygaard |
Dato : 12-01-06 11:54 |
|
> Så kunne man vel gøre flg.:
>
> Almindeligvis laver man en dobbelt md5:
> $pass = md5( md5($password) );
> Evt. sammen med f.eks. brugenavnet:
> $pass = md5( md5($password).$username );
Jeg har ikke helt hittet ud af hvordan jeg vil sikre det, men overvejer
noget i stil med det du skriver, blot at jeg vil "dobbelt-kryptere"
password, SessionID og en random værdi. Men jeg tror, at ligegyldig hvor
godt man gør det, så kan det altid snydes, da headeren kan ændres... Man kan
bare gøre det mere besværligt...
/Nygaard
| |
M (12-01-2006)
| Kommentar Fra : M |
Dato : 12-01-06 12:31 |
|
>noget i stil med det du skriver, blot at jeg vil "dobbelt-kryptere"
>password, SessionID og en random værdi. Men jeg tror, at ligegyldig hvor
>godt man gør det, så kan det altid snydes, da headeren kan ændres... Man kan
>bare gøre det mere besværligt...
Flg. bruger en random unik "challenge" værdi. Derfor vil det
kyrpterede password aldrig være det samme.
http://pajhome.org.uk/crypt/md5/auth.html
Jeg tror det kan være en fornuftig løsning. Ellers hedder det vel SSL.
-M
| |
|
|