[PHP] Password wegschrijven naar de db *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb een leuk scriptje gemaakt voor een inlogprocedure. Als ik op de site nu een extra gebruiker wil toevoegen, werkt dat ook alleen het probleem is dat ie dat als tekst doet en niet als password. Het passwoord blijft dus in de database ook gewoon leesbaar. Weet iemand dus hoe je een variabele als password naar de db kan sturen??? Dit is mijn script...

PHP:
1
2
3
4
5
6
7
8
if (empty($_POST)) { }
else {
$query = "INSERT INTO gebruiker(loginnaam, wachtwoord) ";
$query .= "VALUES ('";
$query .= $_POST["login"] ."', '" ;
$query .= $_POST["pass"] ."');" ;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

"MD5(".$_POST["pass"].")" gebruiken, ook waneer je wachtwoorden controleert.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit werkt niet echt.....

PHP:
1
2
3
4
5
6
7
8
if (empty($_POST)) { }
else {
$query = "INSERT INTO gebruiker(loginnaam, wachtwoord) ";
$query .= "VALUES ('";
$query .= $_POST["login"] ."', '" ;
$query .= MD5($_POST["pass"]) ."');" ;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 11 June 2003 @ 12:46:
Dit werkt niet echt.....

PHP:
1
2
3
4
5
6
7
8
if (empty($_POST)) { }
else {
$query = "INSERT INTO gebruiker(loginnaam, wachtwoord) ";
$query .= "VALUES ('";
$query .= $_POST["login"] ."', '" ;
$query .= MD5($_POST["pass"]) ."');" ;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}
En wat werkt er dan niet? We hebben geen glazen bol hier!

In je DB komt een MD5 hash te staan i.p.v. het wachtwoord. Zoals Janoz zegt moet je dus ook MD5 gebruiken als je je wachtwoorden controleert.

[ Voor 51% gewijzigd door RobIII op 11-06-2003 12:48 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Dit werkt niet echt.....
WAT werkt er niet echt :?

edit: te laat :P

[ Voor 12% gewijzigd door Bosmonster op 11-06-2003 12:49 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het password wordt op deze manier nog steeds leesbaar weggeschreven. Sorry voor de onvolledige info van net.

Acties:
  • 0 Henk 'm!

Verwijderd

leesbaar als in het originele wachtwoord, of zoiets als al123a9fm14lsfkk31293?

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Professionele website nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

je kunt toch gewoon de mysql password functie gebruiken
insert into table (username,password) values('username', password('password'));

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 11 June 2003 @ 14:17:
je kunt toch gewoon de mysql password functie gebruiken
insert into table (username,password) values('username', password('password'));
daar is die niet voor bedoeld ;)
PASSWORD() encryption is non-reversible. PASSWORD() does not perform password encryption in the same way that Unix passwords are encrypted. See ENCRYPT(). Note: The PASSWORD() function is used by the authentication system in MySQL Server, you should NOT use it in your own applications. For that purpose, use MD5() or SHA1() instead. Also see RFC-2195 for more information about handling passwords and authentication securely in your application

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 11 June 2003 @ 12:50:
Het password wordt op deze manier nog steeds leesbaar weggeschreven. Sorry voor de onvolledige info van net.
Ja, wat wil je dan, je zult die gegevens ergens op moeten slaan natuurlijk :D
Er is natuurlijk wel een verschil tussen "leesbare" passwords en een (md5)hash.

Verder, als je je passwords in md5 in de datbase zet moet je bij het inloggen hetzelfde doen.
Dus dan maak je van het wachtwoord eerst een md5 hash, en die vergelijk je met de hash in de database.

Acties:
  • 0 Henk 'm!

  • Dark Lord
  • Registratie: April 2003
  • Laatst online: 04-07 10:41
ja precies eerst in de database stoppen
$password = md5($_POST['password']);
stop in database

later als je hem eruit haalt weer hetzelfde doen met het ingevoerde wachtwoord en vergelijken met die uit de database heel mischien moet je doen
$password = $_POST['password'];
$password = md5($password);

10100111001


Acties:
  • 0 Henk 'm!

  • Coolhva
  • Registratie: Juni 2003
  • Laatst online: 29-12-2024

Coolhva

Dr. Zero Trust

Ik wil me niet tussen de discussie mengen (doe het toch), maar MD5 is toch alleen van toepassing op Linux machines en niet als je op NT draait b.v.

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Coolhva schreef op 11 juni 2003 @ 15:23:
Ik wil me niet tussen de discussie mengen (doe het toch), maar MD5 is toch alleen van toepassing op Linux machines en niet als je op NT draait b.v.
md5() is een in PHP en MySQL ingebakken functie en dus overal (Linux, NT) te gebruiken. ;)

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Erkens schreef op 11 June 2003 @ 14:22:
[...]

daar is die niet voor bedoeld ;)


[...]
maar het werkt prima, terug vergelijken met select password('password')

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 11 juni 2003 @ 16:32:
[...]


maar het werkt prima, terug vergelijken met select password('password')
tuurlijk, maar verstandig is het niet, aangezien deze functie gebruikt wordt voor de mysql passwords en ik geloof dat die hetzelfde was als md5.
En als mysql opeens een ander agloritme wilt gebruiken hoeven ze enkel de password() te herdefinieren.
Alleen jouw applicaties werken dan niet meer ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Erkens schreef op 11 June 2003 @ 16:37:
[...]

tuurlijk, maar verstandig is het niet, aangezien deze functie gebruikt wordt voor de mysql passwords en ik geloof dat die hetzelfde was als md5.
En als mysql opeens een ander agloritme wilt gebruiken hoeven ze enkel de password() te herdefinieren.
Alleen jouw applicaties werken dan niet meer ;)
duh! ieder voordeel heb zun nadeel

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 11 June 2003 @ 18:11:
[...]


duh! ieder voordeel heb zun nadeel
wat is het voordeel van password() gebruiken als md5() hetzelfde doet en minder typwerk is :?

Acties:
  • 0 Henk 'm!

Verwijderd

Erkens schreef op 11 juni 2003 @ 18:13:
[...]

wat is het voordeel van password() gebruiken als md5() hetzelfde doet en minder typwerk is :?
je hebt dan uitsluitend mysql nodig.
als je bijvoorbeeld een frontend in acces hebt met pass-through queries dan werkt dat gewoon.
md5 is ook prima.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 11 June 2003 @ 18:20:
[...]


je hebt dan uitsluitend mysql nodig.
als je bijvoorbeeld een frontend in acces hebt met pass-through queries dan werkt dat gewoon.
is dat een voordeel?
het staat namelijk niet voor niets in de manual dat je password() niet moet gebruiken lijkt me ;)

Acties:
  • 0 Henk 'm!

Verwijderd

die reactie begrijp ik niet, je wil zeggen dat md5 in een query ook werkt?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 11 juni 2003 @ 22:01:
die reactie begrijp ik niet, je wil zeggen dat md5 in een query ook werkt?
ehm md5() is gewoon een mysql functie, dus ja

Acties:
  • 0 Henk 'm!

  • ReLight
  • Registratie: Augustus 2001
  • Laatst online: 16-09 09:32

ReLight

echo("What Now ? !")

1)Md5 is een standaard, en die zal niet aangepast worden, zo ja dan wordt het md6.
2)MD5() is zowel een functie in php als in mysql

Je kan een mysql tabel veld definieren als md5, als je er dan een string naar schrijft zal deze versleuteld worden ala MD5. DMV het php MD5() op het ingevoerde wachtwoord te vergelijken met de table veld inhoud heb je verificatie.

If (md5($invoer_pw) == $mysql_md5_pw) Then blaat Else die.

Zo moeilijk is die toch nie jongens,...

Mijn zoon & dochter zijn de toekomst, de rest is tijdsvermaak. Home assistant & & Nibe S2125-12/SMO-S40, RMU-s40 & Tado - Volvo C40 ER, SE


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op 11 June 2003 @ 16:32:
maar het werkt prima, terug vergelijken met select password('password')
Totdat MySQL ineens een andere password functie implementeert, de MySQL server wordt geupdate en niemand meer kan inloggen op jouw site.

Of als password niet op elk systeem hetzelfde is.
Of als je een ander DMBS gaat gebruiken.
ReLight schreef op 12 June 2003 @ 00:18:
Je kan een mysql tabel veld definieren als md5, als je er dan een string naar schrijft zal deze versleuteld worden ala MD5.
Hoe define je een field als md5 in MySQL?

Ik kan het niet vinden op http://www.mysql.com/doc/en/CREATE_TABLE.html

[ Voor 47% gewijzigd door Olaf van der Spek op 12-06-2003 00:43 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Hier komt het aspect van database onafhankelijk programmeren weer om de hoek kijken. Als je een klein siteje hebt en je wilt dat zo houden kun je gewoon zo door gaan. Anders is het verstandig een databaseclass te gaan maken en je vrijwel helemaal aan de SQL standaard te houden.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

OlafvdSpek schreef op 12 juni 2003 @ 00:38:
Hoe define je een field als md5 in MySQL?

Ik kan het niet vinden op http://www.mysql.com/doc/en/CREATE_TABLE.html
gewoon een char(32)

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Door wat ReLight zei dacht ik dat je een veld als echt als md5 kon definen en dat de md5 functie automatisch aangeroepen werd als je er iets in schreef.

Maar dat is dus niet zo.

Acties:
  • 0 Henk 'm!

Verwijderd

Even @TS, want de discussie over md5 begint nu toch wel erg oninteressant lang te gaan duren. Je programmeerstyle klopt ook nog voor niet erg...
Beter is het om
PHP:
1
if(!empty($_POST))
te gebruiken, die if bij jou doet namelijk helemaal niks. Ook het opbouwen van je query string kan op zijn minst iets makkelijker.

Je zegt dat je password nog steeds leesbaar is, maar zoals RobinVr al aangaf, leesbaar als het echte password, of leesbaar als 4a1a27296188c273f6733ead4fe4eff6.

@RobinVr, de letters k, l, m en s komen niet voor in een md5, maar dat is vast een typfoutje geweest ;)

Wat is de output als je print $query doet?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 12 June 2003 @ 11:27:
Even @TS, want de discussie over md5 begint nu toch wel erg oninteressant lang te gaan duren. Je programmeerstyle klopt ook nog voor niet erg...
Beter is het om
PHP:
1
if(!empty($_POST))
te gebruiken, die if bij jou doet namelijk helemaal niks.
beter is het om een isset te gebruiken zowel voor de $_POST zelf als voor de array elementen die je nodig hebt.
@RobinVr, de letters k, l, m en s komen niet voor in een md5, maar dat is vast een typfoutje geweest ;)
ik denk eerder dat het even snel wat gerag op het toetsenbord was :P
OlafvdSpek schreef op 12 June 2003 @ 11:12:
[...]

Door wat ReLight zei dacht ik dat je een veld als echt als md5 kon definen en dat de md5 functie automatisch aangeroepen werd als je er iets in schreef.

Maar dat is dus niet zo.
nope dat kan mySQL niet
gewoon in je query zelf md5("password") doen ipv password("password")

Acties:
  • 0 Henk 'm!

Verwijderd

[offtopicraak]
beter is het om een isset te gebruiken zowel voor de $_POST zelf als voor de array elementen die je nodig hebt.
Gebruik zelf altijd if($_SERVER["REQUEST_METHOD"] == "POST")

[/offtopicraak]

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 12 June 2003 @ 11:37:
[offtopicraak]
[...]
Gebruik zelf altijd if($_SERVER["REQUEST_METHOD"] == "POST")

[/offtopicraak]
ik doelde meer op iets anders ;)
PHP:
1
2
3
if (isset($_POST) && isset($_POST["login"]) && isset($_POST["password"])){
   ....
}

Acties:
  • 0 Henk 'm!

  • ReLight
  • Registratie: Augustus 2001
  • Laatst online: 16-09 09:32

ReLight

echo("What Now ? !")

OlafvdSpek schreef op 12 June 2003 @ 11:12:
[...]

Door wat ReLight zei dacht ik dat je een veld als echt als md5 kon definen en dat de md5 functie automatisch aangeroepen werd als je er iets in schreef.

Maar dat is dus niet zo.
O-) Oeps, idd, het is een hulp functie van phpmyadmin om direct entries met MD5 te versleutelen na ingave via phpmyadmin,...nog steeds DE tool.

Mon excuus Olav.

Mijn zoon & dochter zijn de toekomst, de rest is tijdsvermaak. Home assistant & & Nibe S2125-12/SMO-S40, RMU-s40 & Tado - Volvo C40 ER, SE


Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Verwijderd schreef op 12 June 2003 @ 11:37:
[offtopicraak]
[...]
Gebruik zelf altijd if($_SERVER["REQUEST_METHOD"] == "POST")

[/offtopicraak]
Of je gaat met $_REQUEST werken ;)

[/off-topic]

Acties:
  • 0 Henk 'm!

  • _Sunnyboy_
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:20

_Sunnyboy_

Mooooooooooooooooo!

OlafvdSpek schreef op 12 June 2003 @ 00:38:
Hoe define je een field als md5 in MySQL?

Ik kan het niet vinden op http://www.mysql.com/doc/en/CREATE_TABLE.html
Je definieert een veld niet als MD5 in MySQL.
Je creeërt gewoon een CHAR van 32 tekens, aangezien een MD5 hash een 32 tekens lange HEXIDIMAAL nummer is. Vervolgens sla je er je wachtwoord in op met behulp van de functie MD5 en als je wil controleren of het wachtwoord goed is dan vergelijk je de md5 hash van het ingevoerde wachtwoord met de data in de database.

Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life


Acties:
  • 0 Henk 'm!

  • Gody
  • Registratie: November 2001
  • Laatst online: 07:39
When does the hurting stop? Md5 gebruiken, klaar!

Zoeken op tweakers en anders op de php website. Geloof me het is mij ook zelfstandig gelukt met die md5 hashes (alleen met de php help) dus waarom moet dit topic nou zo groot worden?

Acties:
  • 0 Henk 'm!

  • Dricus
  • Registratie: Februari 2002
  • Laatst online: 13:41

Dricus

ils sont fous, ces tweakers

Verwijderd schreef op 11 juni 2003 @ 12:46:
Dit werkt niet echt.....
PHP:
1
2
3
4
5
6
7
8
if (empty($_POST)) { }
else {
$query = "INSERT INTO gebruiker(loginnaam, wachtwoord) ";
$query .= "VALUES ('";
$query .= $_POST["login"] ."', '" ;
$query .= MD5($_POST["pass"]) ."');" ;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
}
Maak van
PHP:
1
2
$query .= $_POST["login"] ."', '";
$query .= MD5($_POST["pass"]) ."');";
eens
PHP:
1
2
$query .= $_POST["login"] ."', ";
$query .= "MD5('" .$_POST["pass"] ."'));";
MD5 is namelijk een MySQL functie, niet een PHP functie :)

Zooooo, draadje sluiten maar :+

[ Voor 61% gewijzigd door Dricus op 13-06-2003 16:52 ]

Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

MrHuge schreef op 13 juni 2003 @ 16:49:
[...]
Maak van
PHP:
1
2
$query .= $_POST["login"] ."', '";
$query .= MD5($_POST["pass"]) ."');";
eens
PHP:
1
2
$query .= $_POST["login"] ."', ";
$query .= "MD5('" .$_POST["pass"] ."'));";
MD5 is namelijk een MySQL functie, niet een PHP functie :)

Zooooo, draadje sluiten maar :+
PHP:
1
$query.=md5($_POST["pass"])

md5() is tevens een php-functie. ;)

Sundown Circus


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

MrHuge schreef op 13 June 2003 @ 16:49:
[...]
Maak van
PHP:
1
2
$query .= $_POST["login"] ."', '";
$query .= MD5($_POST["pass"]) ."');";
eens
PHP:
1
2
$query .= $_POST["login"] ."', ";
$query .= "MD5('" .$_POST["pass"] ."'));";
MD5 is namelijk een MySQL functie, niet een PHP functie :)

Zooooo, draadje sluiten maar :+
wrong, md5() is ook een php functie ;)
http://nl3.php.net/md5

Acties:
  • 0 Henk 'm!

Verwijderd

Inderdaad, sinds wanneer is md5 geen php functie meer :+

Acties:
  • 0 Henk 'm!

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 17-09 19:09

LauPro

Prof Mierenneuke®

Ff voor de BTW: maak van dat wachtwoord in php al een MD5-hash, dan kan men áls er dataverkeer getapt wordt iig geen plain passwords leechen.

Ik vraag me überhaupt ook af waarom SQL MD5() kent, imo moet je dat (bovenstaande reden) niet pas als het bij db is gaan encrypten, de kans dat de DB-server wordt gecrackt is kleiner dan dat er verkeer afgeluisterd wordt...

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

LauPro schreef op 13 June 2003 @ 23:28:
Ff voor de BTW: maak van dat wachtwoord in php al een MD5-hash, dan kan men áls er dataverkeer getapt wordt iig geen plain passwords leechen.

Ik vraag me überhaupt ook af waarom SQL MD5() kent, imo moet je dat (bovenstaande reden) niet pas als het bij db is gaan encrypten, de kans dat de DB-serevr wordt gecrackt is kleiner dan dat er verkeer afgeluisterd wordt...
mja, vaak (lees meestal) is db verkeer of lokaal of via een lan verbinding, dus om af te tappen moet je in dat netwerkje zitten :)

Acties:
  • 0 Henk 'm!

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 10:25
LauPro schreef op 13 juni 2003 @ 23:28:
Ff voor de BTW: maak van dat wachtwoord in php al een MD5-hash, dan kan men áls er dataverkeer getapt wordt iig geen plain passwords leechen.
(dit snap je wel denk ik, dus ik denk dat ikzelf het doel van je post even niet zo goed snap)
$_POST["pass"] is nog gewoon plain-text, dus aftappen kan iig gewoon nog wel tussen client/browser en server/php. Tussen server en db-server (als daar een verbinding tussen ligt, dus niet dezelfde server is) alleen niet meer.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Eegee schreef op 13 juni 2003 @ 23:42:
[...]
(dit snap je wel denk ik, dus ik denk dat ikzelf het doel van je post even niet zo goed snap)
$_POST["pass"] is nog gewoon plain-text, dus aftappen kan iig gewoon nog wel tussen client/browser en server/php. Tussen server en db-server (als daar een verbinding tussen ligt, dus niet dezelfde server is) alleen niet meer.
mja, en dus zou je clientside moeten encrypten enzo, kan wel, maar dan kan je beter een https neerzetten dan met javascript te gaan prutsen imo

Acties:
  • 0 Henk 'm!

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 17-09 19:09

LauPro

Prof Mierenneuke®

Erkens schreef op 13 June 2003 @ 23:35:
[...]
mja, vaak (lees meestal) is db verkeer of lokaal of via een lan verbinding, dus om af te tappen moet je in dat netwerkje zitten :)
Het is makkelijker om DB-verkeer te screenen dan HT-verkeer (veel groter). Daarnaast is het niet altijd zo dat de db server lokaal staat, met het oog op de veiligheid zou ik dus toch maar ff PHP de boel laten hashen ;).

De aanleiding van mijn post was dus omdat ik de indruk kreeg dat het niet uitmaakte of je nu $query = "'".MD5($_POST["pass"])."'" of $query = "MD5('".$_POST["pass"]."')" gebruikt.

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Acties:
  • 0 Henk 'm!

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:56
ehm ut is wel erg onveilig om je vars zo te gebruiken.
haal er is een htmlentities overheen

Strava | Runkeeper | Endomondo (mijn leikr uploads)


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
cybermans schreef op 14 June 2003 @ 11:06:
ehm ut is wel erg onveilig om je vars zo te gebruiken.
haal er is een htmlentities overheen
In queries zou je normaal AddSlashes gebruiken, maar omdat je md5 gebruikt is dat niet nodig.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
LauPro schreef op 14 June 2003 @ 02:19:
[...]
Het is makkelijker om DB-verkeer te screenen dan HT-verkeer (veel groter). Daarnaast is het niet altijd zo dat de db server lokaal staat, met het oog op de veiligheid zou ik dus toch maar ff PHP de boel laten hashen ;).
Is het niet veiliger om de DB link dan over SSH te laten lopen?

Acties:
  • 0 Henk 'm!

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 17-09 19:09

LauPro

Prof Mierenneuke®

OlafvdSpek schreef op 14 June 2003 @ 11:31:
[...]
Is het niet veiliger om de DB link dan over SSH te laten lopen?
Natuurlijk, maar gebeurt dat in de praktijk? Daarnaast wordt dat wachtwoord waarschijnlijk nog een keertje via de mail gestuurd, nou die e-mail is plain ook niet beveiligd dus dan heeft die beveiliging nog geen zin. Maar beter iets dan niets natuurlijk :).

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
LauPro schreef op 14 juni 2003 @ 18:51:
[...]
Natuurlijk, maar gebeurt dat in de praktijk? Daarnaast wordt dat wachtwoord waarschijnlijk nog een keertje via de mail gestuurd, nou die e-mail is plain ook niet beveiligd dus dan heeft die beveiliging nog geen zin. Maar beter iets dan niets natuurlijk :).
Die mail wordt toch met PGP geencrypt? ;->
Maar even serieus, waarom zou je per wachtwoord een email versturen?
Als je een email adres wilt valideren, verstuur dan een activatie code.

Als ik connect naar de MySQL server van mijn host gebeurd dat trouwens wel met SSH.

Acties:
  • 0 Henk 'm!

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 17-09 19:09

LauPro

Prof Mierenneuke®

OlafvdSpek schreef op 14 juni 2003 @ 19:53:
[...]
Die mail wordt toch met PGP geencrypt? ;->
Maar even serieus, waarom zou je per wachtwoord een email versturen?
Als je een email adres wilt valideren, verstuur dan een activatie code.

Als ik connect naar de MySQL server van mijn host gebeurd dat trouwens wel met SSH.
Geëncrypte e-mail is nog niet het geval bij het gros van de mensen, evenals sftp wat imo toch wel is moet komen, maarja dat snappen de meeste providers nog niet geloof ik.

Dan stuur je een activatiecode, maar ook die kan je aftappen. Natuurlijk is het het beste om helemaal geen wachtwoord te e-mailen, en bijv direct op de site te laten zien, maar nogmaals als je die link dus via een e-mail geeft dan geef je dus beveiligd dat wachtwoord aan de hacker/cracker :P. Feitelijk kan je dus onder de huidige omstandigheden geen 100% waterdicht systeem maken helaas.

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Acties:
  • 0 Henk 'm!

  • riotrick
  • Registratie: Mei 2002
  • Laatst online: 08-07 18:48
Erkens schreef op 11 June 2003 @ 18:21:
[...]

is dat een voordeel?
het staat namelijk niet voor niets in de manual dat je password() niet moet gebruiken lijkt me ;)
Dat komt o.a. omdat de encryptie van password() erg slecht is en redelijk envoudig te kraken is. Voor het mysql authenticatie systeem maakt dit echter niet heel veel uit, aangezien de tabel waarin die hashes worden weggeschreven alleen maar leesbaar is door de mysql root user. Andere users op de server kunnen die hashes dus niet eens lezen. Wil je echter passwords veilig op slaan in je eigen applicatie dan kan je beter een md5 hash gebruiken.

Even een voorbeeldje met hash die met de MySQL password() functie is aangemaakt:

rick@kameel:~$ time ./mysql-crack 428567f408994404
Hash: 428567f408994404
Trying length 3
Trying length 4
Trying length 5
Trying length 6
Found pass: secret

real 0m4.199s
user 0m4.100s
sys 0m0.020s

Dit is overigens wel met de password() functie uit mysql 3.23. De password() functie zou in de 4.x verbeterd zijn.

Facebook :: Twitter :: PSN


Acties:
  • 0 Henk 'm!

Verwijderd

Het wachtwoord wordt iig in plaintext naar de server gestuurd (als je geen ssl verbinding gebruikt). Eerste stap is dus een ssl verbinding te gebruiken. Als een emailadres gecontroleerd moet worden, moet dat dan niet aanhankelijk aan een wachtwoord zijn (volgens mij klopt dat zin niet echt... ik hoop dat je weet wat ik bedoel). En als het echt veilig moet, moet je dus geen wachtwoord laten veranderen per email.

http://www.derkeiler.com/...Wizards/2002-12/1273.html - SHA1 is wat veiliger dan MD5 (MD5 blijkt een paar kleine problemen te hebben) - maar MD5 is sneller.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
LauPro schreef op 15 June 2003 @ 02:07:
[...]
Geëncrypte e-mail is nog niet het geval bij het gros van de mensen, evenals sftp wat imo toch wel is moet komen, maarja dat snappen de meeste providers nog niet geloof ik.

Dan stuur je een activatiecode, maar ook die kan je aftappen. Natuurlijk is het het beste om helemaal geen wachtwoord te e-mailen, en bijv direct op de site te laten zien, maar nogmaals als je die link dus via een e-mail geeft dan geef je dus beveiligd dat wachtwoord aan de hacker/cracker :P. Feitelijk kan je dus onder de huidige omstandigheden geen 100% waterdicht systeem maken helaas.
De hacker kan het account dan wel activeren, maar omdat het password niet in de mail staat kan hij door het onderscheppen van die mail niet bij het account zelf.

Met SSL is het toch waterdicht te maken?

Acties:
  • 0 Henk 'm!

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:56
als je genoeg tijd, power en kennis hebt is alles te kraken. SSL is voor normaal gebruik veilig zat. Maar voor het plannen van een terroristische actie zou ik wat beters zoeken :+ . Bij veel encryptie systemen zit vaak een achterdeurtje ingebouwt zodat organisaties als de NSA het mee kunnen lezen.

Strava | Runkeeper | Endomondo (mijn leikr uploads)


Acties:
  • 0 Henk 'm!

  • Dricus
  • Registratie: Februari 2002
  • Laatst online: 13:41

Dricus

ils sont fous, ces tweakers

RedRose schreef op 13 June 2003 @ 16:56:
[...]
PHP:
1
$query.=md5($_POST["pass"])

md5() is tevens een php-functie. ;)
Ah, ok :)
Ik ken MySQL beter dan PHP, dus... :+

Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...

Pagina: 1